Nomad_Soul - Fotolia
For more than 20 years, according to Mark Reinhold, "the Java SE Platform and the JDK have evolved in large, irregular, and somewhat unpredictable steps." But in a blog post on Sept. 6, Reinhold, chief architect of the Java platform group at Oracle, proposed changes to the way future Java Development Kit releases will happen.
Historically, every new Java release has been feature-driven. Each release proposes milestones and Java release dates, but those dates tend to get pushed back if there are issues incorporating certain features. Security issues and the incorporation of Project Lambda delayed the version 8 release, and ongoing disagreements about Project Jigsaw will mean a delay in the version 9 Java release.
Java release cynicism
Given a history of having release dates slip by, some sarcastically said the most impressive feature of Java 7 was the fact it was released on time. With features driving the release, dates become somewhat malleable. But all of that is about to change.
"Taking inspiration from the release models used by other platforms and by various operating-system distributions, I propose that after Java 9 we adopt 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," Reinhold wrote is his Moving Java Forward Faster blog.
The Java release train
Gil TeneCTO at Azul Systems
While this approach is new to Java, it's a fairly common release management system in other areas of the software development world. Known as a release train, the idea is the release train always leaves on time, regardless of whether or not a planned feature is onboard. If the feature makes it, that's great. If not, it will have to wait for the next train in another six months. So the release always leaves on time, whether or not planned functionality is included.
So how feasible is regularly scheduling a Java release train? "I do think there's a challenge here," said Gil Tene, CTO at Azul Systems Inc., based in Sunnyvale, Calif. "But I think the biggest part of the challenge is sticking to the plan. It would require the discipline to say, 'We are not holding back a release for any feature.' Then, you can stick to it."
The next long-term support Java release?
As a whole, the community seems to be receiving the proposed changes to the Java release cycle positively, but there are concerns -- one of which pertains to whether or not Java 9 will be a long-term support release. That puts organizations looking to go into production with a Java 9 JDK in a bit of a predicament.
To learn more about the announcement, along with some of the potential challenges organizations might face if the Java release train becomes the new normal, listen to the accompanying podcast in which Cameron McKenzie speaks with Azul's Gil Tene about the effect a six-month Java release cycle will have on organizations.
Gil Tene talks about JVM performance on a cloud-based system
Why deprecated methods will still be there in the next Java release
Why the Java browser plug-in will disappear with the JDK 9 Java release