A couple of years back, Oracle announced a new 6 month release cadence for Java and a paid subscription model for the Oracle JDK. These changes are now in force and there is a lot of confusion about what they actually mean.
Is Java still free to use? And if not, what alternatives are there to the Oracle JDK? In this talk I give a definitive answer to the above questions.
NOTE: INTERNAL TALK GIVEN AT BOUVET.
8. 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
9. 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
10. 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.
12. 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
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 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.
15.
16. 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.
17.
18. 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.
19. • 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)
20. What about Java 8?
Choosing
Oracle as a
JDK Vendor
Some
alternatives
to Oracle
Stuck on
Java 8?
Summary
21. “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
22. 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).
24. 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.
25. 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.
26. 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.
27. 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.
Understanding the new Java SE Release and Subscription Models
Slow rate of innovation
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
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».
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.