Accelerating the JDK release cadence

Stephen Colebourne scolebourne at joda.org
Wed Sep 6 15:12:46 UTC 2017


I'm glad to see this happen. In general it seems fine (although I'm
still looking forward to OpenJDK on git ;-)

My only comment is the proposed version numbers. IMO, year-based
versions don't work well, who wants Java to be like Windows 95?

I'd suggest a simple incrementing number - like Chrome - is quite
sufficient for the problem - 10, 11, 12, 13

Stephen


On 6 September 2017 at 15:49,  <mark.reinhold at oracle.com> wrote:
> Over on my blog today I've argued that Java needs to move forward faster.
> To achieve that I've proposed that the Java SE Platform and the JDK shift
> 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:
>
>   https://mreinhold.org/blog/forward-faster
>
> Here are some initial thoughts on how we might implement this proposal
> here in the OpenJDK Community.  Comments and questions about both the
> proposal and its implementation are welcome on this list.
>
> Rather than create a brand new "JDK $N" Release Project every six months,
> I suggest that we create a single long-running "JDK" Release Project to
> host the main-line code base and produce the feature releases.  Similarly,
> let's create a single long-running "JDK Updates" Project to produce the
> update releases, for the most recent feature release and the current
> long-term support release.
>
> Two long-running Projects will save some administrative overhead, and also
> eliminate the confusion that regularly arises when someone is a Committer
> to JDK $N but not JDK $N + 1.  (We could consider just one long-running
> Project, but two makes more sense since since the two types of releases
> will have different policies, content, schedules, and leadership.)
>
> The new JDK Project will run a bit differently than the past "JDK $N"
> Projects:
>
>   - The main development line will always be open but fixes, enhancements,
>     and features will be merged only when they're nearly finished.  The
>     main line will be Feature Complete [1] at all times.
>
>   - We'll fork the main line into a release-stabilization branch three
>     months before the GA date of the next feature release.  That branch
>     will immediately be in Rampdown Phase 1 [2], enter Rampdown Phase 2
>     [3] a month later, and then enter the Release Candidate phase [4] a
>     month after that.  (Whether the branch is another repository or an
>     actual Mercurial branch is a detail we can figure out later.)
>
>   - We'll continue to use the JEP Process [5] for new features and other
>     significant changes.  The bar to target a JEP to a specific release
>     will, however, be higher since the work must be Feature Complete in
>     order to go in.  Owners of large or risky features will be strongly
>     encouraged to split such features up into smaller and safer parts, to
>     integrate earlier in the release cycle, and to publish separate lines
>     of early-access builds prior to integration.
>
> The JDK Updates Project will run in much the same way as the past "JDK $N"
> Updates Projects, though update releases will be strictly limited to fixes
> of security issues, regressions, and bugs in newer features.
>
> Related to this proposal, we at Oracle intend to make a few changes in
> what we do:
>
>   - Starting with JDK 9 we'll ship OpenJDK builds under the GPL [6], to
>     make it easier for developers to deploy Java applications to cloud
>     environments.  We'll initially publish OpenJDK builds for Linux/x64,
>     followed later by builds for macOS/x64 and Windows/x64.
>
>   - We'll continue to ship proprietary "Oracle JDK" builds, which include
>     "commercial features" [7] such as Java Flight Recorder and Mission
>     Control [8], under a click-through binary-code license [9].  Oracle
>     will continue to offer paid support for these builds.
>
>   - After JDK 9 we'll open-source the commercial features in order to
>     make the OpenJDK builds more attractive to developers and to reduce
>     the differences between those builds and the Oracle JDK.  This will
>     take some time, but the ultimate goal is to make OpenJDK and Oracle
>     JDK builds completely interchangeable.
>
>   - Finally, for the long term we'll work with other OpenJDK contributors
>     to establish an open build-and-test infrastructure.  This will make
>     it easier to publish early-access builds for features in development,
>     and eventually make it possible for the OpenJDK Community itself to
>     publish authoritative builds of the JDK.
>
> So ... that's a lot of proposed change, and there are (obviously!) many
> details to work out.  Comments?  Questions?
>
> - Mark
>
>
> [1] http://openjdk.java.net/projects/jdk8/milestones#Feature_Complete
> [2] http://openjdk.java.net/projects/jdk9/rdp-1
> [3] http://openjdk.java.net/projects/jdk9/rdp-2
> [4] http://openjdk.java.net/projects/jdk9/rc
> [5] http://openjdk.java.net/jeps/0
> [6] http://openjdk.java.net/legal/gplv2+ce.html
> [7] http://www.oracle.com/technetwork/java/javase/terms/products/index.html
> [8] http://www.oracle.com/technetwork/java/javaseproducts/mission-control/index.html
> [9] http://www.oracle.com/technetwork/java/javase/terms/license/index.html


More information about the discuss mailing list