“If people jump on Java 9 now, they will probably have to follow the train through 18.3 and 18.9”
Oracle has proposed to increase the release cadence of Java SE to every six months and indicated they will begin distributing builds of OpenJDK under the GPLv2+CPE license. However, the six-month cadence will impact more than just Oracle’s plans. JAXenter editor Gabriela Motroc talked with Daniel Bryant about all this and more.
“These changes might impact the Java ecosystem in ways we cannot imagine”
Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle, proposed in early September that the Java SE Platform and the JDK go from “the historical feature-driven release model to a strict, time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years.”
In retrospect, a two-year release cadence is simply too slow. To achieve a constant cadence we must ship feature releases at a more rapid rate. Deferring a feature from one release to the next should be a tactical decision with minor inconveniences rather than a strategic decision with major consequences.
That’s fast enough to minimize the pain of waiting for the next train yet slow enough that we can still deliver each release at a high level of quality, preserving Java’s key long-term values of compatibility, reliability, and thoughtful evolution.
What’s the difference between the new model and the old one? According to Mark Reinhold, the difference is that “there will be many more opportunities to deliver innovation. The six-month feature releases will be smaller than the multi-year feature releases of the past, and therefore easier to adopt. Six-month feature releases will also reduce the pressure to backport new features to older releases, since the next feature release will never be more than six months away.”
Java SE 9 and beyond
Donald Smith’s JAX London keynote about the current status of Java SE 9 was followed by a panel with Daniel Bryant, Stephen Colebourne, Peter Lawrey and Martijn Verburg. The panelists talked about the six-month cadence, Java 9, the need to use modules (spoiler alert: no one will be forced to use modules) and more.
The six-month cadence will impact more than just Oracle’s plans. “[The 6-month cadence] is going to split quite clearly the type of company you are,” Stephen Colebourne remarked. The change shows that Oracle acknowledges the fact that there’s a shift happening right now, Donald responded.
There are a lot of questions that have not been answered but the conversation is ongoing. After the panel, we talked with Daniel Bryant about the six-month cadence, the new version numbering scheme, the difference between Java 9 and Java 8, Oracle’s new “target” and more.
Daniel Bryant is a software developer and CTO at SpectoLabs. He currently specialises in enabling continuous delivery within organisations through the identification of value streams, creation of build pipelines, and implementation of effective testing strategies. Daniel’s current technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms, and microservice implementations. He also contributes to several open source projects, writes for InfoQ, O’Reilly, and Voxxed, and regularly presents at international conferences such as OSCON, QCon and JavaOne.