📖 This is a pillar guide within our Oracle Licensing Knowledge Hub. It serves as the comprehensive reference for Oracle Java licensing, with detailed spoke articles covering specific topics linked throughout. Also see the Java Knowledge Hub and Java Blog for the latest updates.
The Complete Evolution: How Oracle Monetised a Free Download
Oracle's Java licensing has undergone four distinct phases, each shifting more cost and compliance burden onto customers. Understanding this evolution is essential because the licence agreement governing your Java installations depends on when Java was downloaded, which version is running, and which agreement was in effect at the time. Many enterprises have Java installations spanning multiple eras, creating a patchwork of compliance obligations that Oracle exploits as audit triggers.
| Era | Key Change | Licence Metric | Typical Cost (5,000 Employees) | Audit Risk |
|---|---|---|---|---|
| Pre-2019 | Java free under Binary Code Licence (BCL) | None, free for commercial use | $0 | None |
| 2019–2022 | Java SE Subscription introduced; free public updates ended | Per Named User ($2.50/month) or per Processor ($25/month) | $150,000–$300,000/year (actual Java users/servers only) | Moderate |
| January 2023 | Employee-based Universal Subscription replaces per-user/processor model | Per employee, entire organisation headcount | $315,000–$900,000/year (all 5,000 employees regardless of Java usage) | High |
| 2024–2026 | Pricing adjustments; aggressive audit enforcement; NFTC time limits enforced | Per employee (unchanged); pricing tiers refined | $315,000–$900,000/year (continued) | Very High |
Phase 1: Pre-2019 — The Free Era
Before January 2019, Oracle Java was effectively free for everyone. The Binary Code Licence (BCL) permitted commercial use of Oracle JDK in production at no cost. Security patches and updates were publicly available. Enterprises deployed Oracle JDK widely, often without tracking installations at all, because there was no financial or compliance reason to do so. Oracle had no Java audit programme, no Java compliance team, and no Java revenue stream.
This era created the conditions that Oracle would later exploit: Java became ubiquitous across enterprise IT, embedded in application servers, middleware, custom applications, developer workstations, and third-party software that bundles Java, with no inventory, no governance, and no awareness of which Java distribution was installed where. When Oracle changed the rules, most enterprises had no visibility into the scope of their Java exposure.
Phase 2: 2019–2022 — Subscriptions Arrive
In January 2019, Oracle introduced the Java SE Subscription, the first time Java required payment for commercial production use. Free public updates for Oracle Java 8 ended (the last free update was 8u202 in January 2019). Enterprises continuing to use Oracle JDK in production needed a paid subscription to receive security patches, bug fixes, and support.
| Metric | Description | List Price (2019–2022) | Typical Discounted Rate |
|---|---|---|---|
| Named User Plus (Desktop) | Each individual using Java on a desktop or laptop | $2.50/user/month | $1.50–$2.00/user/month |
| Processor (Server) | Each processor on a server running Oracle JDK | $25.00/processor/month | $15.00–$20.00/processor/month |
Under this model, organisations licensed only the specific users and servers running Oracle Java, not the entire employee population. A company with 5,000 employees but only 200 Java developers and 50 servers would license 200 NUP + 50 processors, not 5,000 employees. This targeted approach made costs manageable and proportional to actual Java usage. Our guide to calculating Oracle Java SE licensing costs covers the mechanics of both the old and new models in detail.
This era also saw the emergence of Oracle's Java "soft audits": informal enquiries from Oracle sales representatives requesting information about Java installations. These soft audits were the precursor to the more aggressive formal audit programme that followed.
Phase 3: January 2023 — The Employee-Based Revolution
The Employee Metric: What It Actually Means
Under the Universal Subscription, if your organisation uses Oracle Java anywhere, on even a single server or workstation, you must licence your entire employee population. "Employees" includes every full-time, part-time, and temporary employee plus every contractor and consultant supporting your business, worldwide. A company with 10,000 employees that runs Oracle Java on 5 servers must purchase 10,000 Java subscriptions, even if only 5 people interact with those servers. The metric bears no relationship to actual Java usage. It is a corporate headcount tax triggered by any Oracle Java presence in the environment. See our detailed breakdown of the top 10 things you need to know about employee-based Java licensing.
| Employee Count | List Price per Employee/Month | Annual List Price (Total) | Typical Negotiated Range |
|---|---|---|---|
| 1–999 | $15.00 | $180 × employees | $8–$12/employee/month |
| 1,000–2,999 | $10.50 | $126 × employees | $6–$9/employee/month |
| 3,000–9,999 | $8.00 | $96 × employees | $4–$7/employee/month |
| 10,000–19,999 | $6.00 | $72 × employees | $3.50–$5/employee/month |
| 20,000+ | $5.25 | $63 × employees | $2.50–$4/employee/month |
Worked Example: The Cost Explosion
A mid-size enterprise with 8,000 employees previously licensed 500 Named User desktops and 100 server processors under the 2019 model.
Old annual cost: (500 × $2.00 × 12) + (100 × $18.00 × 12) = $12,000 + $21,600 = $33,600/year.
New annual cost under Universal Subscription: 8,000 × $8.00 × 12 = $768,000/year.
That is a 23× cost increase, from $33,600 to $768,000, for the same Java usage. For current pricing details, see our updated 2026 Java pricing guide. This is not an extreme example; it is the standard mathematics of the employee-based model.
The Licence Agreements: BCL, OTN, NFTC Explained
Oracle's Java licensing is further complicated by multiple coexisting licence agreements that determine your rights depending on the Java version and when it was downloaded.
| Agreement | Java Versions | Commercial Production Use | Free Updates Until | Current Status |
|---|---|---|---|---|
| BCL (Binary Code Licence) | Java 6, 7, 8 (up to 8u202) | Free, permitted under BCL terms | January 2019 (last free update: 8u202) | Legacy, no new updates; running unpatched creates security risk |
| OTN (Oracle Technology Network) | Java 9, 10, 11+ (when downloaded from OTN) | Not permitted, development and testing only | N/A, production use never free | Active, production use requires Java SE Subscription |
| NFTC (No-Fee Terms & Conditions) | Java 17+ (when downloaded under NFTC) | Free, but time-limited to next LTS release + 1 year | Java 17: free updates ended Sept 2024 (1 year after Java 21 LTS release) | Active for Java 21; clock resets with each new LTS |
| Java SE Universal Subscription | All versions | Permitted, with paid subscription (employee-based) | Ongoing (with active subscription) | Oracle's current commercial offering |
The NFTC Trap
The No-Fee Terms and Conditions (NFTC) licence for Java 17+ creates a dangerous illusion of "free forever." In reality, NFTC free updates expire approximately one year after the next LTS version is released. Java 17 NFTC updates ended in September 2024 (one year after Java 21 LTS launched). Organisations that adopted Java 17 assuming permanent free use now face a choice: upgrade to Java 21 (resetting the NFTC clock), switch to OpenJDK, or purchase a subscription. Oracle designed this cycle deliberately, every LTS release creates a new window of "free" use that closes, pushing organisations toward the paid subscription. For a complete breakdown of which versions are free, see Which Versions of Java Are Free?
Oracle JDK vs OpenJDK: The Critical Distinction
The most important fact in Oracle Java licensing is this: Oracle JDK and OpenJDK are functionally identical. Since Java 11, Oracle's commercial JDK and the open-source OpenJDK share the same codebase, the same features (see Oracle Java commercial features explained), and the same performance characteristics. The difference is purely commercial: Oracle JDK comes with Oracle's licence terms and support contract, while OpenJDK is free under the GPL v2 licence. Our detailed Oracle JDK vs OpenJDK comparison covers features, support models, and migration strategy.
| Dimension | Oracle JDK | OpenJDK (Free Distributions) |
|---|---|---|
| Licence cost | $5.25–$15.00/employee/month (Universal Subscription) | $0, free under GPL v2 |
| Features & performance | Identical to OpenJDK (same codebase since Java 11) | Identical to Oracle JDK |
| Security patches | Oracle Critical Patch Updates (CPUs), quarterly | Same patches released by OpenJDK community and third-party vendors, quarterly |
| Commercial support | Oracle Premier Support (with subscription) | Available from third-party vendors (Azul, Red Hat, IBM, Amazon), often included free or at fraction of Oracle's cost |
| Available distributions | Oracle JDK only | Amazon Corretto, Eclipse Temurin (Adoptium), Azul Zulu, Red Hat OpenJDK, IBM Semeru, Microsoft Build of OpenJDK, SAP SapMachine |
| Audit risk | High, Oracle can audit at any time; employee-count disputes common | Zero, no auditing entity; no licence to violate |
| LTS support duration | Oracle extended support available (at cost) | Varies by vendor: Corretto 8+ years, Azul up to 10 years, Temurin 4+ years |
The practical implication is clear: every Oracle Java installation can be replaced with a functionally identical OpenJDK distribution at zero licence cost. The migration is straightforward, in most cases simply replacing the Oracle JDK binary with an OpenJDK binary, as the APIs, bytecode, and runtime behaviour are identical. This is why Java migration is the most effective cost-avoidance strategy available to enterprises facing Oracle Java subscription costs. See our guide to exiting Oracle Java SE subscriptions for step-by-step transition strategies.
Oracle Java Audits: Soft and Formal
Oracle has established a dedicated Java compliance team that generates hundreds of millions in annual revenue through Java audit activity. Java is now Oracle's number one audit focus area. Understanding Oracle's audit tactics is essential for effective defence. We detail these in our Java Audit Guide and How to Prepare and Respond to an Oracle Java Audit.
| Audit Type | How It Works | Oracle's Objective | Your Rights |
|---|---|---|---|
| Soft Audit (Sales-Led) | Oracle sales representative contacts you requesting a "Java usage review" or offering a "free compliance assessment." Often triggered by Oracle's data on your Java downloads from Oracle.com (Oracle tracks every download by IP address and account). | Convert non-paying Java users into subscription customers. Establish a baseline claim that creates urgency to purchase. | A soft audit is not contractually required. You are under no obligation to participate, provide data, or engage. You can decline or delay without contractual consequence. |
| Formal Audit (Contractual) | Oracle exercises its audit clause in your licence agreement (OMA, OLSA, or Java SE Subscription terms). Sends formal audit notification letter. Requires you to run Oracle's audit scripts and provide deployment data. | Identify all Oracle Java installations; calculate compliance exposure at Universal Subscription pricing; negotiate a settlement or new subscription. | You must cooperate per the audit clause, but you have the right to review script output before submission, negotiate the scope and timeline, challenge Oracle's findings and interpretations, and engage independent advisory. |
Audit Defence Principle: Oracle already knows more about your Java installations than you think. Every Oracle JDK download from Oracle.com is logged by IP address, account, version, and date. Oracle uses this download history as the starting point for soft audit outreach. Our analysis of Oracle Java audit scripts explains exactly what data Oracle collects and how. However, download data is not the same as deployment data. Having downloaded Oracle JDK does not prove it is deployed in production. Your defence begins with understanding the difference, and conducting your own Java discovery before Oracle does. Start with our free Java Audit Risk Assessment tool to evaluate your exposure.
Java Renewal Negotiation: Reducing the Employee-Based Cost
For organisations that must maintain an Oracle Java subscription, either because migration is not yet complete or because Oracle Java is embedded in third-party software that cannot be replaced, the employee-based pricing is negotiable. Oracle's published price tiers are list prices (see 20 critical procurement insights for Java renewals), and discounts of 30–60% are achievable with the right leverage. Our Java SE pricing and negotiation strategies guide covers the full playbook.
| Negotiation Lever | How to Deploy | Typical Impact | Timing |
|---|---|---|---|
| OpenJDK migration plan | Present Oracle with a documented migration timeline showing 80–100% of Java installations moving to OpenJDK. This creates genuine competitive threat. | 30–50% discount or legacy metric renewal | 6–12 months before renewal |
| Employee count challenge | Oracle's "employee" definition is broad (includes contractors). Challenge the count: negotiate exclusions for temporary contractors, subsidiaries with no Java usage, or employees in countries where Java is not deployed. | 10–25% count reduction | During negotiation |
| Oracle fiscal calendar | Time the negotiation close to Oracle's fiscal year-end (31 May) or quarter-end. Oracle sales teams under quarterly pressure are more willing to offer discounts. | 5–15% additional concession | Final 2–4 weeks of quarter |
| Multi-year commitment | Offer a 2–3 year commitment in exchange for a fixed price with no annual uplift and a discounted per-employee rate. | 15–25% below list + uplift protection | At renewal negotiation |
Advisory Guarantee: Redress Compliance's Java advisory services include a guarantee that no client pays retroactive fees for past Oracle Java usage. If your organisation's strategy is to move away from Oracle Java, our advisory team, which includes former Oracle licensing specialists, manages the entire process: Java discovery, compliance assessment, migration planning, Oracle communication, and if necessary, audit defence. Typical client savings: 60–90% versus Oracle's initial subscription quote. Read our negotiation tactics for Oracle Java audits for specific approaches.
Java Migration Strategy: Eliminating Oracle Java Dependency
For most enterprises, the most cost-effective response to Oracle's Java pricing is migration to a free OpenJDK distribution. This eliminates both the subscription cost and the audit risk entirely.
6-Step Java Compliance and Migration Framework
Conduct Comprehensive Java Discovery
Scan every server, desktop, laptop, and container across your entire IT estate to identify every Java installation (including JRE installations that many overlook), by version, distribution (Oracle JDK vs OpenJDK), and installation path. Use automated discovery tools (Flexera, Snow, ServiceNow SAM, or open-source scripts). See our guide to third-party SAM tools for Java audits for tool recommendations. This inventory is the foundation for every subsequent decision. Without it, you cannot assess your exposure, plan migration, or defend against an Oracle audit.
Classify Every Installation by Licence Agreement
Map each discovered Oracle Java installation to its governing licence agreement: BCL (Java 8u202 or earlier, free for commercial use), OTN (Java 11+ downloaded from OTN, production use requires subscription), NFTC (Java 17+ downloaded under NFTC, free until next LTS + 1 year), or Java SE Subscription (any version under active paid subscription). Installations under BCL or active NFTC may not require action. Installations under OTN without a subscription represent compliance exposure.
Quantify Financial Exposure
Calculate your potential Oracle Java cost under the employee-based Universal Subscription: total employees × applicable price tier × 12 months. Compare this against the cost of migration (internal effort + any third-party support). In our experience, the migration cost is typically 5–15% of the first year's Oracle subscription, making migration the clear financial winner in virtually every scenario.
Select a Target OpenJDK Distribution
Choose a free OpenJDK distribution based on your support requirements and LTS commitment: Amazon Corretto (backed by AWS, LTS for 8+ years, widely used), Eclipse Temurin (Adoptium project, community-driven, strong adoption), Azul Zulu (commercial support options available, longest LTS), Red Hat OpenJDK (integrated with RHEL subscriptions), or Microsoft Build of OpenJDK (integrated with Azure). All are functionally identical to Oracle JDK and receive the same quarterly security patches. Our comprehensive guide to OpenJDK alternatives evaluates each distribution in detail.
Execute Migration in Phases
Replace Oracle JDK with the selected OpenJDK distribution across your environment, starting with non-production (lowest risk), then development workstations, then production servers. The migration is typically a binary replacement: uninstall Oracle JDK, install OpenJDK in the same location, validate application functionality. For most applications, no code changes are required (the APIs are identical). Test thoroughly in staging before production deployment. Document every migration with timestamps and before/after evidence. See our Java licensing cleanup guide for documentation best practices.
Implement Java Governance to Prevent Recurrence
After migration, implement controls to prevent Oracle JDK from being reinstalled: block Oracle JDK downloads at the network level (or via software restriction policies), include Java distribution standards in your software deployment guidelines, add Java distribution checks to CI/CD pipelines and container image scans, conduct quarterly Java scans to detect any Oracle JDK reintroduction. This governance ensures the migration benefit is permanent and that Oracle cannot identify new compliance exposure in future audits.
Real Results: Our Java advisory team has resolved claims worth $50M+ across dozens of engagements. Representative outcomes include: Kroger ($20M claim resolved at zero cost), World Kinect ($5M claim resolved at zero cost), Avis Car Rental ($4.7M claim resolved at zero cost), Mercy Health ($4M claim resolved at zero cost), and CSAA Insurance ($1.5M claim resolved at zero cost). View all Java advisory case studies.
Frequently Asked Questions
Under the 2023 Java SE Universal Subscription, yes. Oracle's employee-based metric requires licensing your entire employee population (full-time, part-time, temporary, plus contractors) if you use Oracle Java anywhere in your organisation. The metric has no relationship to actual Java usage. This is precisely why migration to OpenJDK is so compelling: removing all Oracle Java installations from your environment eliminates the employee-based licensing obligation entirely. See our enterprise-wide metric explainer for the full technical detail.
Yes. Since Java 11, Oracle JDK and OpenJDK share the same codebase and are functionally identical. The same features, the same performance, the same security patches. The only differences are the licence terms and Oracle's commercial support offering. Hundreds of thousands of organisations run production systems on OpenJDK distributions (Amazon Corretto, Eclipse Temurin, Azul Zulu) without issues. Major cloud providers, financial institutions, and technology companies rely on OpenJDK as their standard Java distribution. See our OpenJDK alternatives guide for distribution comparisons.
Oracle can assert that you are using Oracle Java without a licence and request engagement (see Oracle Java licensing from a U.S. legal perspective), but the strength of their position depends on whether you actually have Oracle Java installed. If you have completely migrated to OpenJDK and can demonstrate no Oracle JDK is present in your environment, Oracle has no compliance claim. If Oracle Java is installed (even if you did not knowingly install it, some third-party software bundles Oracle JDK via embedded/OEM licensing), Oracle may contact you. The key defence is comprehensive Java discovery and migration to eliminate all Oracle JDK presence.
Oracle's official position is that new subscriptions and most renewals use the employee-based Universal Subscription metric. However, some organisations with existing subscriptions have successfully negotiated renewal on legacy metrics, particularly when combined with competitive pressure (demonstrating a credible migration plan to OpenJDK). Oracle's willingness to offer legacy metric renewal depends on the size of the deal, the competitive pressure, and the timing relative to Oracle's fiscal calendar. This is an area where independent advisory adds significant value.
Oracle Java 8 up to update 202 (8u202) remains free under the original BCL licence, but receives no security patches. Java 17 and later under the NFTC licence are free during the NFTC window (until approximately one year after the next LTS release). OpenJDK, all versions, all distributions, is always free under GPL v2, with no time limits, no usage restrictions, and no audit risk. The cleanest "free forever" approach is to use OpenJDK exclusively.
A soft audit is a sales-driven engagement, not a contractual audit obligation. You are not required to respond, provide data, or participate. However, ignoring it entirely may escalate to a formal audit. The recommended approach: acknowledge receipt professionally, state that you are reviewing your Java estate internally, do not provide any deployment data or run any Oracle scripts, use the time to conduct your own Java discovery and begin migration planning, and engage independent advisory if the claim exceeds $500K. Never accept Oracle's initial compliance claim at face value, their soft audit calculations are consistently inflated.