O! Java, Does Oracle put us in trouble for improving balance sheet?
I never realised that I was opening a Pandora’s box when I faced this alert on installing Java SE Development Kit 8.

Release model — Current (Past) vs Future (Now)
Oracle had made historical changes to Java SE release train. Let us take a look what the current release train is. Oracle used to release a new Java SE major version every 2 or 3 years, similar to the one shown here.

Oracle wanted to change the current release train to the one shown below.

On a first look that seems to be intimidating for not just the Java developer, but also infrastructure or the operations guy.
Let us interpret what the new release train means:
Separation of duty: Started with Java SE 9, it have two flavours from Oracle, one is Oracle JDK, which will primarily be for commercial and support customers, while second called OpenJDK for those who do not want commercial support or enterprise management tools.
Shorter releases: Started with Java SE 9, releases will be every 6 months compare to 2 or 3 year releases in the past.
Identity change: Started with Java SE 10 (18.3), in March 2018, Oracle JDK includes the year and month of the release as “YY.M”.
End of Public updates: Public auto updates were a relief for protecting the applications from JVM security vulnerabilities. September 2018 is the last month for Java SE 10 (18.3) public update, which means no more public updates for any Java SE versions, either in Oracle JDK or OpenJDK. Any further updates will be available only to Customers and accessible through My Oracle Support and via corporate auto update.

Downloads vanish sooner: Since every 3 years there will be a Long Term Support (LTS) version, the non-LTS versions of Oracle JDK will not be available after 6 months from the date of stable release. You will be asked to use the current relevant version. Support roadmap have clear dates now. Thank God, Java SE 8 has been kept as LTS and not brought under the new release plan rules.

Impacts, Impacts and Impacts
Being on the release train is a big commitment. Given the number of external tools/dependencies to consider, it is a bold choice to use Java SE 9 or 10, which are non-LTS versions.
In addition, Oracle is limiting its official binaries to 64-bit Linux, SPARC, Windows and Mac. If you want runtimes for other operating systems, you will need to compile your own or find them elsewhere. The code is easy to find thanks to the official OpenJDK site. Linux distributions also typically package Java runtimes for their users.
Java’s new release train is more agile but this comes at a price. More of the burden of keeping applications patched and up to date passes to developers and package maintainers. Oracle is reducing its own maintenance burden and also, perhaps, trying to push more customers towards paid support.
That said, most developers will treat releases like Java SE 9 and 10 as software for testing and experimentation rather than production, which makes the pace of the new release cycle look more like the old — though you still need to get your head around Oracle’s new approach to public distribution.
Let me know how as a developer, operations or infrastructure support, you will be impacted in the comments section below.
