Oracle Java licensing remains one of the most complex and pressing IT challenges for enterprises in 2025.
Over the past decade, what was once a freely available technology has evolved into a web of paid subscriptions, complex license terms, and compliance traps.
This guide provides a clear executive overview of how Oracle’s Java licensing has changed from “free” to largely paid and what that means for organizations today.
We will clarify the past, present, and future models so you can navigate this complexity strategically and avoid costly surprises.
History of Oracle Java Licensing
Understanding how Java’s licensing evolved is crucial for compliance. Oracle’s approach has shifted dramatically over time:
- Sun Era (Free Java): Originally, Java was provided under Sun’s Binary Code License (BCL), which allowed free commercial use. Businesses could run Java SE 6 and 7 in production at no cost (support from Oracle was optional). This free-use era made Java ubiquitous in enterprises.
- Introduction of OTN License: In the late 2010s, Oracle significantly altered the terms of Java. It introduced the Oracle Technology Network (OTN) License for Java 8 updates and new releases. Under OTN, Java remained free only for development, testing, or personal use – any production use now required a paid subscription. In 2019, Oracle stopped free public updates for Java 8, marking the end of free Java in business environments.
- Rise of Subscriptions: Starting with Java 11 (2018 LTS), Oracle moved to a subscription model for commercial Java use. Companies had to pay for Java SE Subscription plans (initially priced per server or per user) to get updates and support. This model evolved further in 2023 with the “Java SE Universal Subscription” based on total employee count, broadening the scope (and cost) of Java licensing.
Java 6 and Java 8 Licensing Explained
Java SE 6/7 (Legacy):
Older versions, such as Java 6 and Java 7, were provided under the BCL and were free for commercial use. There were no license fees for running them in production (beyond optional support contracts), although they are now obsolete and unsupported. Today, using these old versions mainly poses security risks rather than licensing issues.
Java SE 8:
Java 8 was also free under the BCL when it was released in 2014, but Oracle changed its terms in 2019. With the release of Java 8 Update 211 (and later), Oracle moved Java 8 onto the OTN license, meaning that any commercial use of those updated versions now requires a paid subscription. In practical terms, if a company applied Oracle’s post-January 2019 patches to Java 8, it implicitly agreed to a license that is not free for production use.
This has become a major compliance trap: organizations running Java 8 in business environments may unknowingly be out of compliance if they have not kept Java 8 updated.
For example, one manufacturer running a legacy ERP on Java 8 discovered, through an Oracle audit, that applying late-2019 security fixes had incurred roughly $2 million in license fees that it hadn’t budgeted for.
Enterprises still using Java 8 must carefully check which update versions they have and ensure they are either licensed or migrate to alternatives.
Java 11 Licensing – The First Subscription Model
Java SE 11 (released in 2018) was a turning point that introduced paid licensing for Java. Oracle’s JDK 11 was offered under the OTN license for non-production use, but any production deployment now requires a paid Java SE Subscription.
In other words, if an organization wanted updates and support for Java 11 in live environments, it had to start paying Oracle. This effectively ended the era of free Oracle JDK for enterprises.
The financial impact was significant. For instance, a large company with approximately 10,000 employees could end up paying around $3.6 million per year for Oracle Java licenses and support once it migrates to Java 11.
This sticker shock made it clear that Oracle was now treating Java as a revenue-generating product. Enterprises could no longer assume that using Java was cost-free – Java 11 forced them to account for Java in their IT budgets for the first time.
Java 17 Licensing – NFTC to OTN Transition
Java SE 17 (2021 LTS) arrived with Oracle’s new No-Fee Terms and Conditions (NFTC) license, temporarily allowing free production use. Under the NFTC, Oracle JDK 17 can be used at no cost (even commercially) until approximately one year after the next LTS release. In practice, this meant all Java 17 updates through September 2024 were free, but any update released after that time would require a paid license. In essence, once Java 21 came out, Java 17’s “free ride” was set to expire.
This grace period was a double-edged sword. It allowed organizations to adopt Java 17 without immediate costs, but it also introduced a hard deadline for licensing.
By late 2024, enterprises still using Java 17 would have to either upgrade to Java 21 (to remain on a no-fee version) or start paying for a Java SE subscription to continue receiving updates for Java 17.
Some companies that didn’t closely track this timeline found themselves unknowingly out of compliance when the free period ended. Java 17 taught the lesson that Oracle’s “no-fee” offer is temporary – you must plan for what happens when the free period lapses.
Java 21 Licensing – The Latest Release
Java SE 21 (2023 LTS) is following the “free for now, pay later” pattern. Oracle has released JDK 21 under the NFTC license, allowing organizations to deploy Java 21 in production initially without incurring fees. However, this no-cost period is temporary – it lasts only until about one year after the next LTS (Java 25, expected in 2025) is out.
After that, continued use of Oracle Java 21 for updates/support will require a paid subscription. In short, adopting Java 21 provides a brief free window, but it ultimately commits you to Oracle’s subscription model if you stay on it in the long term.
Importantly, Java 21 aligns with Oracle’s new employee-based Java SE Universal Subscription model. Any enterprise running Java 21 in production beyond the NFTC period should expect to pay for licenses based on the total number of employees.
This can become very costly: for example, around 25,000 employees would equate to roughly $9 million per year in Java fees under Oracle’s pricing.
Thus, moving to Java 21 effectively means being prepared for the full weight of Oracle’s latest licensing scheme once the initial free grace period expires.
License Models Explained: OTN, NFTC, and Employee-Based Subscription
Oracle uses three primary licensing models for Java: the Oracle Technology Network (OTN) license, the No-Fee Terms and Conditions (NFTC) license, and the Employee-Based Subscription model introduced in 2023.
The table below highlights the key differences, restrictions, and cost implications of each model.
License Model | Free Usage Allowed | When Payment is Required | Cost Basis |
---|---|---|---|
OTN (Oracle Tech Network) | Development, testing, and personal use only. No free commercial production use. | For any production/commercial use of Oracle JDK (beyond dev/test or personal purposes), an active Java SE Subscription is required. | Subscription fees per server (CPU) or per user under the pre-2023 model. Costs increase with the number of installations. |
NFTC (No-Fee Terms) | Full use of the latest LTS release (e.g., Java 17 or 21) for a limited period. Free only until the end of its defined no-fee term. | Once the no-fee period ends (roughly one year after the next LTS is released), further updates and production use require a paid subscription (or an upgrade to the newer LTS that is still in its free period). | No initial cost during the free term. After that window, standard subscription costs apply if you continue to use that LTS version without upgrading. |
Employee-Based Subscription | None beyond any NFTC window for the newest LTS version (development use is still free under OTN rules, but all production use must be licensed). | As soon as Oracle Java is used in production beyond the NFTC free window, you must purchase a subscription covering your entire employee count. | Annual fee based on total number of employees (including contractors). Leads to very high costs for large organizations (scales with workforce size). |
Oracle Java Licensing Timeline
Here are key milestones in Java’s licensing evolution:
- 2014 – Java SE 8: Released under BCL and widely adopted; free public updates provided until early 2019.
- 2018 – Java SE 11: First LTS under new rules. Oracle ends free updates for commercial use – Java 11 requires a subscription for patches and support (start of the paid model).
- Jan 2019 – End of Free Java 8 Updates: Oracle issues Java 8 Update 202, the last free public patch. Later updates (8u211 and above) fall under the OTN license, making Java 8 a paid product for businesses that need current fixes.
- Sept 2021 – Java SE 17: Released with the NFTC license (no-cost use during initial period). Oracle is offering Java 17 for free for a limited time to encourage upgrades.
- January 2023 – Employee-Based Licensing: Oracle introduces the Java SE Universal Subscription, based on total employee count, replacing per-device licensing and significantly increasing costs for many customers.
- Sept 2023 – Java SE 21: Latest LTS, initially free under NFTC. It aligns with the new subscription model for ongoing support after the free period.
- Late 2024 – NFTC Period Ends for Java 17: One year after the release of Java 21, free updates for Java 17 will cease. Continued use of Java 17 now requires a paid subscription or an upgrade to Java 21.
Compliance & Audit Risks
Oracle’s complex licensing changes have created several compliance pitfalls. Oracle’s auditors (License Management Services) know these well and often target them.
Below are some major audit risk areas by Java version and usage pattern:
- Java 6/7/8: Older Java versions 6 and 7 are no longer supported (security risk, but no license fee). Java 8 is only free up to update 202 – any use of Oracle Java 8 update 211 or later in production without a subscription is unlicensed.
- Java 11 (and Java 12–16): These versions were never free for business use. If Oracle finds Oracle Java 11 or similar running and you haven’t paid for a Java SE Subscription, they will deem it a compliance violation and can demand back licensing fees.
- Java 17: Oracle JDK 17 was initially free under NFTC, but after the free period ended (late 2024), continued use in production requires a subscription. Many companies risk unknowingly running Java 17 with updates beyond that date without paying, which an audit will flag.
- Java 21: Under Oracle’s latest model, using Java 21 in production effectively obligates you to the employee-based subscription. If unlicensed, Oracle can charge for your entire workforce. Even if you have a subscription, miscounting or misdefining “employees” can lead to audit disputes.
- Auto-Updates: Automatic update mechanisms in older Java installations could upgrade systems to versions that require licensing. Always disable or closely manage auto-updates in enterprise environments.
- Containers & VMs: Using Oracle Java in containerized or virtualized deployments can inadvertently increase usage counts (each container or VM instance may require licensing).
- Commercial-Only Features: Certain Java features, like Java Flight Recorder (JFR) and Mission Control in Java 8, were not covered by the free license. Activating these without an appropriate license is a violation.
- Audit Example: A large retailer audited in 2025 discovered unlicensed Oracle Java deployments (Java 8 and Java 17) across the company. Oracle hit them with a non-compliance claim of approximately $12 million – illustrating how small oversights can escalate into massive liabilities.
Cost Management Strategies
Given the high stakes, organizations should actively manage their Java licensing costs. Consider these approaches:
- Inventory and Assessment: Catalog all Oracle Java installations within your enterprise and remove any that are no longer needed. Many companies discover a significant number of Java instances sitting idle or supporting retired applications. Cleaning these up immediately reduces the amount of Java you actually need to license.
- Rightsizing Usage: For the Oracle Java instances you do need, try to limit their scope. Consolidate Java-dependent workloads onto fewer servers and avoid deploying Oracle’s JDK on every developer laptop or minor system. A smaller footprint means a smaller bill – and it gives you more bargaining power with Oracle.
- Use Open-Source Java (OpenJDK): Where feasible, migrate applications to free OpenJDK distributions (e.g., Amazon Corretto or Eclipse Temurin). These provide the same Java functionality without Oracle’s fees. By switching a bulk of your Java workloads to open-source versions, you can dramatically cut or even eliminate Oracle subscription costs.
- Negotiate with Oracle: If you must pay for Oracle Java, engage with Oracle to provide clear data about your actual usage and negotiate a better deal. Also, push for contract terms that protect you – for example, flexibility to adjust the subscription as you migrate off Oracle Java, or clarity on who counts as an “employee” to prevent future surprises.
- Ongoing Compliance Audits: Don’t wait for Oracle’s audit; conduct your own. Periodically scan for Oracle JDK installations and ensure each is either removed or licensed. Internal audits and good record-keeping put you in control and demonstrate to Oracle that you take compliance seriously, which can deter overly aggressive audit tactics.
Example: A global insurance company cut its annual Java spend from $15 million to $10 million by migrating most systems to OpenJDK and rightsizing its remaining Oracle licenses.
Strategic Recommendations for 2025–2026
Looking ahead, treating Oracle Java licensing as a strategic, top-level concern will yield significant benefits.
Here are key recommendations to mitigate risks and costs in the coming years:
- Elevate to the Executive Level: Ensure Java licensing is discussed at the highest levels of the company. Oracle Java now poses a significant financial and compliance risk, warranting board-level oversight within your organization.
- Audit Internally First: Don’t wait for Oracle’s audit; audit yourself. Assemble a team across IT, asset management, and procurement to regularly review where Oracle Java is used. If you find unauthorized usage (e.g., an Oracle JDK installed without a license), fix it immediately—either swap it out or obtain a license—before Oracle notices.
- Align IT, Finance, and Procurement: Make Java licensing a coordinated effort. IT should communicate technology choices (such as deploying Java 21 under a no-fee period) to Finance and Procurement, so everyone is aware of potential costs. A unified strategy avoids surprises and strengthens your position when negotiating with Oracle.
- Plan an OpenJDK Migration: Reduce reliance on Oracle over time. Default new projects to OpenJDK and identify existing systems that can be migrated. Start with less critical applications to build confidence, then move to mission-critical ones. Each successful migration shrinks your Oracle footprint and future financial exposure.
- Negotiate Protective Terms: If you enter or renew a Java contract with Oracle, ensure that you push for terms that safeguard your interests. For example:
- Employee Count Definitions: Ensure “employee” is defined to exclude categories (like contractors or non-IT staff) who don’t actually use Java.
- Coverage of All Versions: Confirm the subscription covers all Java versions you use (so you aren’t charged extra for legacy versions like Java 8 or 11).
- Flexibility to Downsize: Include provisions to reduce your license count or costs if your Java usage decreases (avoid paying for unused licenses).
- Audit Restraints: Limit audit frequency and require reasonable notice, so Oracle’s audits are infrequent and less disruptive.
Related articles
- Java 6 License Explained – Risks and Compliance in 2025-2026
- Java 8 Licensing Guide – From Free to OTN Restrictions: Compliance, Costs, and Strategy
- Java 11 License – What’s Free and What Requires Subscription
- Java 17 Licensing – NFTC vs. OTN and What Changed in 2025
- Java 21 License – What’s Free and What Requires Subscription
Read about our Advisory Services