Java Champions untangle the Java releases and support confusion
The confusion over the rights to use Oracle JDK vs Oracle’s OpenJDK builds vs OpenJDK builds from other providers has been hovering over us for quite some time but no more. A number of Java Champions joined forces to untangle the Java releases and support confusion; there’s a shorter version if you only want the conclusion but we advise you to read the longer version too.
At last year’s Java One, Mark Cavage announced that Oracle will open source Oracle JDK’s proprietary features. Shortly before the conference, Donald Smith, Sr Director of Product Management in the Java Platform Group at Oracle wrote in a blog post that the company’s intent is that “within a few releases there should be no technical differences between OpenJDK builds and Oracle JDK binaries.”
The confusion over the rights to use Oracle JDK vs Oracle’s OpenJDK builds vs OpenJDK builds from other providers has been hovering over us for too long. Although Donald Smith tried to shed some light on the differences in a recent blog post, confusion about the other choices, as well as the costs involved has not been cleared up. Not entirely, at least.
The Java Champions community of independent Java leaders and experts have created a Google Doc in which they answer all the questions and untangle all the confusion; the document has a shorter version and a longer one but we advise you not to skip the longer version. You can find the document on Medium, too.
— Java Champions (@Java_Champions) September 17, 2018
Note: We will explore this topic in-depth at JAX London.
Is Java still free? Java Champions say “yes”
The changes to Oracle JDK distribution and support have been met with confusion and even disapproval and each person has their own version of where Java is headed and who provides what support.
The Java Champions have created a document which summarizes all the changes Oracle is making, as well as the options Java SE users can choose from.
The OpenJDK community creates and maintains the (GPLv2+CE) open-source Reference Implementation (RI) of the Java SE Specification as governed by the Java Community Process (JCP) and defined through an umbrella Java Specification Request (JSR) for each feature release.
Although the most common provider of Java SE implementations is Oracle JDK, there are others out there such as Azul, Eclipse, IBM, Red Hat, Oracle, SAP, and the list goes on. In short, you can still get the Oracle JDK, Oracle’s OpenJDK builds and OpenJDK by other providers for free.
As you might know already, public updates for Java 8 will remain available for individual, personal use through at least the end of 2020 but business users won’t be that lucky — the ‘public updates’ tap will be turned off in January 2019. “However, since Java SE 9, Oracle is also providing Oracle’s OpenJDK builds which are free for commercial use, and there are free OpenJDK builds from other providers like AdoptOpenJDK, Azul, IBM, Red Hat, Linux distros et al.”
How to get a JDK: Options
If you want to continue using Java 8 (and, according to our poll, a lot of people are still using Java 8) you can either
- continue to use Oracle JDK 8 indefinitely but without updates,
- go onto a paid support plan or use a Java SE 8 / OpenJDK 8 binary distribution from another provider (i.e. Linux distros, AdoptOpenJDK, Azul,IBM, Oracle, Red Hat, and others) or
- if you’re not using Oracle JDK 8, your current Java SE 8 / OpenJDK 8 provider will provide updates and/or paid support plans to choose from.
Since Oracle JDK is changing from Java 11 onwards, you should know that Oracle provides their (OpenJDK based) JDK via
- Oracle OpenJDK builds — Under the existing Open Source GPLv2+CE license, and
- Oracle JDK — Under a paid commercial license (but free for development use), for those who do not wish to use the GPLv2+CE, or who are using an Oracle JDK with an Oracle product or service.
If you wish to choose the first option, you need to remember that the company will provide updates for two quarterly updates and then transition users to the next version, every six months (this includes LTS versions). Don’t worry though; “You can also get Java SE / OpenJDK binary distributions from a variety of other providers. This includes updates for a variable length of time depending on whether it’s an LTS version or not.”
Conclusion: You can either use the Oracle OpenJDK build under the Open Source (GPLv2+CE) license and be ready to follow the next six-month release cadence or choose to use an OpenJDK binary distribution from an alternative OpenJDK provider.
According to the Oracle Java SE Support Roadmap, the company plans to offer full paid support for Oracle JDK 8 until at least 2025 and Oracle JDK 11 until at least 2026. Furthermore, Azul, IBM, Red Hat and other providers are offering a wide range of paid support options for Java SE / OpenJDK 8 and 11 binaries.