Java 11 was released on September 25, 2018 and with it came changes to the release and support model that has lead to some noise within the Java community. The two most notable concerns are the end of public updates for Java 8 and the uncertainty of whether users have the right to use Oracle JDK without paying for commercial support.
Although it’s true that with the new changes, Oracle plans to focus on only the latest Java version and will offer commercial support for its JDK, it’s also true that we — as Java and Liferay developers — will still be able to use Java and the JDK freely.
The Changes in the Release Cadence and Model
In 2017, it was announced that Java planned to move faster with a new feature release every six months, in March and in September. That meant that after Java 9 was released in September 2017, Java 10 was going to be released in March 2018 and Java 11 on September 2018, which just happened.
Oracle also introduced the concept of Long Time Support (LTS) versions, which are versions that are marked to be maintained for more than six months. This mark is not a compromise from Oracle, but a recommendation for the benefit of the industry and community.
In addition, the differences between Oracle JDK and OpenJDK have been eliminated. In fact, Oracle is leading the work on the OpenJDK LTS codebase during the first six months after the release. This makes OpenJDK the new default for users.
After that, Oracle will provide updates for their Oracle JDK only to customers that pay for a commercial license. But Oracle will also allow and encourage other vendors (like IBM, RedHat, Azul or the community-based AdoptOpenJDK) to work on the OpenJDK LTS codebase to keep providing updates.
Here’s what all this adds up to:
- Oracle will provide free updates for every Java version for six months after release
- Other vendors and community initiatives will provide free updates for LTS release for a longer period
Will Java 8 Still Be Freely Available?
Java 8 was a LTS release, so it is replaced by Java 11, which is also marked LTS. That means that Oracle has announced that OpenJDK 8 will end its official support for commercial use in January 2019.
But the good news is that Red Hat has already applied to lead the development and updates for OpenJDK 8 after that date, and other companies like Amazon, Azul Systems or IBM have also announced that they will support Red Hat.
So we will actually have free Java 8 updates at least until September 2023, based on OpenJDK.
Although Oracle is focusing their effort on the six month releases, there is still support for free updates for the LTS versions of Java, first provided by Oracle and, after that, maintained and updated by other vendors which will offer free updates and, in some cases, also will offer commercial support.
If you want to dig a little more into the details of all these changes, there is a comprehensive document called Java is Still Free, written and updated by the community of Java Champions, that has many further details and includes an updated table with the plan for support and updates, which so far, is as follows:
As for Liferay, we will also monitor these changes and our plans to support the different versions of Java in order to update our Liferay JDK compatibility support accordingly.