Saturday, August 18, 2018

JDK 11: Release Candidate Update and OpenJDK JDK 11 LTS

JDK 11 is scheduled to be released for General Availability on Tuesday, 25 September 2018. A 16 August 2018 Mark Reinhold message on the OpenJDK jdk-dev mailing list announced that "JDK 11 is now in the Release Candidate Phase." However, Reinhold provided updated details in a 17 August 2018 message on that same mailing list in which he stated, "We tagged the first Release Candidate build this morning (jdk-11+27), but since there are some open P1 bugs (http://j.mp/jdk-rc) it's not actually a Release Candidate." Reinhold's last message concluded, "Stay tuned ..."

The early access builds are available under "JDK 11 Early-Access Builds," but the most current version available there as of this writing (18 August 2018) is Build 26 (2018/8/9).

The "JDK 11 Release Candidate Bugs" link provided by Reinhold currently shows two P1 bugs written against JDK 11: JDK-8207317 ["SSLEngine negotiation fail Exception behavior changed from fail-fast to fail-lazy"] and JDK-8209637 ["[s390x] Interpreter doesn't call result handler after native calls"].

"Java 11" is significant from a JDK and Java SE perspective. The "Oracle Java SE Support Roadmap" states:

Beginning with Oracle Java SE 11 (18.9 LTS), the Oracle JDK will continue to be available royalty-free for development, testing, prototyping or demonstrating purposes. As announced in September 2017, with the OracleJDK and builds of Oracle OpenJDK being interchangeable for releases of Java SE 11 and later, the Oracle JDK will primarily be for commercial and support customers and OpenJDK builds from Oracle are for those who do not want commercial support or enterprise management tools.

The statement quoted above tells us that the OpenJDK and Oracle JDK are intended to be completely interchangeable as of Java SE 11. We also see that, as of Java SE 11, Oracle JDK distributions are intended for Oracle's commercial and support customers and the OpenJDK distributions are for those who do not want Oracle customer support or Oracle enterprise management tools. However, Oracle JDKs can still be used without payment for development, testing, prototyping, and demonstrations.

The "Oracle Java SE Support Roadmap" provides further details on how long Oracle support will be provided for the versions of Oracle JDK. The "Long-Term-Support (LTS) releases" are released every three years and Oracle Java SE 11 is the first such LTS version. Once Oracle Java SE 11 is released, Oracle will not provide commercial support for non-LTS Oracle SE 10.

"Oracle Java SE Support Roadmap" spells out details related to Oracle JDKs, but does not provide the same level of details related to the OpenJDK JDKs. In a message on the OpenJDK jdk-dev mailing list, Stephen Colebourne asks, "What does LTS mean for OpenJDK?" In that message, Colebourne presents some interesting questions and provides links to background references. The replies to his message provide some new details on OpenJDK JDK 11 support.

One of the responses to Colebourne's message is from Mark Reinhold. Reinhold writes that Oracle will provide "at least six months of free, GPL-licensed updates with binaries at http://jdk.java.net" for OpenJDK JDK 11. Reinhold also clarifies the the purpose of the http://jdk.java.net site: "The jdk.java.net site is for builds from Oracle, under various licenses FLOSS and otherwise. It's not part of the OpenJDK Community. Other implementors have their own distribution sites or related mechanisms."

Andrew Haley also responds to Colebourne's message and writes that "I'll say what I can" until "a public statement" can be made (presumably from Red Hat). Haley does state, "Red Hat is committed to support OpenJDK for its customers for some time. Our policy for current versions can be seen at https://access.redhat.com/articles/1299013#OpenJDK_Lifecycle_Dates_and_RHEL_versions." The provided link presents the question "Is Red Hat releasing OpenJDK 9, 10, or 11?" and answers that question, "Red Hat will skip Java SE 9 and 10, and ship an OpenJDK distribution based on Java SE 11. See the Red Hat OpenJDK 11 Advice article for additional information." Haley adds, "Given that Red Hat has an upstream first policy, we will make sure that all security patches are applied to upstream OpenJDK releases and our builds are TCK'd."

Martijn Verburg's response to Colebourne's questions is from the perspective of AdoptOpenJDK. Verburg writes that "AdoptOpenJDK offered to build, test and make available OpenJDK LTS binaries for the major (and several minor) platforms." He adds the "extra statements" that "AdoptOpenJDK will not offer commercial support" and that "AdoptOpenJDK ... will not be backporting patches."

The scheduled release of OpenJDK JDK 11 is just over a month away. With Oracle's "Commercial User End of Public Updates" for JDK 8 scheduled for January 2019, it's likely that many organizations will desire to move to JDK 11 by then.

1 comment:

@DustinMarx said...

Mark Reinhold announced today the availability of the JDK 11 Release Candidate: "There are no unresolved P1 bugs in build 28, so that is our first JDK 11 Release Candidate -- and if we're lucky, our last!" Reinhold adds, "Binaries available here, as usual: http://jdk.java.net/11".