Summary
Oracle has changed its Java pricing several times over the last decade, and the current array of Oracle Java licenses can be confusing. Here’s a brief explanation and a cheat sheet to help.
In this post you will learn:
- The three major categories of Oracle Java licenses
- Oracle’s paid Java licenses for commercial licensing + support
- Which Oracle Java licenses apply to which JDK versions
We often hear about Oracle Java licenses and OpenJDK Java licenses. But it’s confusing enough that you might ask, “Which Oracle Java licenses?” and “Why that Oracle Java license?”
So here is a breakdown of Oracle Java licenses, when they apply, which Java versions they apply to, and how they affect organizations.
What are the three major Oracle Java license categories?
1. Oracle No-Fee Terms and Conditions (NFTC) license
What it is:
- Oracle’s “free to use (including production)” license for Oracle JDK for certain release lines and time windows. Oracle describes it as permitting free use for all users, subject to the license conditions. LINK
When it applies:
- Oracle JDK 21 and later are under NFTC for a defined update period, after which Oracle says later updates for that version move to OTN (see below).
- Oracle’s own “LTS License Guide” table spells out the time windows (example: Java 21 updates under NFTC until ~Sep 2026; Java 25 until ~Sep 2028).
How it works in practice:
- If you stay within the NFTC-covered update window for that release line, you can use Oracle JDK in production without a paid Java SE subscription.
- After the NFTC window ends for that major version, continuing to get Oracle’s later updates for that line generally means you’re in OTN / paid support territory.
2. Oracle Technology Network (OTN) License Agreement for Oracle Java SE
What it is:
- This license permits certain uses at no cost (personal, development, etc.) but restricts free commercial production use versus older terms.
When it applies (common cases):
- Oracle JDK 8 updates starting 8u211 moved to OTN terms (April 2019).
- Oracle JDK versions 11–16 for most users (unless covered by a paid subscription or special rights).
- Oracle JDK 17: Oracle indicates NFTC covered releases through a certain point release, and later updates typically require a subscription for production use.
How it works in practice:
- OTN is typically “free for personal/development” but not broadly free for commercial production (unless your usage falls into Oracle’s permitted categories or you have a subscription).
3. OpenJDK under GPLv2 + Classpath Exception (GPLv2+CPE)
What it is:
- Oracle’s OpenJDK builds under the standard open-source license for OpenJDK. Oracle notes Oracle OpenJDK releases (since Java 9) are under GPLv2+CPE.
When it applies:
- Oracle OpenJDK builds for various versions, but the update cadence/support window differs from Oracle JDK (often shorter).
How it works in practice:
- You can use it freely under open-source terms, but you may not get the same long-term update stream Oracle provides to subscribers for Oracle JDK.
What are Oracle’s paid Java licenses for commercial licensing + support?
Java SE Universal Subscription (current main commercial subscription)
What it is:
- Oracle’s current subscription offering for commercial Java SE licensing/support is an enterprise-wide, employee-based subscription that covers desktops, servers, and cloud.
When it applies:
- This is an enterprise-wide, employee-based subscription that covers desktops, servers, and cloud. Generally, you need it when you want to use Oracle JDK in production outside the free grants (e.g., OTN restrictions, or after NFTC windows end for that release line) or when you need Oracle’s commercial support/updates beyond “free” periods.
How it works in practice:
- Oracle has been rolling out an employee-based pricing model since 2023. Note that Oracle charges by employee count (whether they use Java or not) with a generous definition of employee (including part-time employees and contractors).
Legacy subscription products (still seen in older contracts)
lder 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
Java 8 (Oracle JDK)
- Up to 8u202: pre-OTN era (older terms)
- 8u211 and later: OTN license applies (commercial production generally not free)
Java 11–16 (Oracle JDK)
- Commonly treated under OTN terms for most users (production use usually needs subscription unless qualifying for a free-use category).
Java 17 (Oracle JDK)
- Oracle indicates NFTC covered releases through a cutoff , and then later updates become available via Oracle customer channels / OTN constraints.
Java 21 (Oracle JDK)
- Under NFTC for all users for a defined update period (Oracle’s downloads page explicitly states free production use under NFTC and gives an “until” date for NFTC updates).
Java 25 (Oracle JDK)
- Same NFTC concept: free production use under NFTC for a defined update window; then subsequent updates move to OTN according to Oracle’s downloads notes.
Learn more
Often it’s more cost-effective to use a non-Oracle open-source Java alternative, especially if you are being moved to an employee-based pricing model. Azul Platform Core is a cost-effective alternative OpenJDK distribution. It provides all necessary backported security fixes and bug fixes. This is priced based on the number of cores or desktops being used, so it reflects the actual amount of Java being used. If you’re using Oracle Java 21, the clock is ticking.
The important thing is to make an informed decision. Read Gartner’s report, 3 Steps to Manage Exposure for Oracle Java SE Licensing, for much more objective information.
