Oracle JDK – Changes to the Release Cycle
A lot has recently changed in the Java landscape. While Java 9 warrants design considerations many legacy apps will stumble upon, its adoption is an essential step to make. Mind you, both Java 9 and 10 are only short-term releases. Java 11 starts a new era of a much shorter release cadence and arouses questions around licensing, updates and support.
Prior to releasing Java 9 Oracle made announcements about changes to come. In summary, we are looking at the following:
- Shortened release cadence from about three years to six months. This is a significant change meaning new releases will be based on time, rather than feature-driven.
- There will be two binaries tied to different licensing: Oracle JDK and OpenJDK. Oracle continues to work in close-knit with other OpenJDK committers and aims to eliminate functional differences between the two binaries.
- Oracle JDK will remain as a long-term support (LTS) offering intended for commercial purposes.
Starting with Java 9, there are two new releases a year observed in March and September, see the table below. I have added Java 7 and 8, just to underpin the change in the release frequency and impact on free public updates.
Java Version | Released | End of Free Public Updates |
7 | July 2011 | April 2015 |
8 | March 2014 | January 2019* |
9 | September 2017 | March 2018 |
10 | March 2018 | September 2018 |
11 | September 2018 | starts a regular six-month cycle |
* December 2020 for personal use
Starting with Java 11, Oracle provides two binaries tied to different licensing:
- Oracle JDK under Oracle Binary Code License Agreement for Java SE
- Oracle OpenJDK under GPLv2 with Classpath Exception
The ambition is to have only cosmetic / minor differences between the two flavours. Quote from the announcement:
“Ideally, we would simply refer to all Oracle JDK builds as the “Oracle JDK,” either under the GPL or the commercial license depending on your situation.”
For Java 11 and later releases, Oracle OpenJDK (or any flavour of OpenJDK) should be interchangeable with Oracle JDK for apps that adhere to Java SE standard and are based on a TCK approved build.
When it comes to long-term support, it is important to realise that Oracle will not maintain LTS for OpenJDK. Oracle committed to take lead on the first six months of OpenJDK LTS, providing updates and producing Oracle OpenJDK builds. Other OpenJDK providers will take over and continue with LTS code line afterwards.