01 Mar Do you suddenly need a payed subscription for using (Oracle) Java?
Last updated: October 12th 2020.
IMPORTANT: information provided is purely informative and has no legal value
Update September 2nd 2019: inform your JAVA users they should not just install the latest update, which can easily be done by pressing “Install” or “Next” after the following window appears:
It shows the user a separate license is needed to keep on using this version. However, users will probably not read this and just continue upgrading. That shows how easy it is to get a compliance issue now.
Last few months, there was a lot to do about Java and the fact that future usage would only be allowed via subscription. But what is it all about? And do you really need to buy a subscription for Java?
A bit of history
From the beginning of Java, feature releases were driven by one or more significant features. In a lot of cases, those features also determined the release date. If the feature was not ready, the release would also be postponed.
Until a certain point in time, this way of working was acceptable. However, times were changing and so developers needed to be faster and more innovative. That’s why the Java community decided to switch from feature-driven releases to time-driven releases (somewhere around 2012). Initially, they planned to have a new feature release every 2 years. If there would be a feature which was not ready after 2 years, it would not be implemented and just be further developed for the next release. Theoretically, this was all fine, but also the releases were postponed due to important security issues etc… And again, postponed features were only implemented 2 years later, which was simply too late.
That’s why since Java 9, following time-based model is in place now:
- New feature releases every 6 months (which is also a new version: 9, 10, 11, …)
- Update releases each quarter (for Oracle Java, also hotfixes may be released when necessary, apart from the quarter update releases)
- A version with Long Term Support (LTS) every 3 years, so customers do not need to stress 2 times a year to perform a Java upgrade again
This will keep Java an interesting language for companies, supporting the latest development innovations.
Should we pay to use Java starting from January 2019?
In January 2019, Oracle released the last free public available patch and update of Oracle Java 8: Java SE 8u202. Starting from this point, you’ll not receive any free publicly available patches and updates for Java 8 anymore. In addition: changes of the Java Release Cadence which will impact the deployment of Java binaries on your desktops and server environments. You can, however, still use Oracle Java 8 for free and without any further changes (within the definitions defined in the “Oracle Technology Network License Agreement for Oracle Java SE” and “Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX” agreements, so make sure Java usage is within the “General Purpose Computing” definition of Oracle if you want to avoid compliance issues). However, it’s not allowed to install any updates and/or hotfixes anymore so you’re Java environment will become insecure in the future, and the “Java SE commercial features” may not be used (we’ll talk about this again later).
Free usage for Oracle Java is not allowed for all versions: for the new versions of Java (11 and higher), production use of OracleJDK is not free anymore and will need to be licensed. Important notice: Oracle will continue to publish updates for Oracle Java 8 via java.com (or via auto-update) for personal users until December 2020 (definition of personal users can be found on https://www.oracle.com/technetwork/java/java-se-support-roadmap.html). In some cases, the Oracle Java SE software running on desktops will be updated automatically, depending on the settings. Just make sure this is not the case for all of your desktops (by checking the update settings and by informing your users (also see the update of September 2nd above))! Those updates may never be downloaded/installed by commercial users (a Java SE subscription is required in this case, and updates/hotfixes should be downloaded via My Oracle Support)!
Therefore Oracle announced a new subscription model for Oracle Java SE. This new subscription model will permit the use, updates & patches, support and use of the “Java SE commercial features” from Java SE 8 and other versions where relevant. “Java SE commercial features” include after-the-fact incident analysis (Java Flight Controller & Java Mission Control), greater and easier control in managing Java version compatibility and security updates for desktops (Advanced Management Console), monitoring features, etc… All features which are really an added value to ensure maximum uptime and security of your Java environment.
So, should you pay to use Java now?
- The last free public available patch and update (8 update 202) of Oracle Java 8 can be used for free and without any further changes (within the definitions defined in the “Oracle Technology Network License Agreement for Oracle Java SE” and “Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX” agreements, so make sure Java usage is within the “General Purpose Computing” definition of Oracle if you want to avoid compliance issues)
- For Oracle Java 7 the latest public available patch was “7 update 80” in April 2015. So this version should not have been updated if there was no subscription in place. You can still use Oracle Java 7 update 80 without any subscription, but you should really ask yourself if it’s still secure enough in your environment?
- Starting from Oracle Java 11 production use of OracleJDK is not free anymore and will need to be licensed.
However, don’t forget that without subscription you’ll not have the rights to any commercial features downloaded and you’ll not have access to Oracle Premier Support and any updates.
And last but not least: if you use any Oracle product that requires Java SE (and you have an active support contract for this Oracle product), you have a restricted use license for Oracle Java SE runtime with, and for the sole purpose of running that Oracle product. In this case, the best is to contact your Oracle Account manager or us to check your compliancy for the usage of Java SE.
What are your options for future usage of Oracle Java?
With all the changes described above, you as a customer can choose to do one of the following:
- You can choose to stay where you are and keep using your current version (lower than version 11). No additional work will be needed (upgrades etc…), but it’s highly likely a dated version that you are running which means older insecure version. Are you willing to take this risk? Besides that, you can also not contact support in case of issues with Java.
- You can choose to switch to the free OpenJDK instead of Oracle JDK. Every 6 months the new feature release of OpenJDK can be installed to stay up to date with the latest bug fixes and features. Downside is that you’ll not have the advantage to use the “Java SE commercial features”, you do not have Oracle support and you need to upgrade to the newest version (OpenJDK has no Long Term Support (LTS) for certain versions) if you want to stay up to date and keep pace with the latest security baseline. This last one can have a huge impact on the programs used, as they’ll always need to be able to run on the latest Java version. IMPORTANT: also test the performance of your application when switching from Oracle JDK to OpenJDK, as in some cases the application run slower in OpenJDK.
- You can take the Oracle Java SE subscription and use one of the Long Term Support (LTS) releases (currently Oracle Java 7, 8 and Oracle Java 11 are LTS releases). This way you can run your applications in a safe and stable way, without the need to upgrade every 6 months and keep pace with the latest security baseline. FYI: Java 8 is still supported until 2030 (it was supported until March 2025, but Oracle told this has now been extended until 2030), operationally it’s easiest to take the subscription and stay on version 8. Oracle will keep providing patches to make sure you’re secure and safe. Monin can make you an offer for the Java SE subscription for your environment if needed.
How do I check my version
To check which version you are running on your server and/or desktop, you can easily use the following command on Windows, macOS and Linux: java -version
The version number will look like: java version “1.7.0_55”. In this case, this means not you’re running version 1, but you are running version 7 update 55.
More information on how to find your Java version in Windows or mac: https://www.java.com/en/download/help/version_manual.xml.
It’s difficult to give any advice just on our website, as this should be discussed case by case.
However, as a best practice and for important production environments, the use of Oracle Java SE with the corresponding subscription could be a good idea, as it’ll provide support and important updates too (next to the 6-monthly upgrades for which you would need to migrate your entire java environment with the OpenJDK model). Good to know: starting from version Java SE 11, OracleJDK is free to use for test and development environments.
Apart from that and for each Java version: make sure your Java usage is within the “General Purpose Computing” definition of Oracle, just to make sure it is really free to use in your case. If your Java usage is not within this definition, you’ll have a compliance issue if no subscription is in place. Read more in the “Oracle Technology Network License Agreement for Oracle Java SE” and “Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX” agreements.
Also have a look at following webinar (20 minutes): Focusing on Java from a Business Standpoint
Still having doubts or questions about the usage of Java in your company and what you should do? Or just need some more clarification about the new Oracle Java SE subscription? Just ask us for more information or help about Oracle Java. As an Oracle Partner: we have the knowledge and we have direct contact with the right people to inform you about the Oracle Java SE subscription whenever needed.
Some interesting links:
- Oracle Java SE Subscription FAQ: https://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq-4891443.html
- Oracle Java SE Subscription datasheet: https://www.oracle.com/technetwork/java/javaseproducts/javasesubscription-data-sheet-4891969.pdf
- Article by Mark Reinhold (Chief Architect of the Java Platform Group at Oracle): https://mreinhold.org/blog/forward-faster
- Oracle Java SE support roadmap: https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
- Oracle Java SE Subscription homepage: https://www.oracle.com/java/java-se-subscription.html
- Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX: https://www.oracle.com/downloads/licenses/binary-code-license.html
- Oracle Technology Network License Agreement for Oracle Java SE: https://www.oracle.com/downloads/licenses/javase-license1.html