Free support for Oracle Java 17 will end in September 2024, and anyone who wants to continue using the version commercially will have to take out a paid subscription. But this can be expensive. What alternatives are there?
When Java 17 was released in September 2021, many companies switched to the new version. It established itself on the market faster than any of its predecessors and has enjoyed great popularity ever since. This is probably also because Java 17 impresses with new features and improvements and is supported by a wide range of tools, libraries and frameworks. Java 17 is also a Long Term Support version (LTS), for which Oracle offers five years of paid premium support and a further three years of extended support. This qualifies it as a stable solution for enterprise use. The highlight, however, was that customers could previously use Oracle JDK 17 free of charge under the NTFC license (No Fee Terms & Conditions). But this will soon come to an end.
Oracle’s license policy has its pitfalls
In recent years, Oracle has repeatedly adjusted its license metrics. While Java usage used to be generally free of charge, this changed abruptly in January 2019. Oracle introduced the OTNLA license (Oracle Technology Network License Agreement), which only allowed free use under very limited conditions: in the private sector, for development and testing or in applications approved by Oracle and the Oracle Cloud. Companies that wanted to use JDK 8 Update 211 and all subsequent updates commercially were forced to take out a paid Java SE Universal Subscription. This was followed by a supposed turnaround in September 2021: With Java 17, Oracle introduced the NFTC license, which made free use less restrictive – at least for a short time. The official FAQs on JDK licensing state: “LTS versions such as JDK 17 receive updates under this license for one year after the release of the subsequent LTS version.” Since JDK 21 (the next LTS version) was released in September 2023, the deadline is September 2024. The NFTC license will then automatically become an OTNLA license – with all restrictions.
Beware of exploding costs
If you want to continue to provide Java 17 with updates to ensure maximum security in production environments, you have to take out a paid subscription. Many companies are not even aware of the costs they will incur as a result. This is because Oracle does not charge license fees according to usage, but according to the number of employees. According to the Java SE Universal Global Price List, this is “…all of your full-time, part-time and temporary employees, as well as all full-time, part-time and temporary employees of your agents, contractors, outsourcers and consultants who support your internal business processes.” For example, a company with 10,000 employees using Oracle JDK 17 for three applications in the production operating environment will have to pay license costs of USD 990,000 to Oracle in the future.
These Java 17 alternatives are available
So what can you do? If you want to avoid an expensive subscription, you have two options: Either switch to the next Oracle LTS version or switch to an OpenJDK Java distribution from another provider. The right decision needs to be carefully considered. The next LTS version is JDK 21, which is currently still covered by the NFTC license and therefore does not require a Java SE Universal Subscription. However, companies will have to migrate to JDK 25 in two years at the latest because JDK 21 will be transferred to the OTNLA license. Apart from this, existing applications may not work as expected under JDK 21. Until now, Java has always been well backwards compatible, but since JDK 9, not only have new functions been added, but older ones have also been removed. This can lead to problems.
Switching to an OpenJDK Java distribution from another provider is usually easier than expected, provided the solution has been tested with the Technology Compatibility Kit (TCK). Java distributions that have passed all TCK tests for a specific version are functionally equivalent to the corresponding Oracle Java SE version. They can therefore be exchanged for each other without any problems. Alternative OpenJDK distributions are available both free of charge and with paid support subscriptions, which companies can choose as required.
Conclusion
In order to put their future Java usage on a secure footing, companies should carefully consider what Oracle’s licensing policy means for them. If you want to stay with Oracle Java, from September you will either have to take out an expensive subscription or switch versions every two years. This is because Oracle wants to release new LTS versions in this cycle, so that the predecessor will move from the NFTC to the OTNLA license. Those who switch to a TCK-tested Java distribution, on the other hand, can use their Java version in the long term and migrate without any problems. With a fee-based support model such as Azul Platform Core, companies gain security and convenience and generally save at least 70 percent compared to Oracle.