Java Is Still Free 3.0.0 (Oct 2021)

Java Champions
24 min readOct 4, 2021

--

With the changes to Oracle JDK distribution and support, there has been considerable uncertainty over the rights to use Oracle JDK vs. Oracle OpenJDK builds vs. OpenJDK builds from other providers. There are various ways to get free updates (including security) and (new and existing) paid support models available from multiple vendors to consider. This document has a Shorter Version and a much Longer Version section with all of the details.

Shorter Version

You can still get OpenJDK builds by several providers (including Oracle) with complete freedom under the GPLv2+CE license. Oracle JDK remains free (from cost) in some circumstances. See the rest of this section for the exact nuances of this.

Java SE / OpenJDK / Oracle OpenJDK Builds / Oracle JDK

The OpenJDK community creates and maintains the (GPLv2+CE) open-source Reference Implementation (RI) of the Java SE Specification as governed by the Java Community Process (JCP) and defined through an umbrella Java Specification Request (JSR) for each feature release.

There are implementations (mostly OpenJDK based) of Java SE from various providers such as Alibaba, Amazon, Azul, BellSoft, Eclipse Adoptium (successor to AdoptOpenJDK), IBM, Microsoft, Red Hat, Oracle, SAP, and others.

Oracle JDK 8 has gone through the “End of Public Updates” process, which means updates from April 2019 require a support contract for production use. As mentioned above, there are entirely freely licensed OpenJDK 8, 11 & 17 builds from other providers.

Oracle also provides zero-cost binaries for Oracle JDK 17.

There are several options to get a JDK; this document focuses on Java SE 8, 11, and 17.

Staying with Java SE 8

Some people want to continue using Java SE 8 for various reasons.

  1. Since the April 2019 update, Oracle JDK 8 has been under commercial use restrictions. To get an updated Java SE 8 binary, users can get a paid support plan for Oracle JDK 8 or use a Java SE 8 / OpenJDK 8 binary from another provider.
  2. If you are not using Oracle JDK 8, your current Java SE 8 / OpenJDK 8 provider may offer updates or paid support plans.

$FREE AND FREE (AS IN USE) JAVA SE 8; WHAT DO I CHOOSE?

If you want free updates (including security) of Java SE 8, use an OpenJDK distribution that passes the TCK. i.e., Amazon, Azul, BellSoft, Eclipse Adoptium, IBM, Microsoft, Red Hat, SAP, etc.

Getting Java SE 11

You can choose from several options. Please read them carefully, especially how Oracle JDK manages releases and updates for Java SE 11.

  1. For Java SE 11, Oracle provides their (OpenJDK based) JDKs via:
  2. Oracle OpenJDK 11 builds — Under the GPLv2+CE license, and
  3. Oracle JDK — Under a paid commercial license (but free for individual use, development, testing, prototyping, and demonstrating and with certain types of applications), those who do not wish to use the GPLv2+CE or who are using an Oracle JDK with an Oracle product or service.

NOTE: Oracle provides two quarterly updates for its Oracle OpenJDK builds and then transitions users to the next version every six months (this includes LTS).

  1. You can also get Java SE / OpenJDK binary distributions from a variety of other providers. These providers give you updates (including security) for a varying time but typically longer for an LTS version.

$FREE AND FREE (AS IN USE) JAVA SE 11, WHAT DO I CHOOSE?

If you want free updates (including security) of Java SE 11, use an OpenJDK distribution that passes the TCK. i.e., Amazon, Azul, BellSoft, Eclipse Adoptium, IBM, Microsoft, Red Hat, SAP, etc.

Getting Java SE 17 (LTS)

You can choose from several options. Please read them carefully, especially how Oracle JDK manages releases and updates for Java SE 17.

  1. Starting with Java SE 17, Oracle provides their (OpenJDK based) JDKs via:

a. Oracle OpenJDK builds — Under the GPLv2+CE license, and

b. Oracle JDK — Under the No-Fee Terms and Conditions (NFTC) license for three years and then a regular commercial license after that.

NOTE: Oracle provides two quarterly updates for its Oracle OpenJDK builds and then transitions users to the next version every six months (this includes LTS).

NOTE: The NFTC license has some restrictions on the free redistribution of Oracle JDK 17. Please make sure you read the license for details.

2. You can also get Java SE / OpenJDK binary distributions from a variety of
other providers. These providers give you updates (including security) for a varying time but typically longer for an LTS version.

$FREE AND FREE (AS IN USE) JAVA SE 17, WHAT DO I CHOOSE?

If you want free updates (including security) of Java SE 17, use an OpenJDK distribution that passes the TCK. i.e., Amazon, Azul, BellSoft, Eclipse Adoptium, IBM, Microsoft, Red Hat, SAP, etc.

Paid Support

There is a wide range of paid support options for Java SE / OpenJDK 8, 11, and 17 binaries from Azul, BellSoft, IBM, Oracle, Red Hat, et al. Azul also offers Medium Term Support versions.

Dissemination

The following sheet is tracking the known dissemination of this document. Please update if you share this doc!

Divider to separate the Shorter from the Longer Version.

The Longer Version

This section deliberately has many details as there are several nuances to consider. Please do yourself and your colleagues a favor by setting aside some proper time to read this in full. You’ll thank yourself for it, seriously.

We’d also like to thank Simon Ritter, Stephen Colebourne, Hendrik Ebbers, Donald Smith, Jonas Konrad, and many others for their earlier posts and permission to reuse their material. Appendix I — Signatories, Thanks, and References give a complete list of accreditation and signatories to this document.

Feedback is welcome! Use this link where you can make suggested edits and comments.

Change Log

We will update this document for new information or a verified correction. Please check back here for updates and follow our @Java_Champions Twitter handle.

Version — Date — Comments

1.0.0 — 17 Sept 2018 1000 UTC — Initial Public Release

1.0.1 — 29 Nov 2018 1951 UTC — Grammarly fixes

2.0.0 — 01 Mar 2019 2127 UTC — Updates to reflect the current ecosystem

2.0.1 — 06 Mar 2019 0955 UTC — Minor updates to Liberica

2.0.2 — 09 Mar 2019 1439 UTC — Minor updates to Red Hat OpenJDK

2.0.3 — 27 Mar 2019 0906 UTC — Make security updates clear

2.0.4 — 11 June 2019 1141 UTC — Minor update to Azul entry

2.0.5 — 24 June 2020 2226 UTC — Add Adoptium and MSFT, remove jClarity

2.0.6 — 29 January 2021 1433 UTC — Adoptium vs. AdoptOpenJDK and 17.

2.1.0 — 15 Mar 2021 1439 UTC — Grammarly Professional pass

2.1.1 — 18 Apr 2021 1319 UTC — Added OpenLogic

2.1.2 — 24th June 2021 1517 UTC — Added Microsoft Build of OpenJDK

3.0.0 — 19th Sept 2021 1450 UTC — Java 17 release and new Oracle licensing

Introduction

With the recent changes to Oracle JDK distribution and support, there has been considerable uncertainty over Java’s future, lifecycle, and vendor-provided support. This document summarizes the changes Oracle has made and the options available for users of Java SE.

WHAT DO WE MEAN BY FREE?

In a nutshell, the word “free” has two distinct meanings in software:

“Free as in beer” refers to the cost (i.e., money) of the software (aka $free).

“Free as in speech” refers to what you are allowed to do with the software. Also known as freedom or free as in use.

Almost all vendors offer a “free as in beer” option. However, that is limited for some vendors (i.e., transition to a support contract for updates after a particular time).

There are proprietary or restricted usage implementations of Java SE (e.g., Azul Zing, Oracle JDK, and others). To get a “free as in speech” distribution, you would typically choose an OpenJDK distribution (e.g., Azul’s Zulu, Bellsoft’s Liberica, Eclipse Adoptium’s Temurin, and others), as they are GPLv2+CE licensed.

These changes have happened within a relatively short time frame leading to factually incorrect posts such as:

Which are luckily counterbalanced by more accurate posts such as:

This article will cover the main areas of concern and what actions are addressing the ecosystem’s concerns. You’ll be reassured by the end of this post that the community is looking after Java SE and that it has a future more robust than ever!

The New Six Month Release Cadence and LTS

Java SE has a feature release every six months, using a new versioning scheme announced in 2017. Thanks to improvements in the JCP processes, OpenJDK committers can now introduce spec-changing features (such as var in Java SE 10) on the six-month cadence.

WHAT DOES LTS MEAN WITH REGARDS TO JAVA / OPENJDK?

Long Term Support (LTS) in OpenJDK is a designation for how long a vendor will support their binary. In reality, the various OpenJDK contributors have a gentleperson’s agreement that they will maintain the source code for a more extended period. Current LTS versions include 8, 11, and 17. There is a proposal to change the LTS cadence to every two years (i.e., every four major versions).

Oracle leads the OpenJDK source code maintenance for “the first two update releases of each feature release, LTS or not, and then hand that maintainership over to other contributors if any are interested.” At this time, all other vendors continue to work in the OpenJDK update project for that version while Oracle maintains its patches for Oracle JDK.

NOTE: This does mean that Oracle JDK can differ from the OpenJDK-based binaries produced by other providers (NOTE: this has always been the case!). However, the various OpenJDK contributors and other project leaders typically keep them close in sync.

By maintenance, we mean the provision of update releases with security patches and critical bug fixes.

UPDATES vs. SUPPORT

Updates refer to the code patches (including security) that have gone into OpenJDK and Oracle JDK. OpenJDK updates are always free, but each vendor may choose to have updates you pay for, i.e., Support.

Support means a commitment to fix bugs, and it requires staff to answer users’ problems, which costs money. NOTE: There has never been free support for Oracle JDK or OpenJDK itself.

Oracle and other OpenJDK committers provided updates to and including OpenJDK 8 / Oracle JDK 8 within a “feature release”. Each subsequent feature release superseded feature releases, such as 8u91, 8u111, and 8u131 (on a six-month cadence). For example, once 8u111 was released, you would not get updates on 8u91.

Starting with OpenJDK 9 / Oracle JDK 9, the new six-monthly release cycle came into effect. Updates now occur between “feature releases”, i.e., once 12 is released, you will not get updates to 11 by Oracle. However, other OpenJDK committers will provide updates instead.

Oracle Updates Plan

Until Java 8, Oracle provided updates for the Oracle JDK for a 3+ year lifecycle and permitted usage in personal and commercial settings. The updates provided no support, and support required the purchase of explicit licenses from Oracle. Paid support also entailed longer update cycles.

Starting with Java 9, Oracle moved to a faster cadence for Oracle JDK and started producing Oracle OpenJDK builds. Oracle will provide updates for six months upon the release of the next version. You must purchase support from Oracle if you require updates/support for a longer duration or production use (i.e., You must be on Oracle JDK, not Oracle OpenJDK Builds). Periodically, releases will be marked “LTS”. Oracle will support these releases through their standard support licenses for an extended period. As of right now, the Oracle update plan for Oracle OpenJDK builds, with updates, is as follows:

Oracle OpenJDK Build Version

OracleJDK Updates Plan

The idea here is simple. As has been the Java SE model going way back to the Sun era, Oracle focuses on innovations and moving Java SE forward. Organizations that wish to remain on legacy versions can do so via commercial support offerings. Of course, for some Java SE users and development shops, a rapid upgrade is not feasible.

OpenJDK Updates Plan

The OpenJDK community works on a free, open-source implementation of the Java SE standard. Oracle contributes heavily to the project, and it is the basis for both Oracle OpenJDK builds and Oracle JDK. OpenJDK 11+ is interchangeable with Oracle JDK for applications that adhere to the Java SE standard. Oracle will continue to contribute to OpenJDK while they provide updates for the corresponding Oracle OpenJDK build. Oracle will stop contributing to that version when the next version comes out and update the next one.

Oracle has been highly receptive to the idea of community maintenance and will continue to support the handover of OpenJDK to the community to a qualified volunteer entity once they have moved on to working on the next version. As Oracle steps down as the lead for OpenJDK updates projects, other volunteers step in to lead projects that continue being updated by the community.

Volunteers (who happen to work for Red Hat) now lead OpenJDK 11 and OpenJDK 8 updates, and volunteers (who happen to work for Azul) currently lead OpenJDK 15, OpenJDK 13, and OpenJDK 7 updates. It is important to note that while Red Hat and Azul volunteers lead OpenJDK 7, 8, 11, 13, and 15 updates projects, they are not the sole contributors! Other vendors and community members provide plenty of patches and fixes. Across all OpenJDK updates projects, there are more contributions than ever before from non-lead companies, including Amazon, Azul, BellSoft, Google, IBM, Microsoft, Red Hat, SAP, and many others.

For consistency, OpenJDK volunteers will extend the update cycle for the identical versions deemed LTS for Oracle JDK. As of right now, the OpenJDK support cycle is as follows:

NOTE: These dates are subject to change, and each update project has slightly different timeline commitments. Therefore we use the term “At Least”.

NOTE: individuals, not vendors, officially lead OpenJDK update projects. When we say “Led by,” we mean that the lead volunteer happens to work for that particular vendor.

OpenJDK Updates Plan

Java SE / OpenJDK Providers

Many Java SE / OpenJDK providers provide updates or paid support options (with updates). The following sections provide many details.

UPDATES vs. SUPPORT

Updates refer to the code patches (including security) that have gone into OpenJDK and Oracle JDK. These have typically gone in for free until vendors decide that there’s an End of Public Updates.

Support means a commitment to fix bugs, and it requires staff to answer users’ problems, which costs money. NOTE: There has never been free support for Oracle JDK or OpenJDK.

Why Would I Choose Commercial Support?

If you need a fix promptly, someone to respond to your user requests, or if you want the reassurance that a vendor is backing the binary you use, then Azul, BellSoft, IBM, Red Hat, Oracle, et al. all offer choices.

A PHILOSOPHICAL POINT ON PAYING FOR OPEN SOURCE SOFTWARE

The industry at large has settled firmly on Open Source Software as the way forward. Because of its “Free as in speech” nature, OSS licenses allow folks to use, modify and adapt other people’s software without fear of punitive action.

Many folks also enjoy the “Free as in beer” nature of much OSS software. But this comes at a high cost to the authors! Software developers, like anyone else, need to put a roof over their heads and food on their table. Vendors (especially Oracle) pour vast amounts of money into Java SE (think 10s of $ Millions per year at the very least), and they do need to somehow pay for that cost!

So although you’re certainly not obliged to go with a paid support option with one of the vendors, sometimes it’s worth thinking about how you, the end-users, can support the Java SE ecosystem to ensure it has a long-lasting future!

Provider Summary

Build yourself from Source

You can build OpenJDK from the source code yourself. Although not recommended, there may be instances that you’d like to do this. OpenJDK source code has been migrating from Mercurial to Git/GitHub. Eclipse Adoptium, provides scripts to help you build for any platform.

Binary Distribution Summary

Free Binary Distributions

You can find a complete list on Wikipedia. We highlight the significant offerings below.

Commercially Supported Distributions

Alibaba Dragonwell

Amazon Corretto:

Azul Systems Zulu:

BellSoft Liberica:

Eclipse Temurin by Adoptium (successor to AdoptOpenJDK)

IBM Semeru [OpenJDK class libraries with Eclipse OpenJ9 VM]:

Microsoft Build of OpenJDK:

OpenLogic OpenJDK

Oracle JDK:

Red Hat:

Linux Distros

The various Linux distros will continue to provide OpenJDK for their respective distributions, including but not limited to Debian, Ubuntu, CentOS, Fedora, Mint, Alpine, et al.

Support Options

  • Linux Distros do not typically offer paid support, the exception being Red Hat for OpenJDK on RHEL.

Please visit your distro homepage for more information.

Alibaba Cloud(Dragonwell)

Alibaba Dragonwell, as a downstream of OpenJDK, is the distribution made by Alibaba optimized for its online e-commerce, financial, and logistics applications running on 100,000+ servers. Dragonwell is now Generally Available for Linux/x86_64, AArch64 platforms.

Support Options

Alibaba Dragonwell supports LTS version quarterly releases, with bug fixing and security updates. Furthermore, all users can file pull requests on Dragonwell8 and Dragonwell11 for community support. In addition, the customers of Alibaba Cloud can file supporting tickets via the Alibaba Cloud Customer Support Program for all their JDK use cases.

Important Links

Amazon (Corretto)

Amazon Corretto is a no-cost, multi-platform, production-ready OpenJDK distribution. Corretto comes with long-term support that includes performance enhancements and security fixes. Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on the following OSs, Linux, Windows, and macOS. Corretto supports 32 and 64 bit ARM and x86 CPU variants, including the Graviton and M1 families.

Support Options

Amazon offers free support and quarterly bug fixes, and security updates for OpenJDK Long Term Support (LTS) release at no cost. Amazon will support:

  • Corretto 8 until at least May 2026
  • Corretto 11 until at least September 2027
  • Correto 17 at least until September 2029.

Any customer can file tickets on https://github.com/corretto/ for review by the Corretto team. Customers with an AWS Enterprise support agreement can file private tickets with AWS support for all their JDK use cases.

Important Links

Azul (Zulu builds of OpenJDK)

The free Azul Zulu builds of OpenJDK cover a wide range of OpenJDK versions (7 through 17) and target platforms with a published support roadmap. Optional commercial support is available for those seeking stabilized security builds, service SLA, or to satisfy governance and compliance needs.

Support Options

Azul provides and supports multiple OpenJDK-based distributions as part of its Azul Platform offerings, including Zulu builds of OpenJDK, Zulu Prime builds of OpenJDK (formerly known as Zing), and support for Eclipse Temurin Builds. Support subscriptions include publicly available builds that track the OpenJDK updates contents (aka PSU releases) and access to stabilized security updates (CPU releases). Support options include indemnification, non-contaminant guarantees, and support SLAs.

Important Links

BellSoft (Liberica)

Liberica JDK is a supported OpenJDK-based binary distribution for desktop, server, or embedded use. Supported platforms: Linux x86 32 & 64 bit, Windows x86 32 & 64 bits, MacOS X, Linux ARM 32 & 64 bit, Solaris SPARC and x86, Linux PPC 64 bits. Liberica JDK is freely available. Commercial support is optional.

Support Options

Liberica JDK has commercial support for LTS versions, including JDK 6 & 7, CPU updates, special builds for notarization, and many other capabilities. The support pricing is calculated based on the number of desktops, physical or virtual servers, or embedded platforms.

Important Links

Eclipse Temurin by Adoptium — successor to AdoptOpenJDK

Backing Eclipse Adoptium is Alibaba, Azul, Huawei, IBM, Microsoft, Red Hat, and many others. It provides OpenJDK binary distributions (Hotspot based) for an extensive range of platforms (Linux, Mac, Windows 32/64, Arm 32/64, z/OS, Solaris, AIX, PPC, s390x, and more). It currently produces Temurin binaries but will also act as a marketplace for other vendor distributions.

Support Options

  • Eclipse Adoptium offers community support and provides well-tested binaries from OpenJDK upstream projects.
  • Azul offers commercial support for Temurin binaries built at Eclipse Adoptium.
  • IBM offers commercial support for Temurin binaries built at Eclipse Adoptium.
  • Perforce, a team within OpenLogic (a US-based OS firm) provides 3rd party support to all builds (as of 06/05/2021).

Important Links

IBM

IBM provides native JDK bundles for AIX, Linux (on x86, Power, zSystems), z/OS, and IBM i. IBM offers the IBM SDK for Java SE versions with IBM products or platforms and developer use from developerWorks. IBM also supports OpenJDK LTS binaries built and tested at Eclipse Adoptium.

Support Options

For Java SE 7 and 8, IBM still provides security updates and bug fixes. The IBM support lifecycle will continue to be updated. Based on the new Java SE release schedule, IBM announced that the LTS releases would be available as OpenJDK binaries from Eclipse Adoptium.

Important Links

Microsoft

Microsoft Build of OpenJDK is now Generally Available for Linux, Mac OS X, Windows x86–64, and Aarch64.

Support Options

See support documentation for Microsoft Build of OpenJDK, but in short, Microsoft will only provide commercial support for customers with qualifying Azure, Azure Stack, and Azure Arc support plans. For community-level support, developers and users can go to the Microsoft Build of OpenJDK GitHub page.

Important Links

Oracle

Oracle now produces two JDK binaries: Oracle JDK and an Oracle OpenJDK release.

Support Options

Oracle has published a blog post introducing the new NFTC license for Oracle JDK 17 and an accompanying FAQ.

The FAQ also links to the OTN license and the GPLv2 with the Classpath Exception.

Important Links

Red Hat

Red Hat produces OpenJDK binaries for developers and is a stand-alone supported product and part of Red Hat Enterprise Linux and various product offerings. Red Hat also provides its OpenJDK source RPMs for CentOS. Usually, after 24h to 72h, the CentOS team has built binaries from it and has made these available for the CentOS distribution.

Support Options

Red Hat supports LTS releases of OpenJDK with OpenJDK8 and OpenJDK 11 for a minimum of six years from the time Red Hat first introduces it. The Red Hat website article covers the release dates and options. Red Hat will announce its support for the Red Hat build of OpenJDK 17 in due course.

Developer builds are freely available but unsupported. For production support, users must use the binaries downloaded from the customer support portal.

Red Hat provides several OpenJDK update project builds available as a courtesy to the OpenJDK project. These are unsupported by Red Hat.

Important Links

SAP

SAP builds a public, Open-Source, OpenJDK based JDK distribution named SapMachine for a set of supported platforms: Linux x86 64 bit, Windows x86 64 bit, MacOS X and Linux ppc64le. There’s also a beta build for Linux ARM 64 bit available.

Support Options

SAP offers commercial support for SAP customers. Additional support is provided on a best-effort basis via GitHub actions.

Important Links

Java Desktop / Java Web Start / JavaFX

You need to be aware of changes with Desktop Java SE starting with Oracle JDK 11.

JavaFX / OpenJFX

Starting with Java SE 11, neither the OpenJDK builds nor the Oracle JDK binaries include the JavaFX libraries. The JavaFX components are now part of a separate SDK, and you can use their artifacts via build tools (e.g., Apache Maven, Gradle, et al.). As a positive consequence of this decoupling, JavaFX development can now have a separate roadmap.

Oracle JDKs included JavaFX by default for Oracle Java 8, but Oracle JDKs 11 and above do not include JavaFX.

This roadmap continues under the OpenJFX project, run under the OpenJDK community umbrella led by Gluon. OpenJFX follows a versioning cadence and approaches similar to OpenJDK’s Java SE version projects (e.g., OpenJFX 8, 11, 14,… 17…). The official source repository has been at https://github.com/openjdk/jfx since OpenJFX 14. You can find older versions at http://hg.openjdk.java.net/openjfx. Various OpenJDK distributions include OpenJFX, e.g., Zulu, Liberica JDK, and Corretto, with some offering commercial support. Gluon provides standalone builds for OpenJFX and offers a Support Plan for companies who want LTS for JavaFX 11.

Java Packager

The javapackager, which allows bundling applications and dependencies with (a subset of) the JVM, is no longer part of OpenJFX and is removed from Oracle’s JDK and Oracle OpenJDK builds starting with Java 11. There is a JEP for adding a Java Packaging Tool to OpenJDK. While the new Java Packaging Tool will not be ready for the Java 11 release, Gluon is working on a native image packaging for Java 11 applications.

Java WebStart

If you use Java Web Start technology to distribute desktop clients, you should consider the current situation since Oracle has removed Web Start from Java.

  • IcedTea-Web is an alternative you can use
  • Builds from Red Hat include a simplified IcedTea-Web installer (ojdkbuild)
  • Karakun has OpenWebStart and provides commercial support for that as well.

FAQ

Q. Differences between OpenJDK vs. Oracle OpenJDK builds vs. Oracle JDK?

We’ll just talk about Java 11+ LTS releases here.

Oracle JDK / Oracle OpenJDK builds and OpenJDK builds from other providers will be made from the same source for the first six months of updates and should be interchangeable for that period. The one notable difference is that neither Oracle JDK nor Oracle OpenJDK builds contain the Shenandoah garbage collector, while all other OpenJDK builds do. Oracle will build Oracle JDK / Oracle OpenJDK binaries after six months from Oracle’s fork. Other OpenJDK providers will continue to create binaries from the OpenJDK updates project. Therefore, Oracle JDK / Oracle OpenJDK and OpenJDK builds from the different providers may differ in small ways. Binaries from various parties may, of course, vary over time.

Q. Differences between OpenJDK from (non-Oracle) provider A vs. provider B?

We’ll just talk about LTS releases here. Different downstream distributions build and package their binaries, but they adhere to the standard update level versioning terminology that the upstream projects use. You can generally expect the distributions that report a particular update level to include the various fixes and changes in an OpenJDK updates project.

The difference between OpenJDK-based binaries is mostly non-core features, like extended monitoring and diagnostic support and packaging and target platform variations. Although there may be slight differences in the final binaries (perhaps a provider-specific tool), they will have the same security and stability baseline as has been confirmed for many years.

Q. If I stay on Oracle JDK 8 / 11, do I have to pay for security and bug fixes?

For Oracle JDK 8, for personal desktop use, development, testing, prototyping, demonstrating, and certain types of applications, no. For most commercial use after the April 2019 update, then yes.

Q. If I stay on OpenJDK 8 / 11, do I have to pay for security and bug fixes?

Not necessarily. Oracle works with the OpenJDK community to transition the leadership of OpenJDK update projects to other contributors, which has worked well for over a decade. Red Hat will continue this leadership in OpenJDK 8 and OpenJDK 11 with Oracle and other parties’ help, ensuring that essential patches get selectively backported. You then choose to take downstream OpenJDK-based binaries from various providers for free or as a paid support offering. An OpenJDK Vulnerability group deals with 0-day exploits and CVE’s and ensures that fixes get out as quickly as possible.

Q. Will Oracle’s JDK 8 and 11 still be available for download (last public release)? For example, a company has software that only runs on Oracle’s JDK 8, and they spun up a new machine after January 2019?

You can still download older versions of the Oracle JDK to the point where the public updates stop. Moreover, Oracle JDK 8 continues to be free for personal desktop use, development, testing, prototyping, demonstrating, and certain types of applications through at least 2020.

Q. If someone uses Oracle JDK 8 to run commercial software after April 2019, do they need to purchase a license?

No. The user can continue to use Oracle JDK 8 indefinitely without paying. The only cost is to get updates beyond April 2019, in which case they will need to purchase an “Oracle Java SE subscription”. The usual “End of Public Updates” process has been in practice for over a decade. Also, note that Oracle JDK 8 continues to be free for personal desktop use, development, testing, prototyping, and demonstrating, and with certain types of applications through at least 2020.

Q. If someone uses Oracle JDK 17 to run commercial software, do they need to purchase a license?

Please see the full NFTC License for details.

Q. What happens to Oracle Java Web Start after April 2019? Does it continue to run, or at what point do you need to purchase a license?

Since Web Start is part of Oracle JDK 8, it will continue to work and be used indefinitely without cost. As above, if you need updates (bug fixes and security patches), you will need to purchase a “Java SE subscription”. Consumers get support for free until at least 2020. Oracle has stated that they will continue to support (i.e., provide commercial updates for) Java Web Start until March 2025. There is also IcedTea-Web as an alternative, and Karakun has OpenWebStart and provides commercial support for that as well.

Appendix I — Signatories, Thanks, and References

Special thanks go to the following folks who paved the road with their earlier blog posts. Much of the material in this document was collated (with permission) from these sources.

  1. Java Champions — A Community Body of Java Experts
  1. Oracle via Donald Smith (Senior Director of Product Management) — Faster and Easier User and Redistribution of Java SEExtension of Oracle Java SE 8 Public Updates and Java Web Start support. — The future of JavaFX and other Java Client Roadmap UpdatesUpdate and FAQ on the Java SE Release CadenceA Quick Summary on the new Oracle Java SE SubscriptionOracle JDK Releases for Java 11 and later.
  2. Representatives from the following companies reviewed this material
  • Alibbaba, Amazon (AWS), Azul Systems, Bellsoft, IBM, Microsoft, Red Hat, SAP
  1. Other notable folks

The following Java ecosystem folks back this document as a fair and balanced record of the state of Java SE / OpenJDK and plans for free updates or paid support (with updates).

Person

Credentials

Martijn Verburg

Adoptium co-founder, Java Champion, London JUG Leader, Member of JCP Executive Committee, Jakarta EE Steering Committee Member, CEO @ jClarity (acquired by Microsoft)

Hendrik Ebbers

Java Champion, JUG Dortmund Leader, JSR EG member, Co-founder of Karakun

Ivar Grimstad

Java Champion, Malmö JUG Leader, JCP Executive Committee Member, EE4J PMC Lead, Jakarta EE WG Member

Markus Eisele

Java Champion

Heinz Kabutz

Java Champion, The Java Specialists’ Newsletter, JCrete Founder

Ivan St. Ivanov

Java Champion, Bulgarian JUG Leader, jPrime Conference Organizer, Virtual JUG Leader, VIDA Software co-founder

Stephen Colebourne

Java Champion, Creator Joda, and ThreeTen projects

Trisha Gee

Java Champion, Sevilla Java User Group Leader, JCP Executive Committee Member, Java Developer Advocate for JetBrains

Josh Long

Java Champion, Spring Developer Advocate for Pivotal, best-selling book author and prolific speaker worldwide

Gail Anderson

Java Champion, Oracle Developer Champion, co-founder Anderson Software Group, Inc.

Justin Lee

Java Champion, JSR EG Member

Mattias Karlsson

Java Champion, JUG Leader, and Jfokus conference founder

Andres Almiray

Java Champion, JCP EC Member, Oracle Developer Champion, Hackergarten worldwide

Enrique Zamudio

Java Champion, JVMMX (Mexico City JUG), author of j8583, jAlarms, Ceylon to Javascript compiler

Alan Williamson

Java Champion, author, podcaster, CTO of MacLaurin Group

Maurice Naftalin

Java Champion, Oracle Developer Champion, author

Mark Heckler

Java Champion, Spring Developer Advocate for Pivotal, conference speaker, & published author

Kirk Pepperdine

Java Champion, jCrete cofounder, Performance tuning advocate, co-founder jClarity

Matt Raible

Java Champion, Web Developer, and Developer Advocate at Okta. Classic VWs Enthusiast.

Henri Tremblay

Java Champion, Montréal JUG & Devoxx4kids Québec leader, EasyMock and Objenesis lead developer, conference speaker

Cay Horstmann

Java Champion, author of “Core Java.”

David Heffelfinger

Java Champion, Apache NetBeans Committer, Technical Author, Jakarta EE Consultant, and Instructor.

Josh Juneau

Java Champion, Apache NetBeans Committer, Jakarta EE Mojarra Committer, Technical Author, Podcaster

Jonathan Giles

Java Champion, Dukes Choice Award winner, Microsoft Cloud Developer Advocate, Co-founder Gluon

Ben Evans

Java Champion, former JCP EC Member, co-founder jClarity, author of “Java in a Nutshell” & “Optimizing Java.”

Johan Vos

Java Champion, Oracle Developer Champion, Gluon co-founder

Thor Henning Hetland

Java Champion, Principal at Capra Consulting. Community leader Cantara, javaBin, JavaZone, Oslo Software Architecture, and more.

Simone Bordet

Java Champion, JUG Torino co-leader, Jetty team member

Holly Cummins

Java Champion, Author of Enterprise OSGi in Action

Daniel Bryant

Java Champion, co-author of Continuous Delivery in Java, and leader within the LJC

Mohamed Taman

Java Champion, Oracle Groundbreaker Ambassador, JCP member, EGJUG leader. International speaker, Author of “JavaFX essentials”, “Getting started with clean code, Java SE 9”, “Hands-On Java 10 Programming with JShell”, and “Secrets of the Java Champion” Won Duke’s choice 2014, 2015 awards, & JCP outstanding adopt-a-jar participant 2013 awards.

Simon Maple

Java Champion, Oracle Developer Champion, Virtual JUG leader, Director of Developer Relations, Snyk.

Oliver Gierke

Java Champion, Spring Data Project Lead at Pivotal Software, Inc.

Jean-Michel Doudoux

Java Champion, author of “Développons en Java.”

Michael Kölling

Java Champion, Creator of BlueJ and Greenfoot, author of ‘Objects First with Java’.

Mert Çalışkan

Java Champion, Director of OpsGenie Academy, Published Author, Speaker

Leonardo M R Lima

Java Champion, JSR Spec Lead

Cesar Hernandez

Java Champion, Senior Software Engineer at Tomitribe, Eclipse Foundation Committer, Guatemala Java User Group member, Speaker, and board member of Latin America Virtual JUG JEspañol.

Rustam Mehmandarov

Java Champion, Chief Engineer, Leader of JavaZone, board member, and former leader of javaBin — Norwegian Java User Group.

Paul Bakker

Java Champion, Senior Software Engineer at Netflix

Geir Magnusson Jr

Java Champion, Member Apache Software Foundation, CTO at fuboTV

Jorge Vargas

Java Champion, JUG Leader JavaUP — Mexico — Speaker and member of JUG JEspañol.

Bruno Souza

Java Champion, JUG Leader of SouJava

Ian F. Darwin

Java Champion, Developer, Author, Trainer, Mentor, Speaker. Author of O’Reilly Java Cookbook, Android Cookbook.

--

--

Java Champions

The official Medium account of the Java Champions, an independent group of Java technology and community leaders.