Oracle Java SE and OpenJDK

Richard Olumide Ojo
5 min readNov 21, 2023

--

With the introduction in early 2023 of the new Oracle Java SE Universal price lists, let’s review what options are available to Oracle Java users. To understand the changes Oracle has made to Java SE Subscription pricing, read this blog by my colleague Johnny Cree and follow our Medium channel for all things Oracle.

So what options are available to you? Let’s take a look at some of them;

  1. Pay for Oracle Java SE — this option is as it says on the tin. Pay for Oracle Java SE. There’s obviously some nuances to this and what you pay but it’s relatively straightforward, if not expensive.
  2. Use Oracle Java for free — Oracle JDK 8 (earlier than update 211) and Oracle JDK 17 are free for commercial use; even earlier versions are also often (but not always) zero cost but beware that usage of commercial features on any version or any non-public release has a potential cost consideration.
  3. Use OpenJDK as a free alternative.
  4. Revert to other distributions of JDK that are either free or at a lower cost in comparison to what Oracle are charging for Oracle Java SE.

In this article we will be focusing on option 3 & 4 above which is to use OpenJDK as a free alternative.

Photo by: Chris Barbalis on Unsplash

What is OpenJDK?

OpenJDK is a free and open-source version of the Java Development Kit implementation of the Java SE Platform. It is important to note that OpenJDK is sponsored by Oracle and will (as Oracle does), also provide new feature releases every six months. The OpenJDK project is licensed under the GNU General Public License. The terms of use that govern OpenJDK can be found here.

What are the differences between OpenJDK and Oracle Java?

  • Oracle delivers new Long Term Support released for Java every 2 years (as of Java 17) with development releases for Oracle and OpenJDK every 6 months while OpenJDK will be released every six months.
  • Oracle JDK was previously licensed under the Oracle Binary Code License Agreement (BCLA) whereas OpenJDK is licensed under the GNU GPL version 2 as stated above.
  • There are no real technical differences because Oracle JDK is based on OpenJDK; this is more the case for later versions (Java 11 onwards where there is much less variance between releases from different vendors). There are however differences in performance as Oracle’s JDK can have more responsiveness and higher JVM performance. Due to the frequency in which OpenJDK provides releases, there is a potential for instability at the initial stage of new releases, however, these instabilities are also resolved quickly due to the frequency in release and inputs from the community.
  • There are differences in the development of Oracle JDK in comparison to OpenJDK. Oracle JDK is developed by Oracle whereas OpenJDK has input from Oracle, OpenJDK, Java Community and now other corporations like Red Hat, IBM, SAP, Apple and Azul Systems are getting involved in the development of OpenJDK.
  • Due to changes in Oracle’s JDK it is important to note that Oracle JDK and OpenJDK builds are essentially the same from Java 11 onwards.

Version Comparison of Oracle Java and Open JDK

It is then important to review the versions of Oracle Java that have been released and how they compare to OpenJDK versions. First let’s look at the versions of Oracle Java that were ‘free’ (careful consideration of the BCLA is required).

  • Java is free to download and to use for the Public Available Updates but support is not included i.e.
  • No possibility to open support tickets or call the hotline
  • No immediate patches i.e. to repair mission critical patches quickly
  • No access to patches or security fixes for older Java versions
  • No access to monitor or management tools
  • All the items listed above were not available for the below ‘free’ versions of Oracle Java (the below represent the latest public ‘free’ updates of each Java version):
  • Up to Java 6 update 45
  • Up to Java 7 update 80
  • Up to Java 8 update 202
  • You may, however, not use the Commercial Features for running Programs, Java applets or applications in your internal business operations or for any commercial or production purpose. If you want to use the Commercial Features, then a separate license from Oracle is required.

Now that we know what Oracle Java versions are potentially ‘free’, let’s look at the OpenJDK versions that are available and which version is recommended for use.

Which Version of JDK Should I Use? | whichjdk.com

Red Hat OpenJDK

An alternative to using OpenJDK that isn’t free, includes support and isn’t as expensive as Oracle Java SE subscription, is Red Hat’s OpenJDK offering.

Red Hat offers their implementation of OpenJDK as a free and open-source implementation of the Java Platform, Standard Edition (Java SE). Red Hat delivers quarterly JRE and JDK updates per year for the OpenJDK 8 and 11 distributions via rpm and zip files. OpenJDK is now supported on Windows and RHEL helping users standardise on a single Java platform across desktop, datacentre and hybrid cloud.

Red Hat has provided a basic list of differences between OpenJDK and Oracle JDK here. A Red Hat account is required to view the full list, however I have provided the details in Appendix 1 (at the end of this blog) as well. To download Red Hat OpenJDK versions, see here.

Red Hat offers various flavours of Java with its subscriptions. This includes the distribution of multiple JVM/JDK offerings to its customers, as well as the support of the JBoss Middleware portfolio on multiple JVM/JDK offerings.

Other Versions of Java that are free

Final Thoughts

There are alternatives to purchasing Oracle Java SE subscriptions which in itself continues a trend we are seeing with software vendors moving away from perpetual license-based metrics to a subscription-based licensing metric. This means for large organisations the cost of Oracle Java SE will remain high in perpetuity unless Oracle Java SE is migrated away from completely. One instance is sufficient to incur the cost.

We are also aware that the cost and effort required to move away from Oracle Java will be significant, however we at Version 1 can assist you in developing a roadmap that will work for you. There are viable options that should be explored to find what works best for your organisation.

Go to our website where you will find more information related to the recent changes in our Java mega blog or contact us with any questions.

--

--

Richard Olumide Ojo

I am an accomplished Software and Hardware Asset Management Specialist with almost a decade of knowledge and experience within IT Asset Management.