Oracle Java Licensing Changes 2024
Executive Summary:
In 2024, Oracle’s “No-Fee Terms and Conditions” (NFTC) policy for Java ends: Oracle Java 17, formerly free to use, will require a paid license for updates after the NFTC period expires.
This article explains the end of the NFTC era for enterprises and how CIOs can navigate the changes in Java licensing. The Oracle Java licensing overview provides the broader context for understanding the shift away from the NF/TC model.
Oracle Java Licensing Changes 2024 – The End of the NFTC Era
The No-Fee Terms and Conditions (NFTC) license, introduced with Java 17 in 2021, was Oracle’s answer to mounting pressure from enterprise customers frustrated with rising Java subscription costs.
This special license temporarily reinstated free access to Oracle Java, even for commercial and production use, after Oracle had moved to paid licenses in 2019.
For two years, NFTC gave organizations a way to run the latest Long-Term Support (LTS) Java version legally for free – but that window quietly closed in 2024, catching many by surprise.
Pro Tip: “Oracle gives with one LTS, and takes with the next.”
What the NFTC License Actually Allowed
Oracle’s NFTC license covered Java 17 (and later LTS versions) for free use across all scenarios – commercial, personal, and internal. It removed the upfront cost of Java 17 and its updates, granting a reprieve from subscription costs.
However, NFTC was not a permanent free-use model; it was a grace period designed to expire. The terms were clear that the free use was time-limited, tied to the release cycle of the next LTS version.
What NFTC Covered vs. Older Oracle Java Licenses:
| Term | Applies To | Use Rights | Free Use Duration |
|---|---|---|---|
| NFTC (No-Fee Terms & Conditions) | Java 17 LTS (2021 release) | Free for all uses (including production) | Until the next LTS release (Java 21) |
| OTN License | Java 11 LTS (2018 release) | Free for dev/test and personal use only (no free production use) | Indefinite for development; production requires subscription |
| BCL (Legacy) | Java 8 and earlier (pre-2019) | Historically free for most uses | Retired model (Java 8 updates now require subscription or OTN terms) |
When Oracle released Java 21 in September 2023 (the next LTS after 17), it signaled the end of NFTC coverage for Java 17. Oracle is committed to providing free updates for Java 17 for only 1 year after Java 21’s release.
By late 2024, Java 17’s “free ride” under NFTC had officially expired. In other words, any new Java 17 update beyond that point would no longer be covered by NFTC – effectively re-imposing license requirements on organizations still using Oracle JDK 17.
Pro Tip: “NFTC wasn’t a free license — it was a timeout.”
2024 – The Transition to Paid Universal Subscription
As Java 21 launched and Java 17’s free period waned, Oracle made it clear that ongoing security updates for Java 17 would no longer be free. To stay current and secure, users had to either upgrade to Java 21 (which starts a new free period under NFTC until its next LTS) or start paying.
Enter the Java SE Universal Subscription, unveiled in 2023: Oracle’s new licensing model that shifted Java onto an employee-based subscription footing. Under this scheme, every employee in your organization is counted toward licensing, regardless of whether they actually use Java.
This marked a dramatic change from the past machine-based or named-user licensing. The Universal Subscription essentially turned Java into an enterprise-wide contract, often resulting in significantly higher costs for large companies.
Below is a comparison of the free NFTC model (as enjoyed with Java 17) versus Oracle’s Universal Subscription model (applicable to Java 21 and beyond for long-term support):
| Factor | NFTC (Java 17 era) | Universal Subscription (Java 21 era) |
|---|---|---|
| Cost | $0 licensing cost | $15–$5.25 per employee/month (scaled by volume) |
| Scope | Version-specific free use (Java 17 only, that LTS) | Organization-wide coverage for all Java versions (with paid license) |
| Updates & Patches | Free updates until next LTS release | Continuous updates, but only with active subscription |
| Audit Risk | Low – no license needed during free period | High – entire workforce must be correctly licensed (more exposure) |
This transition in 2023–2024 effectively ended free Java for enterprises who want to keep receiving updates. Oracle’s message to customers: if you intend to continue using Oracle’s Java after the free window, you must budget for it.
The generosity of NFTC was a bridge to get users onto the latest version, and the Universal Subscription is the toll road you’ll pay to stay there.
Pro Tip: “NFTC was a bridge. The Universal Subscription is the toll road.”
Why Oracle Ended the NFTC Era
Why would Oracle give something for free (Java 17 under NFTC) only to take it away and push a paid model?
The strategy becomes clear when you consider Oracle’s business motives:
1️⃣ Revenue Realignment: The NFTC experiment created a large base of unpaid enterprise Java users. Oracle saw untapped revenue in those users. Ending the NFTC period forces these organizations to resume paying for Java, realigning Java with Oracle’s revenue goals.
2️⃣ License Simplification: Oracle also sought to simplify and unify its Java licensing. Instead of juggling different models for different versions (free LTS here, subscription there), Oracle moved to a single global model—the all-encompassing employee-based subscription. In theory, one subscription type for all customers is simpler (though not necessarily simpler for customers’ budgets!).
3️⃣ Renewal Control: By funneling everyone into subscriptions, Oracle gains tighter control over renewals and support timelines. The company can ensure a steady, predictable stream of recurring revenue. No more indefinite free usage of an older LTS – you either upgrade promptly or start paying. This puts Oracle firmly in the driver’s seat for managing customer lifecycles.
4️⃣ Audit Leverage: The Universal Subscription model (counting employees) is straightforward for Oracle’s license auditors to enforce. It’s much easier to audit a company’s employee count than to track specific installations. This shift gives Oracle more leverage in compliance audits – any company not on a subscription is an obvious target if it continues running Oracle Java in production.
Analysis: Oracle’s move follows a pattern seen over the past few years – every licensing change since 2019 has further monetized Java and reduced the “free” options for customers. In short, each step has locked in more revenue while giving enterprises fewer ways to use Oracle Java without a paid agreement.
The Compliance Trap for Java 17 Users
For enterprises that standardized on Java 17 during the NFTC window in 2024, 2024 brought a silent risk. Many of these organizations happily took Oracle’s “free Java 17” offer and rolled out applications on Oracle JDK 17. But once Java 21 was released and the grace period ended, that free-use window closed. If companies kept installing Java 17 updates released after the cutoff (post-September 2024) without an Oracle subscription, they inadvertently stepped out of compliance.
This is the compliance trap: running Oracle Java in production beyond the free term without realizing the license terms have changed.
Oracle did not loudly announce “NFTC is over” to every user — the onus is on the customer to track the license timeline. Enterprises still running Java 17 under NFTC terms into 2024–2025 may now be using Oracle’s software outside of license rights.
The risk of an audit and back-billing for unsupported use is very real.
Redress Guidance: To avoid license violations and audit penalties, organizations should take immediate steps if they haven’t already:
- Do not install Oracle JDK 17 update releases dated after Java 21’s release (late 2023) unless you have a valid Java SE subscription. Any build of Java 17 after the NFTC free window (e.g., versions beyond those released in 2024) is not free for commercial use.
- Freeze or migrate systems currently on Oracle Java 17. Either stay on the last free NFTC-covered update (and accept no further patches), or migrate those workloads to a supported OpenJDK distribution or to Oracle’s Java 21 (to fall under Java 21’s NFTC period for now).
- Retain proof of version timelines for audit defense. Maintain documentation showing which Java versions and patch levels you are running. If audited, you’ll need to demonstrate that you did not use Oracle JDK 17 builds beyond the free period (or if you did, that you have subscriptions from that point forward).
Pro Tip: “Free until next LTS means ‘pay or stop patching’.”
The New Oracle Java Landscape (Post-NFTC)
Oracle’s Java licensing landscape has undergone a complete transformation over the last few years. The era of “free Java” for enterprises is essentially over, replaced by a cycle of temporary no-fee periods and mandatory subscriptions.
Below is a timeline of how we arrived here and what the post-NFTC environment looks like:
| Period | License Type & Model | Typical Customer Outcome |
|---|---|---|
| 2019 – 2022 | Oracle Java SE Subscription (per user or per processor) | Companies paid for Java by user or CPU; managed cost if usage was limited, but had to track installations closely. |
| 2021 – 2023 | NFTC for Java 17 LTS (free use license) | Many enterprises enjoyed free Java 17 usage and security updates – a temporary relief from payments. |
| 2023 – 2024 | Transition period (Java 21 release & new subscription) | Oracle pushed customers to either upgrade to Java 21 or start subscribing. Renewals for older Java turned into pitches for the new Universal Subscription. |
| 2024 onward | Java SE Universal Subscription (per-employee model) | Oracle’s default model for Java licensing. All enterprises must pay per employee for Java support on current and future LTS versions, or face losing access to updates (and increased audit risk). |
Key Insight: Oracle effectively used the Java 17 NFTC offer as a migration funnel – enticing enterprises to adopt the latest Java for free, then converting those deployments to paid subscriptions once the free period ended.
The strategy capitalized on the fact that, after two years of relying on Oracle Java 17, many organizations would be deeply dependent on it and less inclined to rip and replace immediately.
Pro Tip: “The real product was never Java — it was a dependency.”
Options for Enterprises Still on NFTC Builds
If you relied on NFTC licensing for Java 17, you now face a crossroads. With the end of free updates, doing nothing is not a safe option. Organizations essentially have three choices in the future for those Java environments:
| Option | Description | Cost | Risk |
|---|---|---|---|
| Subscribe | Purchase Oracle’s Java SE Universal Subscription for all employees. This will cover Java 17 (and any other version) with ongoing updates. | High – Significant annual fees per employee | Low – You stay in full compliance with Oracle and receive all patches |
| Migrate | Switch to OpenJDK or another vendor’s Java build (e.g. Azul Zulu, Eclipse Adoptium, Red Hat OpenJDK) for Java 17 or upgrade to OpenJDK 21. These are TCK-compliant Java distributions without Oracle’s license fees. | Low – Typically free or much cheaper support contracts | Low – If done properly, you remain compliant and get updates (risk mainly lies in ensuring compatibility and support) |
| Freeze | Keep running Oracle Java 17 but do not apply any further updates beyond the last free NFTC version (no patching). Essentially, stay on Java 17.0.xx that was last free. | None – No new licensing cost (and no effort to migrate) | High – Security and compliance risk grows over time; you’ll be out of date and a prime target for audits or vulnerabilities |
Redress Recommendation: For most enterprises, the pragmatic choice is to migrate to a vendor-supported OpenJDK distribution.
This path lets you maintain up-to-date Java 17/21 environments and remain compliant, while avoiding the hefty price tag of Oracle’s universal subscription.
In practice, many organizations are now testing their applications on OpenJDK variants to ensure a smooth transition away from Oracle’s JDK. Subscription costs to third-party Java providers (or even just using free OpenJDK with community support) can be dramatically lower than Oracle’s per-employee fees.
The Broader Impact – End of Free Enterprise Java
The quiet sunset of the Java 17 NFTC license in 2024 marks the completion of Oracle’s journey toward fully commercializing Java. Oracle has effectively turned Java into a subscription product.
All modern LTS releases (Java 17, 21, and beyond) now fall into either a paid model or a strictly time-limited, no-fee period. There are no more “free forever” options for Oracle Java in enterprise settings. If you want long-term security patches and updates, Oracle expects you to eventually pay.
This means the concept of downloading an Oracle JDK and running it in production indefinitely, at no cost, is gone. Even the so-called no-fee terms are more like a temporary trial.
For enterprises, Java is no longer just a development platform – it’s a licensable asset that needs active management. The onus is on organizations to either budget for Oracle’s Java or adopt alternatives. We’ve essentially reached the end of free Oracle Java for business use.
Pro Tip: “Oracle’s free Java is like a free trial — it always ends.”
How to Respond Strategically
Facing this new normal, CIOs and IT asset managers must respond proactively to avoid unwelcome surprises.
Here’s how enterprises can strategize in the post-NFTC era:
1️⃣ Audit your Java footprint. Begin with a thorough inventory: identify all Oracle JDK installations across your servers, VMs, containers, and desktops. Know exactly where Oracle Java (especially versions 17 and 21) is running in your environment. You might be surprised to find legacy apps or developer tools bundling Oracle JDK.
2️⃣ Determine license exposure. For each Oracle Java deployment, check which version and update level is in use, and what license applies. Are you running any Java 17 updates released after the free period (post-2024) without a subscription? Are there Java 11 or 8 instances that might still fall under older licenses? Pinpoint where you are out of compliance so you can prioritize those risks.
3️⃣ Plan migration or upgrades. Develop a migration plan to move off Oracle’s JDK where feasible. This could mean upgrading applications to Java 21 (to take advantage of its current NFTC free period, buying you time), or ideally migrating to OpenJDK distributions for Java 17 or 21. Test your critical applications on alternative JDKs. If you have vendor support (from Red Hat, Azul, Amazon Corretto, etc.), engage them for a smooth transition.
4️⃣ Reframe negotiations with Oracle. If you must engage with Oracle for Java licensing, approach it as part of your broader Oracle relationship. Oracle may try to bundle Java subscriptions into database or middleware renewals. Be prepared: know your alternatives and costs. Use the fact that you can migrate away as leverage in negotiations for better pricing or concessions. Don’t treat Java in isolation – it’s now a bargaining chip in your larger Oracle strategy.
5️⃣ Document and ensure compliance. In the future, treat Java like any other licensed software in your compliance program. Keep records of where and how each Java version is used, what license terms apply, and when those terms change. Establish internal policies for Java updates—for instance, procedures to evaluate license implications before rolling out a new Java patch. By maintaining a paper trail and implementing controls, you can defend your organization during audits and prevent accidental non-compliance.
Checklist – Preparing for the Post-NFTC Era
Use the following checklist to make sure your organization is prepared to navigate the end of the NFTC era and the rise of Oracle’s Universal Subscription model:
- ✅ Inventory all Oracle JDK installations – Know every instance and version of Oracle Java running in production, test, or development.
- ✅ Confirm update cut-off points – Identify if any systems have applied Java 17 updates released after the NFTC free period (after September 2024). Those are red flags for compliance if you lack a subscription.
- ✅ Replace Oracle binaries with OpenJDK – Where possible, swap out Oracle JDK for OpenJDK or a third-party supported Java. Ensure the new binaries are functionally equivalent and test thoroughly.
- ✅ Establish a multi-vendor Java support model – Don’t rely on Oracle alone. Consider maintaining support contracts with vendors like Azul or using community OpenJDK for less critical workloads. This diversifies your risk.
- ✅ Educate procurement and IT teams – Make sure stakeholders understand that Java 17’s no-fee license has expired. Train your procurement and software asset management teams to recognize that continuing to use Oracle Java without paying (beyond the free versions) is a license violation. They should be alert to any usage that might trigger fees.
Pro Tip: “Oracle changes rules mid-game — your defense is version control.”
(In practice: track which Java versions you deploy and when. Don’t assume what was free last year is free this year.)
Looking Ahead – 2025 and Beyond
Oracle’s Java licensing strategy will continue to evolve, and enterprises should stay vigilant. Looking ahead, here are likely developments and how they might impact you:
- Aggressive audits and enforcement: Oracle is expected to further tighten audit enforcement on organizations that benefited from NFTC. If you used Java 17 for free, you could be on Oracle’s audit shortlist in 2025–2026. We anticipate Oracle’s license management teams will increasingly treat Java as a revenue-generating product, similar to how Oracle Database was treated in past audits. Be prepared to demonstrate compliance or provide proof of migration in response to audit inquiries.
- Shorter “no-fee” windows for new LTS releases: Oracle may reduce the grace period for future LTS versions. Java 21’s NFTC lasts for 1 year after Java 25’s release (planned for 2025). It wouldn’t be surprising if Oracle shortens or even eliminates the no-fee period in the future, effectively forcing companies to subscribe sooner. Watch for changes in the terms when Java 25 or Java 29 comes around – the rules could tighten.
- Bundled Java pricing in larger deals: Oracle will likely start bundling Java subscriptions into broader Oracle agreements. For example, when renewing an Oracle Database or Cloud contract, Oracle’s sales teams might include Java SE Universal Subscription as part of the package (or offer discounts if you add it). This bundling can make it harder to discern Java’s separate cost and could pressure customers into covering all their Java usage as part of enterprise license agreements. It’s a tactic to increase Java adoption (and revenue) under the guise of a unified deal.
Strategy: Future-proof your Java environment now. The best defense against Oracle’s licensing maneuvers is to minimize your dependency on Oracle’s Java binaries. Standardize on OpenJDK builds (which are freely available and open source) where possible, so you’re not tied to Oracle’s timetable and fees.
Establish internal governance to proactively track Java usage and updates. And if you must use Oracle JDK for specific products, limit it to those that are truly necessary and budget accordingly.
By taking these steps before your next Oracle renewal cycle, you position your organization to negotiate from a place of strength – or avoid the negotiation altogether by not needing Oracle Java licenses in the first place .
Read about our Java Licensing Services