Organizations using Java face a license fee hike after Oracle's introduction of subscription pricing for Java SE.

Analyst Forrester has previously written that the move to what Oracle calls the Java SE Universal Subscription promises to eliminate the burden of tracking installations. However, as Forrester points out, the cost may be steep.

“You'll need to identify all Java installations and, if possible, the associated agreement. You'll want to be sure to enforce oversight on new Java installations. Now, as much as or possibly more than ever, pay attention and maintain good Oracle software asset management practices. Doing so could save you from a big unbudgeted licensing fee surprise,” the analyst firm said.

IT departments need to use IT asset management tools to check that the Java software running in their organizations is licensed correctly.

In 2023, Gartner reported that in the 12-month period leading up to 31 December 2022, 52% of the Oracle software compliance and audit-related interactions focused on Oracle Java. This is an ongoing concern because Java is almost 30 years old and is embedded in applications across enterprise IT.

Where is Java used?

As part of a recent study looking at Java, observability platform provider New Relic reported that Oracle was the most popular provider of the Java Developer's Kit (JDK) in 2020. It estimated that Oracle accounted for almost three-quarters of the Java market.

However, it noted that there has been a noticeable movement away from Oracle Java since then, following on from the introduction of a more restrictive licensing, which came into force with Oracle Java 11.

While Oracle Java 17 is regarded as more open than Java 11, data from observability tools company New Relic shows that there has been a steady decline year over year (YoY) since then. While New Relic's data shows the Oracle JDK was the most deployed version of Java in 2022 (34%), it slipped to 29% in 2023, and as of 2024, it now accounts for 21% of deployed Java. According to New Relic, this represents a 28% decrease in one year.

While there are plenty of reasons why organizations have moved off Java, resulting in less Oracle JDK deployments, the cost of software licensing is regarded by many as a major contributing factor.

What are the differences between Oracle Java licenses?

Oracle offers three different licenses for Java plus a host of Java products requiring Oracle licenses, such as Java SE and Oracle Java SDK – the software development toolkit for building Java applications. There is also the JRE, the Java runtime environment. Oracle offers OpenJDK, an open source version, which is released under the open source GNU General Public License v2, which further complicates Java audits.

All the different permutations of Java products an organization may have deployed complicates IT asset management, especially given that Java has been used in organizations for almost 30 years.

Discussing the challenges, Simon Ritter, author of OpenJDK migration for dummiesAzul special edition, says: “For the Oracle JDK, there are three different licenses.”

The first of these is the Oracle binary code license (BCL), which is what Oracle inherited when it acquired Sun Microsystems. According to Ritter, this is basically aimed at embedded use and provides free use. “There's no requirement to buy a support subscription,” he says.

Oracle states that Java SE versions released prior to 16 April 2019 are the only versions licensed under the BCL license. It is no longer used for new releases.

The second license is the Oracle Technology Network license agreement, which requires a Java subscription for enterprise use. This can be extremely costly since Oracle bases the licensing fee on the number of people employed in the organization.

“The whole licensing thing is really quite complicated,” Ritter says, “because Oracle then introduced a third license, which is called the no-fee terms and conditions license (NFTC).” Ritter says this allows organizations to use Java for free for internal business applications. However, “the downside is that it only applies for three years”, Ritter warns.

On its website, Oracle states that the NFTC covers six-month releases of Java 22 and later. Releases of Java 21 are covered up to 2026. Java 18 is supported under the NFTC up to January 2024, while the free support is only available on Java 17 if organizations are on Oracle JDK releases prior to version 17.0.13.

This new third option, according to Ritter, means one year after the next long-term support release of Oracle JDK, the license will revert to the Oracle Technology Network License agreement, which requires customers to buy a Java SE subscription.

“It is complicated, but essentially means that if you want to avoid having to buy the subscription, you have to update Java every two years, when Oracle brings out a new long-term support release,” says Ritter.

Why stick with Java?

Java 21 was released in September 2023. New Relic notes that this version offers notable improvements in virtual threads and upgraded libraries, as well as advancements to syntax. According to New Relic, these enhancements put Java on par with many more modern languages.

There is also the fact that the Java runtime environment provides just-in-time compilation of source code. This means that optimization occurs only when the Java application is run. The advantage of this approach is that a Java application can easily take advantage of the latest advances in processor technology.

The latest data collected by New Relic, for its 2024 State of the Java ecosystem report, found that in the six months after the release of Java 21, 1.4% of applications monitored by New Relic were using it. This represents a 380% increase in adoption compared to when Java 17 was introduced.

New Relic noted that the adoption rate of Java 17 far exceeded what the developer world saw when Java 11 was introduced. About a tenth (9%) of applications were using Java 17 in production in 2023, and now 35% of applications are using Java 17, representing a nearly 300% growth rate in one year. According to New Relic, it took years for Java 11 to reach this level.

What are the alternatives to Oracle Java?

Azul is a company that sells an alternative to the Oracle JDKOthers include JDKs from Amazon, Microsoft, Red Hat and SAP among others.

These tend to offer what is known as Technology Compatibility Kit (TCK)-certified, which guarantees Java SE compliance, as Ritter explains: “If you move from Oracle to a different OpenJDK distribution, your application is going to run in exactly the same way. as before.”

Leave a Reply

Your email address will not be published. Required fields are marked *