Making sense of the
recent changes to the
Java ecosystem
Is Java still free?
Java Before
Source: https://www.azul.com/java-stable-secure-free-choose-two-three/
• Stable: Long support overlap
between major versions.
• Secure: Regular updates including
patches for security issues.
• Free: Free of charge for use on the
Desktop and on Enterprise servers.
2016 : Big Changes to the Java Ecosystem
Agenda
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
Choosing Oracle as a JDK Vendor
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
Oracle’s Java SE Release Timetable
New release each March and September.
Oracle’s stated goal: Faster iteration and release of new features.
JDK 19
JDK 18
JDK 17
JDK 16
JDK 15
JDK 14
JDK 13
JDK 12
JDK 11
Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22
Oracle JDK
java.oracle.com
Commercial
Oracle OpenJDK Build
jdk.java.net
Open Source
Oracle: A tale of two JDKs
OpenJDK Source
openjdk.java.net
Updates for «Oracle OpenJDK Build» JDK
To get maintenance updates you must upgrade to current release.
No support (as it always has been).
JDK 19
JDK 18
JDK 17
JDK 16
JDK 15
JDK 14
JDK 13
JDK 12
JDK 11
Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22
Updates for «Oracle JDK»
Feature and Long Term Support Releases.
Commercial support (includes maintenance updates) for 5-8 years.
JDK 19
JDK 18
JDK 16
JDK 15
JDK 14
JDK 13
JDK 12
Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22
JDK 11 - LTS available until 2026
JDK 17 - LTS available until 2029
Oracle Java SE Subscription
• From Java 11 onwards, use of the Oracle JDK in production
requires a Java SE Subscription:
• Variants for both Enterprise Servers and on the Desktop.
• Long term support, including ongoing security updates.
• If the Oracle JDK is embedded in another product (i.e. one from IBM
or Oracle that you are licensed to use) then you may not need a
Java SE Subscription.
• No license is required for developing, testing, prototyping and
demonstrating your Java SE applications with the Oracle JDK.
Alternatives to Oracle
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
Oracle JDK Build
java.oracle.com
Commercial License
Other OpenJDK Builds
RedHat, IBM, Amazon,
SAP, AdoptOpenJDK,
Zulu, etc.
Various Licenses
Oracle OpenJDK Build
jdk.java.net
Open Source License
OpenJDK Source
openjdk.java.net
The Java SE JDK : One Source, Multiple Builds
Not all Builds / JDKs are equal!
Oracle JDK
Extends OpenJDK with
installers, third party
cryptogrphic libraries
and support for
Oracle’s Advanced
Management Console.
Other OpenJDK
Builds
Vendor specific
differences, including
different Garbage
Collection
mechanisms and JVM
implementations.
Oracle’s OpenJDK
Build
Functionally identical to
the Oracle JDK.
The TCK / JCK verifies that a Java SE build complies to the Java standard
AdoptOpenJDK
(adoptopenjdk.net)
• Offers builds with both Hotspot (Oracle) and OpenJ9 (IBM) VM’s for both JDK 8 and 11.
• Aims to provide community support and maintenance security updates (Java 8 until 2023
and Java 11 until 2022).
• Paid support available from IBM (only builds with OpenJ9 VM).
• Platforms: Windows (32 and 64), Linux (various flavours), MacOS, Solaris, AIX, ARM.
• Currently unable to verify builds with the TCK/JCK, due to legal wrangling with Oracle.
Amazon Corretto
(aws.amazon.com/corretto/)
• Currently offers Java 8 (in preview). Java 11 coming in Q2.
• Free LTS (maintenance & security updates) for Java 8 until at least June 2023.
• Used internally by Amazon.
• Platforms: Amazon Linux, Windows, macOS, and Docker, with additional support
planned for General Availability.
• TCK/JCK verified.
Azul Zulu
(azul.com/downloads/zulu)
• Offers both community and commercial releases, a-la Oracle. Also offers builds that include
OpenFX.
• No assurances as to the availability or support lifecycle for the community versions of Zulu.
• Zulu Enterprise is Azul’s commercial offering with paid support, providing MTS for some feature
releases in addition to LTS.
• Platforms: Windows, macOS, Linux, Alpine Linux, 64-bit Armv8.
• TCK/JCK verified.
• Sponsers unsupported community builds at ojdkbuild:
• Provides builds so long as Red Hat supports a Java version.
• No information about TCK support or overlap between builds.
• Commercial builds available for RHEL and windows via subscription.
TCK support:
• Not offering 9 or 10.
• Free for development use.
Red Hat
(developers.redhat.com/products/openjdk)
What about Java 8?
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
“Oracle will continue to provide
free public updates and auto
updates of Java SE 8, until at
least the end of December 2020
for Personal Users, and January
2019 for Commercial Users”
https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
What are your options for Java 8 in Production?
• To continue to continue receiving updates for Java 8 you’ll need to
either:
1. Pay for an Oracle Java SE Subscription providing commercial support until
2022 (extended support until 2025).
2. Choose a free non-Oracle OpenJDK Build, such as AdoptOpenJDK (no
TCK/JCK support) or Amazon Corretto (still in preview).
3. Choose a paid non-Oracle OpenJDK Build.
• The alternative is to continue with an unsupported JDK in Production
(not so smart).
Summary
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
Your 3 JDK choices in production
(assuming you want updates and don’t want to break the law)
Use the
Oracle JDK
and pay for
production
use and
updates.
Use Oracle’s
OpenJDK
build for free
and upgrade
every six
months.
Look into
alternative
OpenJDK
builds and
their support
plans.
Your 3 JDK choices in production
(assuming you want updates and don’t want to break the law)
#1
Use the Oracle
JDK and pay for
production use
and updates.
#2
Use Oracle’s
OpenJDK build
for free and
upgrade every
six months.
#3
Look into
alternative
OpenJDK
builds and their
support plans.
Your 3 JDK choices in production
(assuming you want updates and don’t want to break the law)
#1
Use the Oracle
JDK and pay for
production use
and updates.
#2
Use Oracle’s
OpenJDK build
for free and
upgrade every
six months.
#3
Look into
alternative
OpenJDK
builds and their
support plans.
Your 3 JDK choices in production
(assuming you want updates and don’t want to break the law)
#1
Use the Oracle
JDK and pay for
production use
and updates.
#2
Use Oracle’s
OpenJDK build
for free and
upgrade every
six months.
#3
Look into
alternative
OpenJDK
builds and their
support plans.
Questions?
References and Resources
• https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
• https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-
release-cadence
• https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-
java-client-roadmap-updates
• https://medium.com/@javachampions/java-is-still-free-c02aef8c9e04
• https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk
• https://dev.karakun.com/java/2018/06/25/java-releases.html
• https://blog.joda.org/2018/08/java-is-still-available-at-zero-cost.html
• https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html
• https://www.azul.com/java-stable-secure-free-choose-two-three

Explaining the new Java release and licensing models

  • 1.
    Making sense ofthe recent changes to the Java ecosystem Is Java still free?
  • 2.
    Java Before Source: https://www.azul.com/java-stable-secure-free-choose-two-three/ •Stable: Long support overlap between major versions. • Secure: Regular updates including patches for security issues. • Free: Free of charge for use on the Desktop and on Enterprise servers.
  • 3.
    2016 : BigChanges to the Java Ecosystem
  • 4.
    Agenda Choosing Oracle as a JDKVendor Some alternatives to Oracle Stuck on Java 8? Summary
  • 5.
    Choosing Oracle asa JDK Vendor Choosing Oracle as a JDK Vendor Some alternatives to Oracle Stuck on Java 8? Summary
  • 6.
    Oracle’s Java SERelease Timetable New release each March and September. Oracle’s stated goal: Faster iteration and release of new features. JDK 19 JDK 18 JDK 17 JDK 16 JDK 15 JDK 14 JDK 13 JDK 12 JDK 11 Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22
  • 7.
    Oracle JDK java.oracle.com Commercial Oracle OpenJDKBuild jdk.java.net Open Source Oracle: A tale of two JDKs OpenJDK Source openjdk.java.net
  • 8.
    Updates for «OracleOpenJDK Build» JDK To get maintenance updates you must upgrade to current release. No support (as it always has been). JDK 19 JDK 18 JDK 17 JDK 16 JDK 15 JDK 14 JDK 13 JDK 12 JDK 11 Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22
  • 9.
    Updates for «OracleJDK» Feature and Long Term Support Releases. Commercial support (includes maintenance updates) for 5-8 years. JDK 19 JDK 18 JDK 16 JDK 15 JDK 14 JDK 13 JDK 12 Sep-18 Mar-19 Sep-19 Mar-20 Sep-20 Mar-21 Sep-21 Mar-22 Sep-22 JDK 11 - LTS available until 2026 JDK 17 - LTS available until 2029
  • 10.
    Oracle Java SESubscription • From Java 11 onwards, use of the Oracle JDK in production requires a Java SE Subscription: • Variants for both Enterprise Servers and on the Desktop. • Long term support, including ongoing security updates. • If the Oracle JDK is embedded in another product (i.e. one from IBM or Oracle that you are licensed to use) then you may not need a Java SE Subscription. • No license is required for developing, testing, prototyping and demonstrating your Java SE applications with the Oracle JDK.
  • 11.
    Alternatives to Oracle Choosing Oracleas a JDK Vendor Some alternatives to Oracle Stuck on Java 8? Summary
  • 12.
    Oracle JDK Build java.oracle.com CommercialLicense Other OpenJDK Builds RedHat, IBM, Amazon, SAP, AdoptOpenJDK, Zulu, etc. Various Licenses Oracle OpenJDK Build jdk.java.net Open Source License OpenJDK Source openjdk.java.net The Java SE JDK : One Source, Multiple Builds
  • 13.
    Not all Builds/ JDKs are equal! Oracle JDK Extends OpenJDK with installers, third party cryptogrphic libraries and support for Oracle’s Advanced Management Console. Other OpenJDK Builds Vendor specific differences, including different Garbage Collection mechanisms and JVM implementations. Oracle’s OpenJDK Build Functionally identical to the Oracle JDK. The TCK / JCK verifies that a Java SE build complies to the Java standard
  • 14.
    AdoptOpenJDK (adoptopenjdk.net) • Offers buildswith both Hotspot (Oracle) and OpenJ9 (IBM) VM’s for both JDK 8 and 11. • Aims to provide community support and maintenance security updates (Java 8 until 2023 and Java 11 until 2022). • Paid support available from IBM (only builds with OpenJ9 VM). • Platforms: Windows (32 and 64), Linux (various flavours), MacOS, Solaris, AIX, ARM. • Currently unable to verify builds with the TCK/JCK, due to legal wrangling with Oracle.
  • 16.
    Amazon Corretto (aws.amazon.com/corretto/) • Currentlyoffers Java 8 (in preview). Java 11 coming in Q2. • Free LTS (maintenance & security updates) for Java 8 until at least June 2023. • Used internally by Amazon. • Platforms: Amazon Linux, Windows, macOS, and Docker, with additional support planned for General Availability. • TCK/JCK verified.
  • 18.
    Azul Zulu (azul.com/downloads/zulu) • Offersboth community and commercial releases, a-la Oracle. Also offers builds that include OpenFX. • No assurances as to the availability or support lifecycle for the community versions of Zulu. • Zulu Enterprise is Azul’s commercial offering with paid support, providing MTS for some feature releases in addition to LTS. • Platforms: Windows, macOS, Linux, Alpine Linux, 64-bit Armv8. • TCK/JCK verified.
  • 19.
    • Sponsers unsupportedcommunity builds at ojdkbuild: • Provides builds so long as Red Hat supports a Java version. • No information about TCK support or overlap between builds. • Commercial builds available for RHEL and windows via subscription. TCK support: • Not offering 9 or 10. • Free for development use. Red Hat (developers.redhat.com/products/openjdk)
  • 20.
    What about Java8? Choosing Oracle as a JDK Vendor Some alternatives to Oracle Stuck on Java 8? Summary
  • 21.
    “Oracle will continueto provide free public updates and auto updates of Java SE 8, until at least the end of December 2020 for Personal Users, and January 2019 for Commercial Users” https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
  • 22.
    What are youroptions for Java 8 in Production? • To continue to continue receiving updates for Java 8 you’ll need to either: 1. Pay for an Oracle Java SE Subscription providing commercial support until 2022 (extended support until 2025). 2. Choose a free non-Oracle OpenJDK Build, such as AdoptOpenJDK (no TCK/JCK support) or Amazon Corretto (still in preview). 3. Choose a paid non-Oracle OpenJDK Build. • The alternative is to continue with an unsupported JDK in Production (not so smart).
  • 23.
    Summary Choosing Oracle as a JDKVendor Some alternatives to Oracle Stuck on Java 8? Summary
  • 24.
    Your 3 JDKchoices in production (assuming you want updates and don’t want to break the law) Use the Oracle JDK and pay for production use and updates. Use Oracle’s OpenJDK build for free and upgrade every six months. Look into alternative OpenJDK builds and their support plans.
  • 25.
    Your 3 JDKchoices in production (assuming you want updates and don’t want to break the law) #1 Use the Oracle JDK and pay for production use and updates. #2 Use Oracle’s OpenJDK build for free and upgrade every six months. #3 Look into alternative OpenJDK builds and their support plans.
  • 26.
    Your 3 JDKchoices in production (assuming you want updates and don’t want to break the law) #1 Use the Oracle JDK and pay for production use and updates. #2 Use Oracle’s OpenJDK build for free and upgrade every six months. #3 Look into alternative OpenJDK builds and their support plans.
  • 27.
    Your 3 JDKchoices in production (assuming you want updates and don’t want to break the law) #1 Use the Oracle JDK and pay for production use and updates. #2 Use Oracle’s OpenJDK build for free and upgrade every six months. #3 Look into alternative OpenJDK builds and their support plans.
  • 28.
  • 29.
    References and Resources •https://www.oracle.com/technetwork/java/java-se-support-roadmap.html • https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se- release-cadence • https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other- java-client-roadmap-updates • https://medium.com/@javachampions/java-is-still-free-c02aef8c9e04 • https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk • https://dev.karakun.com/java/2018/06/25/java-releases.html • https://blog.joda.org/2018/08/java-is-still-available-at-zero-cost.html • https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html • https://www.azul.com/java-stable-secure-free-choose-two-three

Editor's Notes

  • #2 Understanding the new Java SE Release and Subscription Models
  • #3 Slow rate of innovation
  • #8 OpenJDK Source maintained by Oracle and the community (including other vendors). All JDKs are built from the same source. Oracle does the most and therefore has the most «leverage». Note that
  • #13 OpenJDK Source maintained by Oracle and the community (including other vendors). All JDKs are built from the same source. Oracle does the most and therefore has the most «leverage».
  • #14 Each JDK has it’s own special sauce. The Oracle OpenJDK Build is a pure build of the source. Not that this build now includes many tools that were previously only available in the Oracle JDK. The Oracle JDK is Oracles commercial JDK. It adds some extra components, but is functionally identical to the Oracle OpenJDK build. And you The TCK/ JCK test suite consists of tens of thousands of tests that exercise every component of a Java SE build to ensure conformance with the Java standard.