This post was originally published in November 2018 and has been a popular resource for simple explanation to what has occurred with Java. With the start of 2023, many changes have occurred and we have updated the 2018 article accordingly. For example, in 2018, JDK 7 was still supported by Oracle and JDK 17 LTS had not been released, in 2023 Oracle no longer support JDK 7 and JDK 17 LTS is now released.

Background: In January 2019 Oracle introduced a subscription service for both Desktop and Server use of Java SE. While Java was released under the GNU General Public License v2, the subscription service provides vendor support from Oracle for Java as an alternative to community support. The subscription is governed by a license from Oracle that includes right to audit of Oracle software.

Java JDK 6 & 7: Both JDK 6 and 7 are no longer commercially supported by Oracle – support for 7 finished in July 2022. There are exceptions for licensed versions of WebLogic and Oracle applications that use WebLogic. If you need commercial support for JDK 6 or 7 we recommend that you contact us about obtaining commercial support for Azul that includes supported versions of Java 6 & 7 across all major operating systems that includes backported security improvements. The Azul has community versions of the OpenJDK distributions and these are our second recommendation if commercial support is not required. Supply Chain attacks on different Java JDK distributions have occurred in the past, therefore it is important to only source from reliable and professionally backed sources, and Azul certainly qualifies.

JDK 8: There will be no further public updates for JDK 8, although it will continue to be supported through to December 2030. However, the Oracle Java Subscription will still receive updates to JDK 8. The last public update to Java SE that you are entitled to for production use without a subscription from Oracle is 8u202 (these are governed by the Binary Code License) – all updates after April 16, 2019 are subject to the Java SE OTN License if not being used for production, otherwise a Java SE Subscription license is required.

JDK 9+: The current Oracle release and support schedule can be found in the table below. Note that Oracle now designates releases of software as either a Long Term release (LTS or Long Time Supported release in the table) or an Innovation release. Long Term releases offer the highest level of stability and the longest length of error correction support. These releases have at least 5 years of Premier Support followed by 3 years of Extended Support. An Innovation release includes many enhancements and new capabilities which will also be included in the next Long Term release. Both Premier & Extended Support only apply to customers of an Oracle Java SE Subscription, not those on a Binary Code or Java SE OTN Licenses.


Oracle Java SE product dates are provided as examples to illustrate the support policies. Customers should refer to the Oracle Lifetime Support Policy for the most up-to-date information. Timelines may differ for Oracle Products with a Java SE dependency (My Oracle Support Note 1557737.1 – Support Entitlement for Java SE When Used As Part of Another Oracle Product).

The Oracle Support Classifications below is copied from Oracle.com (link at the base of this post) giving a high level overview of the differences between the support offerings from Oracle. The main difference to understand in relation to JDK is that ‘Sustaining Support’ provides upgrade rights but does not provide new updates to the software.

JDK 17: With the release of Java JDK 17, Oracle has released a new license called NFTC or ‘No Fee Terms and Conditions’. The NFTC license extends the no change license for development and testing use available through OTN (the Oracle Technology Network) to include no fee use for internal business operations – a usage that is precluded under the OTN license terms. Disclaimer: please read the terms and conditions of both license types or engage external license expertise to ensure you understand the terms.

Your Options

Do nothing This will result in you remaining on your current version of Java (or updating to the latest public update of Java 8 in December 2018) and continue to use that version indefinitely. At some point you will either have to migrate away from Java or update to a newer version – the larger that gap, the more difficult the task of updating is.

Some would argue that there is no option of ‘do nothing’ as ultimately you will have to do something. By leaving that decision for a long time could result in the change required being difficult and potentially expensive.

Purchase the Java SE Subscription License This should be done in conjunction with planning your use of Java over time. Ideally it should include a plan to update to an LTS release and then upgrade every 3 to 8 years. The subscription license is the low risk option if your organisation perceives uncertainty with open source software or not having the backing of a significant vendor when new problems appear on the horizon. If you do wish to obtain commercial support for Java SE from Oracle, then that this can only be done direct with Oracle. This is no longer available from Oracle Partners, therefore we cannot publish exact pricing from Oracle. Public facing pages from Oracle.com reveal that Java licenses are charged per Processor for either desktop or server, (subject to Oracle’s Processor licensing rules which includes its unpopular soft-partitioning stance) starting at US$300 per Processor per annum with quantity price-breaks. The license is the Java SE Subscription license which is not publicly available from Oracle but is known to include right to audit and is subject to licensing rules that include the soft-partitioning stance.

Obtain alternative support There are support providers who will support your use of the existing Java versions. If you use IBM products, it is likely you already have IBM as your provider of Java. IBM has been contributing to the OpenJDK software since 2010. They are planning to support JDK 8 until April 2022, and are skipping the incremental Java ‘Feature Releases’ (9, 10, 12, 13…) and instead have a support model for clients that revolve around the LTS releases. Therefore clients would upgrade from JDK 8 to OpenJDK11 to OpenJDK 17, and so forth…

Redhat also provides support for Java through its Redhat subscriptions, however this is on RHEL only unless you have a RHEL Middleware subscription which also supports Java on Microsoft Windows.

Amazon has announced “Corretto”, a supported Java JDK to be used on AWS. It is unlikely you will be able to support for instances not running on AWS. You can find a link to our blog post about this announcement at the end of this page.

Migrate to Azul Platform Core will give you the ability to have commercial support for JDK 6+ on all major operating systems with a more generous support timetable than being offered by Oracle. This is a strong offering worth considering and the Platform Prime should also be considered to deliver higher performing JVM. Contact us for additional details.

Migrate to OpenJDK Assuming that you decide not to use the services of an alternative support provider as detailed above, there will be three major implications if you decide to start using the OpenJDK releases:

  1. Community Support only;

  2. Feature Releases every 6 months. If a feature is not fully tested and ready at the 6 month release date, it will be pushed forward into the next release. You are not forced to upgrade every 6 months, you can choose when you wish to upgrade, and what you upgrade to. It is not known whether the OpenJDK will allow to skip releases in the upgrade and therefore perform a cumulative upgrade, or you will have to step through each release as its own upgrade. However, if you wish to remain on a version that receives incremental updates, you will need to perform a version upgrade every 6 months. However, just because it is titled an upgrade to a new release does not mean it is a massive undertaking – as the new releases are every 6 months, the changes will be relatively minor by prior comparisons. For example, the difference between Java 8 & 9 was approximately 7x larger than the change from 9 to 10; and

  3. No incremental updates after the first 6 months. This represents risk. If there is a new major security flaw identified after the first 6 months, then you will have to wait for the Open Source community to provide a fix or wait for the next OpenJDK release. How significant is this risk is a guesstimate at best, it is your appetite for risk that determines whether this point is significant.

Summary: A lot of changes has occurred to the Java landscape since 2019, and we understand if you are confused. There is still much omitted in the above regarding related product of Advanced Management Console, Flight Recorder, Mission Control, and many others. You can read about a supported alternative to Flight Recorder and Mission Control here. With security being a key boardroom concern, having development technologies supported and up to date with the latest security updates is no longer a ‘nice-to-have’ that can be ignored. The challenge facing many organizations today is how to secure legacy code that often includes Java. Please contact us to discuss whether an Oracle Java SE subscription would be right for your circumstances or an Azul Java Subscription would deliver a more comprehensive coverage of your support requirements. Alternatively, you may email us at hello@pebbleit.com.au


Additional references that may be worth reviewing: