Some time back Oracle announced significant changes in the way Java SE versions will be released and the public support changes which is provided by Oracle. Also, there are changes in the way new Java SE releases are named. This POV highlights those points so that applications and developers may have good understanding on these aspects.
Before proceeding, let’s understand why there is a need to upgrade to latest version of any software which we are using. In every upgraded version of software, some new features or some modifications to existing features or some security patches of latest identified vulnerabilities are included. If we don’t migrate our applications to latest version of software, we will not only lose the opportunity to use new or modified features but our applications will become more vulnerable as it will not have the security patches to safeguard our application towards new security threats. So, the software vendors keep providing software patches time to time to meet the above needs.
Now, if there is a scenario where software vendors are not providing the s/w release support in the form of security patches to public for free, then we will have to pay if we are using the software. There is another scenario that s/w vendors are providing patches to public for a limited time, then what should be the approach. This is what we will understand in the POV in terms of Java SE releases by Oracle.
Earlier releases of JDK were based on the features they were containing. Sometimes there was a delay in time to market as Oracle had to wait to get the features available before it can be bundled in that release and time to market for such releases used to get extended. So, Oracle has now moved from feature-driven model to schedule based model. In the schedule-based model the Java SE JDK release-roadmap is already created and the releases will be based on these timelines only by bundling features that are available by then.
In the Schedule-based model there are two main types of releases – feature Release – these are the releases which are planned to be released every six months and Oracle will provide the public support during these 6 months. The six monthly releases are planned every March and September in a year.
There is another important release which is Long Term Support (LTS) release. These releases will be available every three years.
There is change in the way releases are named as well. Earlier the release names were incremental like JDK 1.5, JDK 1.6 etc. But since now the releases are time bound so the naming conventions of the releases will be like year.month, ie, 18.3 if JDK is released on March 2018 and so on.
The projects and developers who are upgrading latest version of Java every six months, there is no impact on them as Oracle will provide support for each new release for the next six months.
But there are many application that use Java and they don’t want to upgrade Java every six months, so they should plan to upgrade to Long Term Supported version of Java if they are not looking for frequent changes.
There are many third party vendors who provide LTS. So, there are few things applications should plan for –
1. Considering migrating their application to Long Term supported version of JDK which is JDK 11 (JDK 18.9) as of date.
2. Look out for the vendor options that can provide LTS for Oracle JDK.
Though Oracle has announced changes in the way JDK will be released and public support of it, but if we understand the impact and plan the upgrade to either to six-monthly release or Long-Term-Supported version of Java, our applications will be protected.