Executive Summary: Java 21 End of Support
Oracle has designated September 2026 as the date when free updates for Java 21 will end. Continued updates and production use will require a fee under the terms of the Oracle Technology Network (OTN) license. The countdown to Java 21 end of support has begun.
What has led to this? Oracle released Java 25 in September 2025, which means 12 months from that date the Oracle Java 21 “free” No-Fee Terms and Condition (NFTC) license will become a paid license. Enterprises have a decision to make: upgrade their applications to Java 25 (the latest Long Term Support release) so they can avoid paying Oracle or stay on Java 21 (the last LTS release) and pay an average 2-5x increase in licensing costs.
However, there is a third alternative, which is to make the switch from Oracle to OpenJDK. This lets organizations remain on Java 21, with Java 21 support from a third-party vendor, and choose when (or if) they upgrade to Java 25 while avoiding Oracle’s employee-based pricing model, which for a 10,000+ person enterprise can cost as much as $1M/year.
Azul Core is a 100% compatible, drop-in solution for Oracle Java Standard Edition (SE) that is typically 70%+ less expensive while delivering the same or greater level of support
The Oracle Java License Treadmill
You want your development teams spending their time and resources on new features and functionality, not necessarily upgrading, testing, and troubleshooting Java. But in some cases, organizations don’t have a choice. Oracle’s licensing model forces enterprises into a never-ending cycle of updates because the NFTC license expires one year after every new LTS version of Java is released. That is why Java 21 end of support arrives one year after the Java 25 release, and why the same decision point will return with the next LTS version.
For IT teams, that means dedicating time and resources to upgrading to the most recent release of Java once every two years if you’re working with Long Term Support (LTS) versions, or even more frequently if you’re working with Short Term Support (STS) versions.
Otherwise, the impact will fall on software asset managers and procurement teams, who will need to deal with blown budgets as a result of Oracle’s latest Java license model that is based on an employee count where “employee” includes:
- All full-time, part-time and temporary employees
- All full-time employees, part-time employees and temporary employees of agents, contractors, outsourcers, and consultants that support your business operations
- Potentially non-technical staff such as students, miners, factory workers or janitorial employees – regardless of whether they use Java applications.
For most large enterprises, this pricing model has meant a significant increase in the licensing fees they pay Oracle – as much as a five-fold increase according to Gartner (source) – which can be budget-destroying if not planned for. Unfortunately, this is not new. Companies that have been paying Oracle for years will tell you that from 2019 to 2023, Oracle changed its Java licensing model four times in four years. This kind of unpredictability is one of the key reasons enterprises are forced to remain on the Oracle upgrade treadmill.
Opportunity Costs
IT teams are busy. They see little value in fixing something that’s not broken. Time and resources spent upgrading to a new version of Java represents a significant opportunity cost, especially when it delivers little more than a performance boost unless more time and resources are spent to take advantage of new features. Worse, enterprises may have to pay that cost when it makes little sense for their business, driven by Oracle’s impending Java 21 end of support deadline.
Where IT may at one time have weighed the pros and cons of upgrading each older application to a newer version of Java, Oracle has taken away that choice since even one application that uses a non-NFTC-licensed version of Java means the entire organization is subject to Oracle’s “per employee” pricing.
And unless IT teams have planned aggressively, they will be forced into a risky big bang approach, moving all applications at once before the September 2026 deadline. Depending on the size of an enterprise’s Java estate, IT teams could be resource constrained, representing a significant opportunity cost to the organization.
Upgrade Pitfalls
If the upgrade to Java 25 follows a similar path to that for Java 21, there are a number of concerns that enterprises have little or no control over and should therefore be aware of, including:
- Release Stability – early adopters often find issues in new releases. As more organizations adopt the latest version, more issues arise. This is especially true for LTS versions of Java, which are most commonly deployed to production and therefore undergo rigorous testing. As a result, multiple quarterly updates are often required post-release before a new version of LTS Java becomes stable enough to deploy to production.
- Unavailable Dependencies – applications built in-house incorporate numerous open-source libraries and frameworks that are maintained by developers with whom enterprises have no commercial relationship. Many open-source developers take a “best effort” approach to updating their libraries but rarely have a contractual obligation to do so. As a result, enterprises lack agency to ensure that all the libraries their applications depend on can be upgraded to Java 25 in a timely manner.
- Incompatible Dependencies – when one dependency is upgraded, it may no longer be compatible with one or more other dependencies. This a well-known issue typically referred to as “dependency hell.” Trying to find a solution in which all dependencies work together can delay upgrading to Java 25.
- Independent Software Vendor (ISV) Readiness – enterprises also rely heavily on third-party applications. ISVs will typically perform extensive testing against newer versions of Java to ensure their applications are compatible. However, given the issues stated above, they may be unable to support Java 25 in a timely manner. Unfortunately, since the vast majority of ISVs no longer embed a JDK in their product, the risk falls entirely on the end user.
In summary, while some applications may be upgradable to Java 25 in time to meet Oracle’s September 2026 deadline, others may not be upgradable for months afterward. This is at a time when 73% of enterprises report having been audited for their Java use by Oracle in the past three years (source).
Note that there is an additional concern specific to Java 25, namely the loss of 32-bit support. Depending on how prevalent 32-bit systems and environments are across the extended enterprise, it may represent a significant cost to retire these systems, acquire and redeploy new ones – if that’s even possible. Some legacy 32-bit applications that businesses rely on may not have a modern equivalent.
Again, a single application that cannot be upgraded makes the entire enterprise liable. While you may be able to negotiate an exception with Oracle this time around, the next upgrade cycle may not find them so lenient.
The Azul Alternative to Oracle Java SE for Java 21 Support
How do you get off the Oracle treadmill and regain control so you can choose when (or if) you upgrade to Java 25? By switching to OpenJDK.
Azul offers an alternative to Oracle Java that’s typically 70%+ less expensive. Azul Core includes Azul Zulu Builds of OpenJDK, which are derived from the same OpenJDK repository as Oracle Java SE. Java functionality like the JVM, libraries, etc. are completely interchangeable. No modifications to source code are required to replace one with the other, nor is a recompilation of application code necessary.
In addition, every build of Azul Core has been extensively tested against Oracle’s Technology Compatibility Kit (TCK), which is provided as part of the relevant Java Specification Request (JSR). There are over 150,000 tests that ensure a binary conforms to the defined specification and provides a high level of confidence of functional equivalence between tested Java Development Kits (JDKs).
Azul is also the only OpenJDK vendor that delivers update equivalence with Oracle Java, providing both security-only Critical Patch Updates (CPUs) on a quarterly basis, as well as out-of-cycle patches to address zero-day vulnerabilities, customer-specific issues, and so on. In practice, this means enterprises do not need to modify any of their existing security, patching or update processes, and Java 21 support continues without disruption after Oracle’s Java 21 end of support date.
Enterprises that are unsure about getting off the upgrade treadmill should be aware that migrating from Oracle Java to Azul Core is a straightforward, three-step process:
- Discovery: Catalog all your JVMs and then automatically analyze them to identify where each one is installed, whether it has a license liability, and more.
- Migration: An iterative process across desktops and servers that can be automated using Azul’s Migration Playbooks.
- Compliance: Post-migration, ensure ongoing Oracle defense and regulatory security compliance.
This proven methodology has a track record of 100% success across hundreds of enterprise migrations based on tools, products, best practices and guidance from key teams, including:
- A global network of trained and certified partners that can relieve the burden from internal teams. You can find a migration partner from our PartnerConnect directory.
- The Azul Migration Support Team which provides partner training & customer help with migration.
- The Azul Global Technical Support Team, which can provide timely responses to any issues that may arise during migration.
Conclusion: How to Defuse the Oracle Java Threat
At times, it can feel like Oracle is holding enterprises hostage, ransoming them for the cost of an increasingly pricey Java license, or else forcing them to spend the time and resources to upgrade their Java applications in order to avoid significant licensing costs.
Most enterprises have a raft of ISVs they rely on to provide them with timely updates to their Java applications in order to avoid a commercial license liability to Oracle. But one missed deadline, or even one missed application update, can result in millions of dollars in unplanned costs should the enterprise be audited.
Azul offers a way out with our OpenJDK offering that delivers a number of key benefits:
- 70%+ cost savings
- Usage-based pricing
- Straight-forward licensing and no audits
With Azul, enterprises gain dramatic savings, unparalleled security and the best Java support in the industry. Get off the Oracle Java upgrade treadmill and choose when (or if) you upgrade to the next version of Java. Your teams will thank you for it.