Oracle Java Licensing Explained
Oracle has changed its Java pricing several times over the last decade, and the current array of Oracle Java licenses can be confusing and make it difficult to know which terms apply to your JDK version.
This guide breaks down the major Oracle Java licenses, when they apply, which Java versions they apply to, and how they affect organizations.
We’ll also walk through practical examples so you can see how the licensing works in practice.
Azul Saves Customers Money on Oracle Java Licenses
Azul is among the few vendors singularly focused on Java, with a strong track record of successfully migrating enterprises like the University of Southern Queensland, Ausgrid, and Sasol off Oracle Java to supported OpenJDK.
Our hands-on experience with Oracle Java migrations, licensing, and enterprise Java environments is what this article draws its insights from.
What Are the Free and Open-Source Oracle Java License Categories?
1. Oracle No-Fee Terms and Conditions (NFTC) License
What it Is:
- A free-use license that permits general commercial, production, personal, and development usage for specific versions and time windows.
Which Versions it Applies to:
- Long-term support (LTS) releases like:
- Oracle JDK 25: Fully covered till September 2028
- Oracle JDK 21: Fully covered till September 2026
- Oracle JDK 17: Only older updates released between September 2021 and October 2024 remain free under the NFTC. These include versions 17.0.0 through 17.0.12. Newer updates past 17.0.12 require a paid subscription for production use.
- Non-LTS feature releases like:
- Oracle JDK 26: Fully covered till September 2026
- Older Non-LTS Releases (Java 18, 19, 20, 22, 23, 24): Legacy builds only. Historical binaries originally downloaded under these versions remain under the NFTC. However, they are frozen and no longer receive security patches.
What it Means in Practice:
- If your Java version is still within its NFTC-covered update window, you can use that Oracle JDK release in production without paying for a Java SE subscription.
- After the NFTC window ends for your Java version, you can keep using the build you already have. But you won’t get newer Oracle updates for that release line unless you get a commercial subscription.
- If you’re using Java 17 versions 17.0.0 through 17.0.12 or non-LTS versions from 18 through 24, those specific binaries remain under the NFTC. But they are frozen at their respective update levels and receive no later security patches.
- If you keep running a version that has passed its NFTC window, you take on the risk of operating with known vulnerabilities that Oracle has since patched. Your options are to move to a newer Oracle JDK that remains eligible for the NFTC, purchase Oracle’s commercial support for continued access to maintained updates, or switch to another supported Java distribution like Azul Core (a lower-cost, fully supported alternative to Oracle Java SE for enterprise applications).
2. Oracle Technology Network (OTN) License Agreement
What it Is:
- A restrictive license that allows free use strictly for personal use, development, testing, and prototyping. Commercial production use requires a paid subscription.
Which Versions it Applies to:
- Newer Updates of Java 8
- All Oracle JDK 8 updates released after April 2019. So, Update 8u211 and newer.
- Legacy LTS Releases
- All Oracle JKD 11 updates.
- Post-Free-Window LTS Releases
- All Oracle JDK 17 updates released after October 2024. So, Update 17.0.13 and newer.
- Any Oracle JKD 21 update released after September 2026.
- Historic Non-LTS Releases
- All versions of Oracle JDK 12, 13, 14, 15, and 16.
What it Means in Practice:
- If you’re using an Oracle JDK release covered by the OTN license, you can use it for personal development, testing, and other permitted non-production purposes without paying for a Java SE subscription.
- If you want to use an OTN-covered Oracle JDK release for commercial production, you will generally need to pay for an Oracle Java SE subscription. Exceptions apply if your usage falls within one of Oracle’s permitted OTN categories.
- If you’re already using an OTN-covered JDK in commercial production without the required subscription, you may be out of compliance with Oracle’s licensing terms. If an Oracle audit identifies this, you may be required to purchase the appropriate license and address associated fees or other contractual consequences.
- To avoid that risk, either purchase the required Oracle Java SE subscription, move to an NFTC-covered OpenJDK version, or switch to another supported Java distribution. Azul Core, for example, provides comparable Java functionality without tying you to Oracle’s commercial Java licensing model.
3. Oracle OpenJDK Under General Public License v2 + Classpath Exception (GPLv2+CPE)
What it Is:
- An open-source license model that allows free use for personal, development, and commercial production environments without subscription requirements. Oracle provides its builds through jdk.java.net.
Which Versions it Applies to:
- Active Open-Source Releases
- Oracle OpenJDK 26: Currently available as an active release.
- Archived Open-Source Releases (Java 9 through 25)
- Feature Releases: Java 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24
- Early Access (EA) Builds
- Oracle OpenJDK 27 and 28: Pre-release builds available for testing upcoming Java features.
What it Means in Practice:
- If you’re using an Oracle OpenJDK build under the GPLv2+CPE, you can use, modify, and redistribute it for personal, development, and commercial production purposes without paying Oracle a subscription fee.
- If you’re using an active Oracle OpenJDK release, you can receive Oracle’s updates for that release during its active maintenance period. Oracle typically provides updates for an OpenJDK feature release for six months, until the next feature release becomes available.
- Once Oracle releases a newer OpenJDK version, it archives the previous Oracle OpenJDK build and no longer provides updates. You can continue using the archived build, but it remains frozen at its final update.
- For security updates after an Oracle OpenJDK build is archived, you can maintain the build yourself, rely on the OpenJDK community, or use a downstream provider.
- Azul Core is one example of a downstream OpenJDK provider, offering supported, TCK-certified OpenJDK builds with continued security updates and commercial support.
- If you’re using an Early Access (EA) build, you can test applications against upcoming Java releases before they become generally available (GA). EA builds are pre-release software and may lack the testing, stability, and security updates of GA releases, so they are intended for testing rather than production workloads.
Oracle Java SE Universal Subscription: The Main Paid Option for Commercial Licensing and Support
What it Is:
- An enterprise-wide, employee-based subscription for commercial Java SE licensing/support that covers desktops, servers, and cloud. The subscription includes Java licensing, tested performance and security updates, and Oracle support through My Oracle Support (MOS).
When it Applies:
- When an Oracle JDK release passes its NFTC window, and you want continued access to Oracle’s updates for that release.
- When you want to use an OTN-covered Oracle JDK in commercial production outside its permitted free-use categories.
- When you need Oracle’s commercial support/updates beyond “free” periods.
| Employee Count | Price per employee/month |
|---|---|
| 1–999 | $15.00 |
| 1,000–2,999 | $12.00 |
| 3,000–9,999 | $10.50 |
| 10,000–19,999 | $8.25 |
| 20,000–29,999 | $6.75 |
| 30,000–39,999 | $5.70 |
| 40,000–49,999 | $5.25 |
| 50,000+ | Contact Oracle |
For example, if you have 100 employees, you would pay $15 per employee per month, or $1,500 per month ($18,000 per year). With 500 employees, you would also pay $15 per employee per month, or $7,500 per month ($90,000 per year).
At 1,000 employees, the rate drops to $12 per employee per month, bringing the cost to $12,000 per month ($144,000 per year). And if your organization has a very large headcount, say 35,000 employees, the rate drops even further to $5.70 per employee per month, bringing your cost to $199,500 per month ($2.394 million per year).
What to Keep in Mind When Planning Costs:
- You pay a subscription fee for every employee in your organization, whether they use Java or not. Oracle’s definition of an employee is also very generous and includes part-time and temporary staff, contractors, outsourcers, and consultants who support internal business operations.
- The employee-based subscription covers up to 50,000 qualifying processors, excluding desktop and laptop processors. If your Java deployment exceeds that limit, Oracle requires additional licensing charged at a custom rate.
Legacy Subscription Products (Still Seen in Older Contracts)
Older products like Java SE Subscription, Java SE Desktop Subscription, Java SE Advanced, and Java SE Suite have transitioned to Universal Subscription, but some existing customers may still have entitlements and support under their prior agreements.
Oracle JDK Pricing Cheat Sheet
| Oracle JDK Version | Applicable license | Commercial production |
|---|---|---|
| Java 8 | Up to 8u202: pre-OTN era (older terms) 8u211 and later: OTN license applies |
Up to 8u202: Depends on legacy terms 8u211 and later: Needs subscription |
| Java 11–16 | OTN | Needs a subscription unless qualifying for a free-use category |
| Java 17 | 17.0.0–17.0.12: NFTC 17.0.13 and later: OTN |
17.0.0–17.0.12: Free 17.0.13 and later: Needs subscription |
| Java 21 | Through Sept. 2026: NFTC After Sept. 2026: OTN |
Through Sept. 2026: Free After Sept. 2026: Needs subscription |
| Java 25 | Through Sept. 2028: NFTC After Sept. 2028: OTN |
Through Sept. 2028: Free After Sept. 2028: Needs subscription |
Why You Might Need to Get Off Oracle Java
After Oracle switched its commercial licensing pricing model to a per-employee model in 2023, many organizations saw their Java costs jump 2x to 5x.
Since then, a lot of internal shuffling has happened as teams figure out what to do with their Oracle Java estates. Azul’s 2026 State of Java Survey and Report shows that many enterprises are moving decisively.
81% of respondents have migrated, are migrating, or plan to migrate at least part of their Oracle Java estate to a non-Oracle OpenJDK distribution. And a whopping 63% intend to migrate their entire Java estate.
Higher costs are a major driver of that shift, with 37% of respondents citing cost as a reason for migrating away from Oracle Java. But cost is not the only concern. 31% cited a preference for open source, 29% pointed to uncertainty around ongoing pricing changes, and 26% cited Oracle Java audit risk. 21% of respondents have already experienced an Oracle Java audit.
If your organization is reviewing its Oracle Java strategy, you may be asking: How can we reduce our Java costs? Can we avoid Oracle audit exposure? If we move to OpenJDK, how will we get the security updates and commercial support our Java applications still need?
Azul steps in during this critical review period, offering Azul Core, a cheaper, fully supported alternative to Oracle Java. Organizations that switch from Oracle Java to Azul Core typically see 50% to 70% lower costs, while retaining commercial support and security updates.
If your goal is to get off Oracle Java, reduce licensing costs, and still have a supported Java runtime with ongoing security updates, Azul Core is one option to consider.
How Azul Core Compares to Oracle Java SE Universal Subscription
| Consideration | Oracle Java SE Universal Subscription | Azul Core |
|---|---|---|
| Pricing model | Per-employee subscription, including employees who do not use Java | Commercial pricing based on the number of cores or desktops being used, reflecting actual Java usage |
| Supported Java versions | Oracle JDK versions covered by the subscription and Oracle’s support lifecycle | Supported OpenJDK versions, including current and long-term-support releases |
| Security updates | Access to Oracle security updates for covered versions | Continued security updates, including backported security fixes for supported releases |
| Support SLAs | Oracle support through My Oracle Support | 24x7x365 dedicated Java support with production SLAs |
| Migration support | Flexibility to plan migration to Oracle OpenJDK | Drop-in replacement with migration tools and advisory services |
| Licensing exposure | Subject to Oracle’s commercial licensing terms, employee metric, and audit requirements | OpenJDK-based licensing without Oracle Java subscription requirements, plus IP and license-contamination protections |
Ready to Move Off Oracle Java? Start With Azul Core
If Oracle’s employee-based pricing, licensing exposure, or upcoming support deadlines are making your Java estate harder to manage, it may be time to explore Oracle Java alternatives. Azul Core is a TCK-verified, drop-in replacement for Oracle Java that combines commercial support, ongoing security updates, and up to 70% lower costs.
And switching to Azul Core does not mean taking on a complex migration. We offer migration advisory services and tools to help you discover your Java estate, assess migration requirements, and move from Oracle Java with less risk and disruption.
Want to see what Azul Core is all about? Watch the on-demand Azul Core demo to see it in action, or explore our Oracle JDK migration guide to start planning your move.
FAQs
1. Do You Need a License for Oracle Java?
Yes. You need to use Oracle Java under an applicable license, whether that is a free Binary Code License (BCL), NFTC, or OTN license, or a paid Java SE Universal Subscription.
2. Is Oracle JDK Free?
Some Oracle JDK versions are free for commercial production under NFTC, but others require a subscription. For example, Java 21 and 25 are currently covered by NFTC, while newer Java 8, 11, and post-17.0.12 releases generally require a subscription.
3. How Is Oracle Java Priced?
Oracle Java SE Universal Subscription uses an employee-based pricing model. You pay based on your organization’s employee count, not just employees who use Java.
4. Is Java 17 Free for Commercial Use?
Oracle JDK 17.0.0 through 17.0.12 are covered by NFTC. Updates from 17.0.13 onward require a subscription for commercial production use.