Oracle JDK Is Free Again, But OpenJDK Still Recommended
November 15, 2021 Alex Woodie
Oracle has reversed course on a controversial decision to charge companies a licensing fee to use its Oracle Java Development Kit (JDK) and has once again make the Java technology free, starting with the recently released Oracle JDK version 17. However, the move hasn’t changed IBM’s recommendations regarding which Java package IBM i shops use to run Access Client Solutions (ACS) software
Oracle angered the Java-using community back in 2018 when it decided to stop distributing the Oracle JDK version 11 for free and charge companies a fee for commercial use (starting at $30 per desktop per year, and $300 per processor for server deployments). At the same time, the tech giant restricted access to Java Standard Edition (SE) version 8, which it also distributed under an Oracle Technology Network (OTN) license.
The change in licensing term included this Oracle threat: “You may not use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application.” Anybody who questioned Oracle’s resolve probably hasn’t been on the pointy end of a software audit by the Redwood City, California company.
Oracle’s stick was accompanied by a carrot. Organizations that wanted to continue using a free version of the JDK were encouraged to adopt OpenJDK, the open source version of the JDK that Sun Microsystems launched in 2006. The software, which is licensed via GPL and supported by Oracle, IBM, and other members of the Java community, has been the official reference implementation of Java SE since version 7.
Adopting OpenJDK and the associated runtimes was the course of action that IBM recommended for its IBM i community back in 2018, and it’s still the recommended action. However, Oracle’s move resulted in widespread pushback, as surveys showed that many organizations preferred using the Oracle JDK.
Big Red eventually realized the error of its ways and is moving to make things right. In a September 14 blog post, Oracle’s Senior Director of Product Management Donald Smith wrote:
“Providing Oracle OpenJDK builds under the GPL was highly welcomed, but feedback from developers, academia and enterprises was that they wanted the trusted, rock-solid Oracle JDK under an unambiguously free terms license, too. Oracle appreciates the feedback from the developer ecosystem and are pleased to announce that as of Java 17 we are delivering on exactly that request.”
Instead of the OTN license, Oracle is offering the Oracle JDK via a new license called simply the “Oracle No-Fee Terms and Conditions” (NFTC) license. This license, Oracle says, “permits free use for all users, even commercial and production use. Redistribution is permitted as long as it is not for a fee.” There are some restrictions (naturally), which you can read all about at www.oracle.com/downloads/licenses/no-fee-license.html.
Starting with Oracle JDK version 17, Oracle has pledged to support the free version of Oracle JDK for a full year following the release of the Long Term Support (LTS) release. Oracle JDK 17, which Oracle also announced on September 14, is the latest LTS. It will be supported at no charge for three years, as Oracle has committed to shipping the next LTS in September 23 with the deliver of Java 21. Oracle also announced that it’s shortening the LTS release cadence from three years to two years.
IBM has made changes to its guidance on which versions of the desktop Java runtime and the Java SDK its IBM i customers should use. Currently, ACS requires Java 8 or higher, and IBM recommends that customers run on Java 11.
There are several Java packages based on OpenJDK, and IBM’s preferred flavor now is the IBM Semeru Runtimes, which it launched in August and which is the IBM OpenJ9 JVM based on OpenJDK.
IBM reconsidered its Java recommendation in light of Oracle’s move, but it hasn’t changed its stance, according to Jesse Gorzinski, the IBM business architect for open source software on IBM i, who has responsibility for Java on the platform.
“Naturally, the Oracle licensing changes have an impact on the decision,” Gorzinski tells IT Jungle, “but IBM remains steadfastly committed to the OpenJ9 codebase”
IBM’s preferred runtime for ACS is IBM Semeru Runtimes, which it dubs a “no-cost, high-performance Java runtime.” IBM Semeru Runtimes is available in two different editions with different licensing: Open Edition and Certified Edition. “Clients can choose which is the best fit, and optionally get commercial support from IBM,” Gorzinski says.
Alternatively, IBM recommends IBM i shops to use Eclipse Temurin, which includes OpenJDK with the Hotspot JVM. IBM will also sell IBM i shops support packages for Eclipse Temurin.