[SOLVED] Do we now need a license to bundle the JRE?

I’ve just found out that the licensing for Java has changed from 8u211 onwards (including 9, 10, 11, etc.). My fear is that as I’m bundling the JRE with a game that I’m then selling for money, that that’s commercial use of the JRE. So, I’ve been going through the old and new licenses, trying to figure it out whether I’m now going to have to pay for a license from Oracle if I want to bundle versions later than 8u202.

The old license (BCL) specifically mentions bundling:

Oracle grants you a non­‑exclusive, non­‑transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs.

However, it doesn’t specify the particular usage that this applies to. Presumably the implication is that if it doesn’t specify any particular usages, then it applies to all usages, including bundling the JRE with a game that you then sell.

The new license (OTN) doesn’t mention bundling. However, the bit that’s probably most relevant is this:

Oracle grants You a nonexclusive, nontransferable, limited license to use the Programs, subject to the restrictions stated in this Agreement and Program Documentation, only for:

(i) Personal Use,
(ii) Development Use,
(iii) Oracle Approved Product Use, and/or
(iv) Oracle Cloud Infrastructure Use.

By specifically mentioning personal use and development use, and not mentioning commercial use, is the implication that if you’re using the JRE to earn money, that that’s not covered by this license, and so you need to buy a license?

However, another way to look at it is that even though we’re bundling the JRE, our customers will be using it for their personal use, and we’re using the JDK for development use. Viewed this way, all uses are covered by the OTN, which means we can continue to bundle the JRE with our games without having to pay anything to Oracle.

Is this how everyone here who bundles the JRE with their game understands the new license?

1 Like

Wow, really didnt knew about it. i never thought Oracle will do any problems when bundling JRE.

i hope it is like you say. Anyway will need investigate this.

Use openjdk. It’s the same.
I personally use zulu (that is just a packaged version of openjdk) https://www.azul.com/downloads/zulu-community/

I used Zulu for spoxel and it worked pretty well.

What was your original reason for using OpenJDK instead of Oracle JDK? Was it precisely to avoid these possible licensing issues?

From Java SE General FAQs:

Where can I get information on license?
Java SE releases prior to JDK 11 are available under the Binary Code License (BCL) with no additional cost for its use. Starting with JDK 11 Oracle offers Java SE binaries under either the Oracle Java SE OTN License or under GPL license (as described below). Java SE commercial binaries are provided under separate but similar licensing terms. Product License and Terms, Read Me files and more are available on the Oracle Technology Network.
Starting with Java SE 9 Oracle also offers OpenJDK binaries under the GNU General Public License (GPL) for users who want the latest Java SE version and do not require long term support.

As you can see, Oracle recommends OpenJDK, which is GPL and can be bundled with commercial projects.

The licensed versions are really only for companies that want official Oracle support - if you want the “privilege” of using Oracle’s officially supported release, you’ve got to pay for commercial use. If you don’t care about that, use one of the OpenJDK builds (which are essentially identical anyway).

1 Like

The SDK had one bug, which only appeared with oracle’s jvm. When switching to openJDK (we had no chance there), it disappeared :smiley:

1 Like

I think that the JRE bundled don’t fall under this license, because it don’t have the java.exe etc, but only a set of libraries linked to your executable.

However, it’s true that you shouldn’t release a full JRE, unless you want your user to accept licenses in order to play your game.

Just want to say that I have switched to Zulu OpenJDK, and all seems to be working fine. Thanks for your help, guys. :+1:

2 Likes