Oracle Java Licensing — Pillar Guide

Oracle Java Licensing Changes: The Definitive Guide

📖 Pillar Guide — Oracle Licensing Knowledge Hub

The comprehensive reference for Oracle Java licensing — with detailed spoke articles on specific topics linked throughout. Also see the Java Knowledge Hub and Java Blog for the latest updates.

Trusted by global enterprises
NEWS CORPAVISTELEFÓNICATOYOTAKROGERADNOCBMWAMERICAN AIRLINESROCHE

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

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.

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.

MetricDescriptionList 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 plus 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.

$4.7M Oracle Java claim resolved at zero cost.

See how Avis Car Rental defeated Oracle's Java audit without paying a cent — with full case study details.

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 CountList Price per Employee/MonthAnnual 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 (2019 model)
$33,600

(500 × $2.00 × 12) + (100 × $18.00 × 12)

New annual cost (2023 Universal Subscription)
$768,000

8,000 × $8.00 × 12

23× cost increase — for the same Java usage. For current pricing details, see our updated 2026 Java pricing guide.

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.

AgreementJava VersionsCommercial Production UseFree Updates UntilCurrent 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, 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, 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.

DimensionOracle JDKOpenJDK (Free Distributions)
Licence cost$5.25–$15.00/employee/month (Universal Subscription)$0, free under GPL v2
Features & performanceIdentical to OpenJDK (same codebase since Java 11)Identical to Oracle JDK
Security patchesOracle Critical Patch Updates (CPUs), quarterlySame patches, released by OpenJDK community and third-party vendors, quarterly
Commercial supportOracle Premier Support (with subscription)Available from Azul, Red Hat, IBM, Amazon — often included free or at fraction of Oracle's cost
Available distributionsOracle JDK onlyAmazon Corretto, Eclipse Temurin, Azul Zulu, Red Hat OpenJDK, IBM Semeru, Microsoft Build of OpenJDK, SAP SapMachine
Audit riskHigh — Oracle can audit at any time; employee-count disputes commonZero — no auditing entity; no licence to violate
LTS support durationOracle 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 Licensing Alerts — Stay Informed

Get notified of Oracle Java pricing changes, NFTC deadline updates, and audit defence strategies — delivered monthly to enterprise IT leaders.

No spam. Unsubscribe at any time. View past editions →

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 TypeHow It WorksOracle's ObjectiveYour 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 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 to 60% are achievable with the right leverage. Our Java SE pricing and negotiation strategies guide covers the full playbook.

Negotiation LeverHow to DeployTypical ImpactTiming
OpenJDK migration plan Present Oracle with a documented migration timeline showing 80 to 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 manages the entire process: Java discovery, compliance assessment, migration planning, Oracle communication, and if necessary, audit defence. Typical client savings: 60 to 90% versus Oracle's initial subscription quote. Read our negotiation tactics for Oracle Java audits for specific approaches.

$50M+
Java claims resolved across client engagements
23×
Typical cost increase under 2023 employee model
60–90%
Typical savings vs Oracle's initial Java quote
Zero
Retroactive fees paid by Redress clients

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

1

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.

2

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.

3

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 plus any third-party support). In our experience, the migration cost is typically 5 to 15% of the first year's Oracle subscription, making migration the clear financial winner in virtually every scenario.

4

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. Our comprehensive guide to OpenJDK alternatives evaluates each distribution in detail.

5

Execute Migration in Phases

Replace Oracle JDK with the selected OpenJDK distribution 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. Test thoroughly in staging before production deployment. See our Java licensing cleanup guide for documentation best practices.

6

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, and conduct quarterly Java scans to detect any Oracle JDK reintroduction. This governance ensures the migration benefit is permanent.

Real Results — $50M+ in Java Claims Resolved

Representative Client Outcomes

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
  • CSAA Insurance — $1.5M claim resolved at zero cost

View all Java advisory case studies →

Oracle Java Audit Defence White Paper — Free Download

Step-by-step audit defence framework, script analysis, and negotiation playbook for Java compliance claims.

Frequently Asked Questions

Do we need to licence every employee even if only a few use Java?
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.
Is OpenJDK really a safe replacement for Oracle JDK?
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. See our OpenJDK alternatives guide for distribution comparisons.
Can Oracle audit us for Java if we do not have an Oracle contract?
Oracle can assert that you are using Oracle Java without a licence, 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.
Can we renew on the old per-user/processor metric instead of employee-based?
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.
What Java versions are actually free to use?
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.
How should we respond to an Oracle Java soft audit letter?
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.

Facing an Oracle Java audit or upcoming renewal?

Our Java advisory team has resolved $50M+ in claims at zero cost. Tell us your situation — we'll respond within 24 hours.
FF
Fredrik Filipsson
Co-Founder, Redress Compliance

Fredrik brings 20+ years of enterprise software licensing experience. He has advised hundreds of enterprises on Oracle Java licensing compliance, audit defence, migration strategy, and subscription negotiation, with a guarantee that no client pays retroactive Java fees when engaging Redress for advisory services.

← Back to Oracle Advisory Services