An Overview of JDK Vendors
Still not sure which version of the JDK is right for your project? Don't worry — we've got you covered.
Join the DZone community and get the full member experience.Join For Free
Since Oracle JDK 8 is going through the End of Public Updates process and Oracle has changed the Terms and Conditions for using newer Oracle JDK versions, the attention is shifting towards other JDK vendors. In this post, we are giving an overview of some vendors offering JDK binaries, which version of the JDK they provide, and their support plan.
What Is NOT Free?
First, to clarify, you can continue using Oracle JDK 8 indefinitely, but Oracle will not provide public updates for commercial use after January 2019. In reality, ‘nothing someone says before the word but really counts.’ The updates that include security patches and bugfixes could be very important. Fortunately, there are several solutions to this problem. One option is to upgrade to a newer JDK version offered by Oracle itself. Oracle JDK 11 is the newest Long Term Support (LTS) version. It is free for developing, testing, prototyping and demonstrating, but is not to be used in production. Unfortunately, the keyword ‘but’ comes here again. However, Oracle contributed all the JDK features to OpenJDK 11. Therefore, Oracle JDK 11 and Oracle OpenJDK 11 are now interchangeable. Since Oracle OpenJDK is provided under the GPL + CE license, everyone is free to use it commercially. Here is the catch: with the new release cadence, every six months a new feature version of OpenJDK will be released, and Oracle is only going to provide quarterly updates for the latest version of Oracle OpenJDK. Therefore, if you want to stay up to date, every six months you have to upgrade the latest OpenJDK available.
Are There Other Options?
There are many other vendors offering JDK binaries. The majority of them are based on the OpenJDK source hosted in a Mercurial repository. The Java Community Process (JCP) provides a Technology Compatibility Kit (TCK) to certify whether a JDK build meets the Java standards. Once a build passes the TCK, it can be referred to as ‘Java SE compatible.’ The certification process requires a commercial license from Oracle.
The following is a list of JDK vendors with some basic information about their release schedule, TCK compatibility, and supported platforms. The sorting does not represent any significance.
AdoptOpenJDK offers OpenJDK binaries either with HotSpot JVM or with OpenJ9 JVM. The former is the JVM from the OpenJDK community and it is the most used JVM (also in Oracle JDK). The latter is a JVM developed by IBM and is now contributed to the Eclipse community.
AdoptOpenJDK is still working with Oracle to reach an agreement to use Java SE TCK. Nevertheless, they claim that their binaries undergo extensive testing from all available OpenJDK test suites.
AdoptOpenJDK release roadmap follows the schedule of OpenJDK, i.e. a new feature release every six months and maintenance/security updates every three months. Additionally, every three years, one feature release is designated as LTS.
Amazon Correto is a certified OpenJDK distribution provided by Amazon under GPL + CE license (which means free to use in production). Correto 8 can be used as a substitute for OpenJDK 8 and will be quarterly updated by Amazon until at least June 2023. Correto 11, corresponding to OpenJDK 11, is recently released in preview mode and will receive quarterly updates until at least August 2024. Correto is available for popular operating systems such as Linux, macOS, and Windows.
SapMachine is an SAP-supported version of OpenJDK offered under GPL + CE license. Currently, SapMachine 11 is an LTS release, which has passed the TCK for Ubuntu, macOS, Windows, SLES, and RHEL. The goal of the SapMachine team is to keep SapMachine as close as possible to OpenJDK. SAP is also one of the biggest external contributors to the OpenJDK project.
Red Had provides OpenJDK builds for RHEL and Windows. The updates and support for Red Hat OpenJDK require a subscription. The subscription for RHEL includes also a subscription for Red Hat OpenJDK. Windows systems used with Red Hat Middleware subscription include a Red Hat OpenJDK subscription, too. Otherwise, an additional subscription for OpenJDK in windows is required.
Zulu is a certified JDK build by Azul Systems. Zulu is available for Linux, Windows, macOS, Solaris, and Docker. Zulu is free to download and use but the security updates and bug fixes are only provided under Zulu Enterprise subscription. The same Java versions designated as LTS by Oracle and Open JDK community are designated as LTS by Zulu, too. Zulu Enterprise offers access to LTS updates for 8 years.
IBM produces JDK SE 8 binaries with IBM J9 VM for AIX, Linux®, and z/OS platforms. The J9 virtual machine has been contributed to the Eclipse community as OpenJ9 VM since September 2017. If you are interested in using J9 VM with newer Java versions, IBM recommends JDK binaries from AdoptOpenJDK. IBM will continue to release security updates for JDK 8 till April 2022.
We compiled some information about JDK binaries offered by different vendors. The list of the vendors we mentioned here is by no means complete. Everybody is free to fetch the OpenJDK sources and build her/his own JDK binaries. A short summary is given in the following table.
|Available for download||Free in production||Free Updates after Jan 2019||Available for download||Free in production||Free updates||TCK|
|Oracle Open JDK||Yes||Yes||No||Yes (not LTS)||Yes||Yes (until JDK 12)||Yes|
|Red Hat OpenJDK||
Yes (For RHEL and Windows)
Yes (For RHEL and Windows)
RHEL / Windows Middleware
With Zulu Enterprise
With Zulu Enterprise
Published at DZone with permission of Ardit Ymeri. See the original article here.
Opinions expressed by DZone contributors are their own.