featured blogs / Java licensing

Four Oracle Java Licensing Changes – Do You Need A License?

Oracle Java Licensing Changes

  • 2019: Oracle required subscriptions for Java JDK 8 updates (from update 211); introduced Java OTN SE agreement prohibiting free commercial use.
  • 2021: Oracle introduced the NFTC agreement, allowing free commercial use for Java 17 and later; security patches for Java 17 and later require subscriptions after September 2024. Older Java versions remain under previous licensing terms.

Table of Contents

Oracle Java Licensing Changes 2019-2023

Oracle Java Licensing Changes 2019-2023

What you should know:

  • Oracle’s Audit Strategy: Oracle intends to audit organizations that have not purchased Java licenses, recognizing Java’s widespread use in businesses.
  • Oracle Soft Audit: The second strategy involves Oracle sending emails to organizations that have not yet purchased Java or downloaded Java. Oracle has logs of these downloads.

Has Oracle contacted you about a Java license?

Download our Oracle Java Audit white paper to learn how to respond to and avoid common pitfalls.

In the white paper, we cover:

  • Recommendations for responding to an Oracle soft audit
  • Oracle’s soft audit process
  • Oracle’s formal audit process
  • The kind of data Oracle may have on your organization’s Java product downloads.

How Redress Compliance Can Help

Redress Compliance, with its team of former Oracle auditors, offers specialized assistance in Java licensing:

  • Licensing Assessment: They help you identify which Java deployments require a license.
  • Expert Advisory for Audits: If you manage your Java licensing yourself, Redress Compliance provides expert advice to counter Oracle during audits and supports communication regarding Java licensing issues with Oracle.
  • Audit Defense and Licensing Strategy: We help develop audit defense strategies and negotiate better discounts for Java license purchases.
  • Retroactive Licensing -We have helped over 50 organizations avoid paying for retroactive usage.
  • Java Downloads—Does Oracle have security logs of your downloads and updates? Don’t worry. We know how to counter those claims.

Contact us now to avoid paying audit fees to Oracle for Java.

Timeline of Oracle Java Licensing Changes (2010–2025)

Timeline of Java Licensing Changes

2010 – Oracle Acquires Sun Microsystems: In January 2010, Oracle acquired Sun Microsystems, taking ownership of Java. Initially, Oracle maintained Sun’s Binary Code License (BCL) model, which meant Java remained free to download and use (including commercial use) under terms similar to those Sun had offered​. No immediate licensing upheavals occurred; Java SE remained freely available for several years.

2013 – Introduction of Java Commercial Features: Oracle separately monetized certain advanced Java features. In 2013, tools like Java Flight Recorder and Mission Control were designated as “commercial features,” requiring a paid license for production use. This early signaled Oracle’s intent to monetize Java beyond the standard free runtime. Regular Java SE usage was still free, but the premium features, bundled in the JDK, required licensing to use legally in production.

2018 – Java SE Subscription Announced: The first major shift occurred in June 2018, when Oracle introduced a new Java SE Subscription model. This marked a pivot from the traditional free-update model to a subscription-based approach. With this model, organizations using Oracle Java in production must purchase a subscription to receive updates and support. Oracle set pricing based on two familiar Oracle metrics: on servers, Java could be licensed per processor (counting CPU cores with Oracle’s core factor); on desktops or in per-user environments, it could be licensed per Named User Plus (NUP). This was the first time Java, beyond its special commercial features, had a formal price tag for general commercial use.

January 2019 – End of Free Updates for Java 8: Oracle ceased providing free public updates for Java SE 8 for commercial use after January 2019​. Java 8 had been widely used under the old free model, but now only paying customers (Java SE subscribers) would continue to get security patches beyond this point. This change caught many enterprises off guard – if they continued using Oracle’s JDK 8 and installed updates released after January 2019 without a subscription, they would be out of compliance. The “free Java” era for businesses ended in 2019 unless they switched to alternatives like OpenJDK​.

April 2019 – OTN License Introduced: In April 2019, Oracle introduced the Oracle Technology Network (OTN) License Agreement for Java SE, replacing the old Binary Code License (BCL) for new downloads. The OTN license explicitly restricted free use to certain cases:

  • Personal use (individual’s non-commercial use on a personal device).
  • Development, testing, or demonstration purposes.

Any commercial or production use of Oracle Java under the OTN license requires a paid subscription or other commercial license​. In other words, as of April 16, 2019, you can still download Oracle JDK for free, but you can only use it for development/testing or personal non-business applications. Using Oracle JDK in internal business applications or production systems without a subscription became non-compliant. This pivotal change prompted many organizations to purchase Java subscriptions or seek alternatives, such as OpenJDK, especially after Oracle stopped providing free updates for Java 8, as noted above.

2019–2020 — Growing Compliance Pressure: After the new subscription and licensing rules took effect, Oracle began ramping up enforcement and audits. By early 2020, Oracle’s License Management Services began intensifying Java SE audits of organizations that used Java without subscriptions. Many companies that hadn’t paid for Java were approached by Oracle for license reviews, highlighting Oracle’s seriousness in monetizing Java usage.

September 2021 – Java 17 and No-Fee License: A significant change was introduced with Java 17, released in September 2021. Oracle introduced the Oracle No-Fee Terms and Conditions (NFTC) license for Oracle JDK 17 and later. This NFTC license made **Oracle JDK 17+ ** free for all users – including commercial production use – but only for a limited time. Under NFTC, the latest Long-Term Support (LTS) release (Java 17 at the time) could be used in production at no cost, with the understanding that free updates would be available for one year after the next LTS release. Oracle responded to developer feedback seeking a “free Oracle JDK” for general use​. Important: Older versions (Java 8, 11, etc.) did not become free; they still required a subscription for commercial use. Effectively, Oracle allowed companies to upgrade to Java 17 and use it without immediate cost, but this was temporary. (For example, after Java 21 was released in 2023 and had been out for a year, Oracle JDK 17’s free update period ended in Sept 2024, meaning further Java 17 updates would require a subscription​.)

At the same time, Oracle was piloting a new pricing model. In late 2021, Oracle first proposed an “employee-based” licensing model for Java. Under this concept, which was used in some Oracle contracts by late 2021, a company would license Java for all its employees instead of counting devices or users. This hinted at bigger changes to come.

January 2023 – New Java SE Universal Subscription (Employee-Based): In January 2023, Oracle officially overhauled its Java SE Subscription model. They introduced the Java SE Universal Subscription, which eliminated the old per-processor and per-user metrics and moved to a per-employee model​. Now, suppose a business wants Oracle Java licenses or support. In that case, it must purchase licenses for every employee (including part-time and contract workers), regardless of how many use Java.

Read the Oracle JDK 2023 Enterprise-Wide Metric License Model Update.

This effectively acts like an “unlimited” enterprise license – you can deploy Java on any number of devices or servers, but you pay according to your company size. While this simplification freed customers from tracking CPUs or individual users, it often led to significant cost increases. Companies with many employees but few Java applications were hit with unexpectedly high fees under the new model​. For instance, Oracle’s price list at the time was around $15 per employee for small organizations (with fewer than 1,000 employees), dropping to about $5–$6 per employee for very large enterprises. A mid-sized business with 500 employees would owe $15 × 500 = $7,500 per month (about $90k/year) at list price, even if only a handful of those employees use Java. This 2023 change was a major milestone, transforming Java licensing into an enterprise-wide subscription model.

Late 2023 – Updated No-Fee Terms (NFTC) and End of Free Java 17 Updates: In September 2023, Oracle updated its policies around the NFTC license. Oracle reiterated the “No-Fee Terms and Conditions” to allow limited free usage of the Oracle JDK for certain scenarios (e.g., development, personal projects, and some production use), but with significant restrictions. Notably, NFTC users are not entitled to Oracle’s support or long-term security patches​. It’s a stop-gap for those who always stay on the latest Java version. By late 2023, Java 17’s free support period was nearing its end – Oracle confirmed that after September 2024, Java 17 updates would no longer be free, and a subscription would be required for further updates​. Organizations were expected to upgrade to Java 21 (the new free long-term support release under NFTC) or start paying for Java 17 support by that time.

2024–2025 – Continued Audits and Compliance Efforts: Oracle has continued enforcing compliance aggressively with the new licensing. Reports indicate that by 2024, Oracle will have ramped up both stealth and formal audits targeting Java usage. Oracle also began to phase out renewals of legacy Java contracts. For example, many customers with older Processor/NUP subscriptions were told they could not renew unless they switched to the employee-based model. As we move through 2025, any enterprise still running Oracle Java without an appropriate license (or hoping to stay on an old contract) should expect Oracle to enforce the new rules.

Summary of Key Dates: To recap some crucial dates in this timeline:

  • January 2019: Free public updates for Java 8 (commercial) ended; a subscription is required thereafter.
  • Apr 2019: The OTN License was introduced. The Oracle JDK is free only for personal or development use, not for production.
  • Java 11 (2018): First LTS under new model (required subscription for commercial use, or use OpenJDK builds).
  • Java 17 (September 2021): Oracle JDK is free again under NFTC (temporary free use until the next Long-Term Support release).
  • January 2023: Oracle’s Java SE Universal Subscription (per-employee pricing) was launched, replacing older licenses.
  • Sept 2024: End of free update period for Java 17 (requiring subscription or upgrade to Java 21)​.

Oracle’s Java licensing journey has shifted from Sun’s generous free model to Oracle’s subscription model in 2019, and by 2023, it has evolved into a mix of no-fee (temporary) usage and an expansive subscription model. Next, we will explain the different license agreements that underlie these changes.

Read our article about which Java version requires licensing.

Oracle Java License Cost (Pre-2023)

java license cost

Oracle offers two different products on its Java price list:

Java SE Desktop Subscription: This is a license that allows your users to access Java-based applications. It’s important to note that this is licensed per individual, not per device, who is authorized to access a Java-based application.

  • For instance, if you share usernames for a device and 20 users access the computer, all 20 individuals must have a Java SE subscription license.
  • Java SE Desktop Subscription costs 2.5 USD per month per user.

Java SE Subscription: This is for licensing the servers where Java is installed. To calculate how to license Oracle Java, you need to apply standard Oracle licensing rules and policies, such as:

After calculating and counting the processors you must license, you can look at the Java price list to calculate your financial risk.

  • Java SE subscription costs 25 USD per month for an Oracle processor.

Please note that the legacy price list will no longer be available online after January 23, 2023. Staying up to date with the latest pricing models is crucial for ensuring compliance and avoiding unnecessary costs.

If you have procured Java SE legacy metrics and need guidance on managing the audit renewal process, read our Java SE Subscription Renewal Guide.

Oracle Java License Agreements: BCL, OTN, NFTC, and Subscription

Java License Agreements

Over the years, Oracle has used several license agreements to govern Java SE usage. Understanding these acronyms is key to knowing what you can or cannot do with a Java version.

Here are the main Java license agreements and what they mean:

  • Binary Code License (BCL) – This was Sun Microsystems’ original license for Java, which Oracle continued in the early years. Under the BCL (sometimes referred to as BCLA), Java was free to use, including in commercial environments, with limited restrictions. Businesses could use and distribute the Java runtime without cost if they didn’t modify it and followed the terms. The BCL allowed Oracle (and previously Sun) to retain ownership of Java while letting the public run it freely. In practice, until Java 8 (2019), most people used the Oracle JDK under BCL terms without paying. However, the BCL did not cover certain advanced features (which became “commercial features” in Java 7 and 8 and required separate licenses), nor did it provide any guarantees of support or updates beyond what Oracle offered for free.
  • Oracle Technology Network License (OTN) – Introduced in April 2019, the OTN License for Java SE dramatically changed the “free use” scope. The OTN license allows free use of Oracle Java ONLY for specific purposes: personal use, development, testing, prototyping, and demonstration​. It explicitly forbids commercial production use without a paid license. For example, under OTN, a developer can download Oracle JDK 8 or 11 for development or testing in a lab, and an individual can run Java applications at home for personal projects, all for free. However, suppose a company deploys Oracle JDK to run internal business applications in production or includes Oracle Java as part of a commercial product. In that case, that is not allowed under OTN without a subscription. The OTN license was applied to Oracle JDK 8 updates after 8u202 and to Oracle JDK 11 (for those who downloaded Oracle’s builds). This license helped Oracle foster a developer community by keeping Java free for development use, while ensuring that any serious commercial deployment required a purchase. It’s important to note that Oracle JDK downloads from Oracle’s website after April 2019 (for Java 8 and above) generally fall under the OTN license terms unless you have a separate support contract.
  • No-Fee Terms and Conditions (NFTC) – The NFTC is a newer license Oracle introduced with Java 17 (September 2021)​. Oracle’s goal was to provide a period during which the latest Java release is free for all uses (including production) to encourage uptake. The NFTC license makes the current Oracle JDK release free to use “for all users” without fees​up until a certain time. Oracle JDK 17 and later (e.g., JDK 18, 19, 20, 21) are provided under NFTC, meaning you don’t owe Oracle anything to run them, even in production. However, there are important caveats: The NFTC does not grant rights to long-term support. Free updates for a given Java version are available only until that version’s end-of-free period. Once a new Long-Term Support (LTS) release opens and the grace period expires, Oracle stops providing free builds and patches under NFTC for the older version. At that point, if you want to continue using the older version with updates, you need a paid support subscription or must use another provider’s Java build.NFTC is also “no-fee” but not “open source” – you still have to accept Oracle’s terms, which, for example, exclude the right to redistribute Oracle’s binaries and exclude any warranty or support. Oracle emphasizes that NFTC users get no support or security patch guarantees​. It’s essentially a way to use Oracle JDK like you’d use OpenJDK binaries – at your own risk once the free updates end. If you use Oracle JDK under NFTC in production, you must be prepared to upgrade to the next Java version when the free period ends or purchase a subscription. For instance, many companies moved to Java 17 for free, but after Java 21 had been out for a year, those on 17 had to either upgrade to 21 (to stay free) or start paying for extended support for 17.In summary, NFTC = free use of Oracle JDK for the latest versions but with no long-term support commitment from Oracle. Oracle’s strategy here is to remove cost as a barrier to adopting the latest Java, while still steering enterprises toward subscriptions for stability and support of older versions.
  • Java SE Subscription (Commercial License) – This is Oracle’s paid license and support offering for Java SE. Introduced in 2018, the Java SE Subscription is what companies buy to get full production rights, regular security updates, and support from Oracle for Java. From 2019 to 2022, this subscription was sold under the standard metrics of Processors and Named User Plus, much like Oracle database licenses​. In early 2023, it was rebranded as the Java SE Universal Subscription and switched to a per-employee metric, as detailed in the timeline above​. Under the subscription, customers get access to all needed Java patches (even for older versions like 7, 8, and 11), the ability to log support tickets, and peace of mind for compliance.

Each license type determines when Java is free and when it is not, which we’ll explore next. The table below summarizes the major Java license agreements and their usage terms:

License TypeApplicable Java Versions / Release TimingFree Usage PermittedProduction UseSupport & Updates
Binary Code License (BCL)Legacy (Java SE 1.4 through Java SE 8 up to 2019)No – any commercial production use requires a paid subscription (OTN forbids deploying for internal business, commercial, or revenue-generating purposes without a license)​. Exceptions: running Oracle’s products that include Java (see below).Yes, temporarily – you may use Oracle JDK in production without paying during the no-fee period. However, once the free period ends for that version, continued production use of older builds requires a subscription or upgrade​. Also, NFTC does not allow you to redistribute Oracle JDK binaries to third parties.Oracle provided public updates for free (until the end-of-life of the version). No formal support contract is required for updates pre-2019.
Oracle Technology Network (OTN) LicenseJava SE 8 updates (post-Jan 2019) and Java SE 11 (Oracle JDK downloads)No – any commercial production use requires a paid subscription (OTN forbids deploying for internal business, commercial, or revenue-generating purposes without a license)​. Exceptions: running Oracle’s products that include Java (see below).Yes, commercial use was allowed freely under the license (no fees), except certain advanced features required a separate license.Free public updates available for personal/dev use. Security patches for commercial use are available only to subscribers. No Oracle Support unless you purchase a subscription.
No-Fee Terms and Conditions (NFTC)Oracle JDK 17 and later (Java 17–20 up to Sept 2024; Java 21+ current)Yes, temporarily – you may use Oracle JDK in production without paying during the no-fee period. However, once the free period ends for that version, continued production use of older builds requires a subscription or upgrade​. Also, NFTC does not allow you to redistribute Oracle JDK binaries to third parties.Oracle provides updates for the current LTS or feature release on a timely basis, but only until the next LTS+1 year. There is no patch support beyond that unless you pay. Oracle does not guarantee support beyond provided updates—“use at your own risk​.”Oracle provides updates for the current LTS or feature release on a timely basis, but only until the next LTS+1 year. No patch support beyond that unless you pay. No guaranteed support from Oracle – “use at your own risk” beyond provided updates​.
Java SE Subscription (Commercial License)Java SE 8 and above (all versions, if you choose to pay)N/A (this is a paid license model, not a free license)Yes – with a subscription, you are fully licensed for production use on the covered systems (or enterprise-wide under new model).Yes – with a subscription, you are fully licensed for production use on the covered systems (or enterprise-wide under the new model).

Note: separate terms cover Oracle Java Embedded binaries (Java SE Embedded). If you want to embed Java in a device or redistribute Java with an appliance or software, Oracle requires a special license, often a royalty-based OEM agreement​. The OTN or NFTC free use does not cover the third-party distribution of Java; those cases fall under Oracle’s Java SE Binary Code License for Redistribution, which typically requires you to contact Oracle and agree on commercial terms.

Oracle also continues to provide Oracle OpenJDK builds for each Java release under the open-source GPL license. These are free and open-source (we’ll discuss this versus Oracle JDK later).

Understanding which license applies to the version of Java you are using is crucial. For instance, Oracle JDK 8 downloaded before 2019 was under BCL (free for use), but Oracle JDK 8 update 261 downloaded in 2020 is under OTN (not free for production use). Oracle JDK 17 in 2022 was available under NFTC (free for a time), but the Oracle JDK 17 update released in late 2024 falls under OTN (requiring a subscription). Always check the licensing for the specific version if you’re in doubt.

Read our article, Top 10 things to know about Java licensing in 2025.

Oracle Software with Included Java SE Licenses

Oracle Software with Included Java SE Licenses

Certain Oracle products come with a restricted-use Java SE license. You might not need to purchase a separate Java SE license if you own a license for any of these products.

Here’s how it works:

  • Included Java SE License: Some Oracle products include a restricted-use Java SE license. You may not need to purchase an additional Java SE license if you have a license for any of these specific products.
  • List of Products: Approximately 100 different products, including a Java SE license. Below is a list of some of these products; please note that it is not comprehensive.

You can save on additional licensing costs by understanding which Oracle products include a Java SE license.

Oracle lists products with Java licenses under different categories.

  1. Schedule A Products: Includes tools like Oracle SQL Developer and JACIC Electronic Bidding Systems.
  2. Schedule B Products: This section features a wide range of products, including Oracle Forms, Oracle E-Business Suite, various client applications of Oracle WebLogic Server, JD Edwards, and more.

In addition:

The following Oracle products are licensed under a Java SE restricted license. Please note that this list is not exhaustive:

  • WebLogic Server Standard Edition
  • WebLogic Enterprise Edition
  • WebLogic Suite
  • Internet Application Server Enterprise Edition
  • GlassFish Server
  • Coherence Standard Edition
  • WebCenter Content
  • WebCenter Universal Content Management
  • WebLogic Suite for Oracle Applications
  • Coherence Enterprise Edition for Oracle Applications
  • Oracle Business Intelligence Server Enterprise Edition
  • Oracle Data Integrator Enterprise Edition
  • Oracle Data Integration Suite
  • Oracle Data Service Integrator
  • Oracle Business Intelligence Suite Enterprise Edition Plus
  • Oracle Business Intelligence Server Enterprise Edition
  • Oracle BI Publisher
  • Oracle Hyperion
  • Oracle Business Intelligence Foundation Suite
  • Oracle Identity Governance Suite
  • Legacy BEA WebLogic product purchases
  • Oracle Application-Specific Technology Products
  • Oracle Identity and Access Management Suite Plus
  • Oracle Access Management Suite Plus
  • Oracle Identity Manager
  • Oracle Access Manager
  • Oracle Directory Services Plus

This list is inconclusive and should be referenced for detailed information on each product’s specific Java SE usage rights.

Please review your license documentation to confirm if Java SE is included in your Oracle license.
You can also read our article, which lists some of the Oracle products that include a Java SE license.

When Is Java Free to Use, and When Do You Need to Pay?

When Is Java Free to Use, and When Do You Need to Pay

One of the most common questions is: “Is Java free, or do I need to buy a license?” The answer depends on which Java distribution you use and how you use it.

Let’s break down some common scenarios regarding Oracle’s Java (Oracle JDK):

  • Development and Testing: If you are a developer or tester, you can use Oracle’s Java for free in development, test, or demonstration environments. The OTN and NFTC licenses permit development and testing usage at no cost​. For example, a software developer can download Oracle JDK 11 or 17 and write and test applications without needing a Java SE subscription. This free use covers things like running Java in an IDE and using it on build servers, as long as it’s not providing a production service to end-users. (Remember, though, that non-paying users are limited to publicly available ones if you need old updates or patches in your dev environment. Subscribers get access to all patches.)
  • Personal Use: Oracle allows free personal, non-commercial use of Java. “Personal use” generally means an individual running Java on their PC for non-business purposes, such as hobby projects, personal applications, gaming, or personal education​. Under OTN, personal use is explicitly free, and NFTC extends free use to anyone. So, if you’re a student or hobbyist using Java at home or running a Java app on your laptop, not as part of your work, you don’t need to pay Oracle.
  • Internal Business Applications (for Production Use in a Company): This is where licensing comes into play. Suppose you deploy Oracle’s Java (the Oracle JDK or JRE) to run server-side applications or desktop applications in your company, and it’s for business operations. In that case, you likely need a paid license. Under current rules:
    • For Java 8 and Java 11 (and similar older versions): Any commercial use in production requires a Java SE subscription. Oracle stopped free commercial use of those after 2019​. So, a web application running on Java 8 in 2020 at a bank, for example, would require the bank to have a Java SE subscription for those servers.
    • For Java 17 (from 2022 to 2023), Oracle JDK 17 can be used in production for free, thanks to NFTC​. However, once Java 21 came out and the free window for 17 ended, using Java 17 in 2025 in production without updating would require a subscription for updates/support. If the company upgrades to Java 21 in 2024 or 2025, they could again run it for free during that version’s NFTC period.
    • In essence, Oracle’s stance is: if you want to run mission-critical Java applications on Oracle’s build and not worry about constantly upgrading every year, you should pay for a subscription. If you’re willing to always use the latest Java version (and handle any code migration that comes with it), you can stay on the free NFTC path and avoid fees.
    • Many companies alternatively choose to run OpenJDK in production (which is free) to avoid this dilemma (more on OpenJDK vs Oracle later).
  • Oracle Products that Include Java: Oracle has an exception for “Oracle Approved Product Use”​. If you use Java only to run other Oracle products licensed for use, you might not need a separate Java license. For example, Oracle WebLogic, Oracle Database, and other Oracle software often include an embedded Java runtime. Oracle’s OTN license allows you to use Java to run applications developed with certain Oracle tools or products without requiring an additional Java SE subscription. Oracle provides a list of approved products, often referred to as “Schedule A” and “Schedule B” products, on its site. For instance, if your Java installation solely supports an Oracle Middleware product you have licensed, Oracle doesn’t double-charge you for the Java part. Important: This exception is narrow – it doesn’t cover using Java for third-party or in-house apps, only Oracle’s software.
  • Embedded Use and Distribution: Free use does not apply if you embed Java in hardware or software that you distribute to customers (for example, a device with Java ME or SE in its firmware or a commercial software application that bundles a Java runtime). This is commercial distribution, and Oracle requires an embedded Java license agreement. Typically, companies in this scenario either sign a contract with Oracle, which may involve royalties or OEM fees per unit, or use an open-source Java runtime with more permissive redistribution rights. The bottom line is that you cannot take Oracle’s JDK/JRE and ship it as part of a product for free​. Even the NFTC license specifically disallows redistribution to third parties. So for embedded Java, one must either talk to Oracle for a custom license or use alternatives like OpenJDK or Azul embedded JDK, which allow redistribution under open licenses.
  • Cloud Environments: Running Java in the cloud (e.g., on AWS, Azure, or Oracle Cloud) doesn’t magically exempt you from licensing. Oracle treats cloud instances the same as on-premises servers in terms of Java licensing. If you use Oracle JDK on AWS to run an app, you must license it (e.g., count vCPUs as processors or now count employees). One notable Oracle Cloud exception: Oracle allows using Java on Oracle Cloud Infrastructure (OCI) without a separate license if you are a paying OCI customer. Essentially, Oracle Cloud services include the right to use Java as part of that cloud service. However, on third-party clouds, no such free use is given – Java is considered a “bring your license” (BYOL) on AWS, Azure, etc.

To summarize: Java (the programming language and platform) is free, but Oracle’s builds of Java (Oracle JDK) are only free under certain conditions. Generally, development, testing, personal use, and the latest version of Java are free.

However, production use for business purposes typically requires a Java SE subscription, unless you stick to the latest Long-Term Support (LTS) release on NFTC or use an alternative distribution.

The safest route for businesses that want to avoid compliance risk is either to subscribe to Oracle or to adopt free OpenJDK distributions (discussed later).

Read our article on different Java licensing models.

For completeness, here’s a quick view of when Oracle JDK is free vs. paid:

  • Free: Using Oracle JDK for development/testing (non-production)
  • Free: Personal/non-commercial use on an individual’s machine​
  • Free: Oracle JDK 17+ in production during its NFTC period (e.g., Java 21 in 2024)​
  • Free: Running Java as part of a licensed Oracle product (covered by that product’s license)​
  • Not Free (Paid): Using Oracle JDK 8 or 11 (post-2019) in production – requires subscription​
  • Not Free (Paid): Continuing to use Oracle JDK 17 in production after free updates end (e.g., using Java 17 in 2025 without upgrading – you’d need to pay for support)​
  • Not Free (Paid): Embedding or redistributing Oracle Java in a product requires a separate agreement​.
  • Not Free (Paid): General commercial use of Oracle JDK in servers or business apps (unless an Oracle product license covers the current free NFTC version).

If the rules surrounding “free” Oracle Java feel too cumbersome, a popular solution is to switch to an OpenJDK-based distribution, which is always free to use, even in production. We will compare those later.

Read Oracle Java Alternatives and Cost Avoidance Strategies.

Oracle Java Licensing Guide

Download this free white paper to uncover your Java licensing exposure, audit risks, remediation steps, and practical strategies for compliance.

Oracle Java Audits: What They Are and How They Work

Oracle Java Audits

Oracle’s changes in Java licensing have led to a new reality: Java audits. Many organizations that long assumed “Java is free” have received unpleasant audit notices from Oracle.

Here’s an overview of how Oracle audits Java, what triggers these audits, and what data Oracle collects:

  • Oracle’s Motivation: Following the 2019 licensing shift, especially with the 2023 model, Oracle views Java as a revenue opportunity, not just a freebie. Oracle’s License Management Services (LMS) and global sales teams actively check which companies use Oracle Java without paying​. Auditing Java deployments has become a strategy to enforce subscriptions and generate revenue from unlicensed use​.
  • Audit Triggers: Oracle uses technical data and sales intelligence to decide whom to audit. Some common Java audit triggers include:
    • Download and Update Activity: Oracle tracks Java downloads from its website, including the IP address or account that made the download, the versions, and the date. If a company has been downloading Java 8 updates or Java 11/17 installers from Oracle’s site without a corresponding subscription, that’s a red flag. A high volume of patch update downloads, especially after public free updates end, will likely trigger an audit inquiry. Oracle reportedly keeps years of download logs as evidence.
    • Expired or No License on Record: If you previously bought Java SE subscriptions (say in 2019) and then let them expire, Oracle will notice. Those with legacy Java licenses that haven’t renewed are prime targets​. Oracle may reach out near the end of your term or if a renewal lapses, often to transition you to the new employee model. Similarly, if you are an Oracle customer for other products but have never bought Java, yet Oracle’s records or sales team suspects you use Java, you might get flagged.
    • Ignoring Oracle’s Inquiries (Soft Audits): Oracle often begins with a soft audit – an informal email or call from an Oracle representative or compliance team asking about your Java usage. If a company dismisses or doesn’t respond to these feelers, Oracle may escalate to a formal audit notice​. Simply not replying won’t make them go away; it usually intensifies Oracle’s suspicion.
    • Minimal Oracle Relationship: Interestingly, companies that aren’t already spending money on Oracle can be targets. If you use little to no Oracle software, except possibly Java, Oracle sees an opportunity. Organizations with large Java use but no Oracle contracts may face audits because Oracle knows that compliance enforcement might convert them into paying customers​. On the other hand, existing large Oracle customers can also be targeted, but Oracle might approach them through account teams first rather than sending an immediate audit notice.
  • Soft Audits vs. Formal Audits: A soft audit is typically an Oracle’s Java licensing team email asking you to complete a questionnaire or provide data about your Java installations. It’s somewhat informal and not a contractual audit notice, but it’s still risky – how you respond can determine what happens next​. If you cooperate fully and Oracle finds issues, it could result in compliance fees. If you ignore the issue, Oracle may initiate a formal audit. A formal audit comes in the form of an official letter invoking Oracle’s audit rights (if you have any Oracle agreement that includes audit clauses, such as ordering documents or the click-through license terms). Formal audits are more serious: Oracle will assign auditors, set deadlines, and require detailed evidence of your Java deployments​.
  • Data Collection: When Oracle audits Java, they will ask the organization to collect and share data on all Java installations and usage​. Typically, they provide a script or tool for you to run on your servers and PCs to inventory Java versions.
    The kind of data collected includes:
    • Number of installations of Oracle Java (JDK/JRE) and their versions/patch levels. Where they are installed (which devices, possibly the hardware specifications to determine processor counts), whether any commercial features were enabled on older Java versions (Oracle might ask if Java Flight Recorder was used on Java 8, which would have required a license), in some cases, they may inquire about usage context (production, development, etc., though usually any installed instance on a server is assumed to be potentially production).Virtualization details: Oracle often asks how Java is deployed in virtualized environments or containers. They have strict rules, similar to their database licensing, about counting all physical hosts in certain virtualization setups, such as VMware, for licensing purposes. So, audit data might include mapping VMs to hosts if Java is installed on VMs. Oracle’s audit script might also collect the java. Vendor info to see if you use Oracle’s distribution vs. OpenJDK or another vendor. (Be cautious: if not required, one should typically only disclose Oracle Java usage, not other vendors.)
    Once Oracle receives the data, it analyzes it to identify any “unlicensed usage” – e.g., Java installations not covered by a subscription— and then presents a report of compliance gaps. It’s worth noting that Oracle’s findings can sometimes overcount or misinterpret data; therefore, organizations typically review and challenge them.
  • What Oracle Can Detect: Oracle’s ability to detect Java usage externally (without an audit) is limited to its channels, primarily download logs and support requests. Java doesn’t secretly report usage to Oracle (at least not historically, aside from the installer contacting Oracle for update metadata, which might be logged). However, if you have Oracle software support, Oracle may notice if you download Java patches from their support portal without having Java included in your contract. Oracle might also get tips from sales reps or consultants. In some cases, Oracle has required companies, especially when renewing other licenses, to certify or disclose their Java usage, effectively identifying installations as part of commercial negotiations.
  • Audit Outcomes: If Oracle finds that you are using Java without proper licenses, they will present a bill for backdated usage plus a proposal for future subscriptions. They might claim you need to pay for retroactive support for the period you were out of compliance (though Oracle’s official policy is that Java SE subscriptions bought now do not cover past usage, so typically they push you to buy subscriptions to cover the future, and sometimes a penalty for past). The financial impact can be serious: Some audits have resulted in multi-million-dollar compliance claims for large companies using the Oracle JDK. Even for mid-sized firms, Oracle might calculate a hefty sum based on the employee count model – for example, a company with 2000 employees might be asked to pay 2000 × $12 = $24,000 per month from now on, plus some back charges. This is why many consider Java audits “extortionate” if you’re not prepared.
  • Audit Best Practices: Getting expert help, such as from licensed consultants or legal professionals, is advisable if you are approached for a Java audit. Key things to do include:
    • Don’t provide more data than necessary. Oracle audits only Oracle Java installations—you don’t need to volunteer information about OpenJDK or other vendors​.
    • Verify Oracle’s counts – ensure the inventory is accurate and remove any obsolete installations before reporting. Sometimes, Oracle’s script might even count installations that are not actively used.
    • Negotiate – You do not have to accept Oracle’s first quote. Often, the audit outcome can be settled by, for example, purchasing a certain number of subscriptions in the future (possibly at a discounted rate) rather than paying a one-time large fee. Oracle’s goal is usually to get you signed up for a subscription.
    • If possible, consider remediation during the audit – for example, replacing Oracle JDK with OpenJDK on some systems before final counts are submitted. This might reduce your liability (though do this carefully within legal bounds and disclosure requirements).

Oracle audits have become more frequent for Java, to the point that by 2024, Oracle will conduct numerous Java compliance checks globally. The specter of an audit is one reason many organizations are reevaluating their Java strategy altogether, such as migrating to OpenJDK to eliminate this risk.

Read our inside story of the Oracle campaign for auditing customers for Java usage.

Java License Negotiation Tips for Enterprises and Small Businesses

Java License Negotiation Tips for Enterprises and Small Businesses

If your organization chooses to purchase Oracle Java licenses or is required to do so due to an audit, it’s essential to approach the deal wisely. Java licensing may be new territory for some procurement teams that have historically not had to pay for Java.

Here are some negotiation tips and considerations, whether you’re a large enterprise or a smaller shop:

  • Bundle Java with Other Oracle Deals: Oracle is often open to negotiation if Java is part of a larger sale. If your company is also renewing an Oracle Database license or purchasing Oracle Cloud services, try negotiating Java subscriptions as part of that bundle. Oracle may be more willing to discount Java if it helps it close a big deal on other software. For example, if you’re signing a ULA (Unlimited License Agreement) for Oracle databases or middleware, you might negotiate an inclusion of Java usage rights in that ULA. Some organizations even got a Java ULA separately – an agreement that allows unlimited Java use for a fixed period and price. Bundling can leverage Oracle’s typical discount structures. Java alone might not receive a huge discount, but combining Java with Database and Cloud could.
  • Understand the Metrics and Rights: As of 2023, Oracle requires everyone to use the Employee metric for Java. This metric can be costly if not negotiated. Oracle’s definition of “employee” is broad – it includes full-time, part-time, temporary workers, and contractors who work for you. Negotiation point: if some employees never use Java, you can argue for a more limited count or exclusion (though Oracle’s standard terms likely resist this). If you still have an older agreement using Processor or NUP metrics, evaluate the costs of renewing under these versus moving to an employee count-based agreement. Oracle has officially stated that existing customers can renew under legacy metrics if their contract allows​it. Still, in practice, Oracle has been pushing customers to switch (even adding clauses to make it harder for them to renew their legacy systems). If your Java use is confined to a known set of servers, a Processor-based license might be cheaper than counting all employees, so it could be worth pushing to renew under the old model (for as long as Oracle permits). Small businesses (e.g., those with 50 employees) might find the employee metric cheaper than the old minimums, depending on usage. So, do the math both ways if you have the option.
  • Core Factor (Processor Licensing) Considerations: If you are in a situation where you can license by processors (e.g., perhaps as part of a larger Oracle deal or a legacy agreement), make sure to apply Oracle’s core factor correctly. Oracle’s price list historically counted an Intel x86 core as 0.5 “processors” for licensing. That means a server with eight cores is four processor licenses, for example. Ensure that any quote you get takes these factors into account and that you’re not overcharged. Also, consider if all those servers need Oracle JDK or if some can use OpenJDK – reducing the scope can reduce the cost.
  • Named User Plus vs. Processor vs. Employee – pick what favors you: Before 2023, you could sometimes choose between NUP and Processor licensing for Java SE. Named User Plus (NUP) means licensing each user (or device) that uses Java, subject to a minimum of 25 NUPs per processor, which was the rule for databases; this is likely similar for Java. This metric made sense for desktop Java (each PC = 1 user) or internal apps with a known user base. Processor licensing made sense for server software used by many users (such as websites). Now that new sales are employee-based, you have an “unlimited processors” license but are tied to several staff members. If you’re a smaller company with, say, 100 employees and only two servers running Java, the employee metric (100 employees * $15 = $1500/month) might be more expensive than if you could license just two processors (2 processors * maybe $25/socket/month as was roughly the old pricing). Conversely, a company with 10,000 employees and Java everywhere might find employee metrics simpler and cheaper than counting hundreds of processors. Negotiation tip: If you’re a small or mid-sized company and the cost seems disproportionate, bring that up – Oracle might have some flexibility for genuine small businesses or allow subset licensing (though the official rule is that it applies to all employees). Oracle sales reps have quoted SMBs with six-figure annual costs for Java, which many simply cannot afford. Pushing back and showing a willingness to migrate off Oracle Java can sometimes encourage Oracle to offer a more tailored deal.
  • Consider Third-Party Support or Alternatives as Leverage: If the Oracle proposal is too costly, you can negotiate by showing you have options. For instance, companies like Red Hat, Azul, and Amazon provide Java (OpenJDK) builds and support at a much lower cost. If you demonstrate a plan to possibly switch to one of these, Oracle may fear losing the account entirely and offer a better discount to keep you. In some cases, Oracle has given concessionary pricing when a client was on the verge of migrating to OpenJDK. The key is to clearly understand the effort required to switch so you can use it as credible leverage.
  • Term and Renewal Negotiation: Oracle Java subscriptions are sold as yearly (or multi-year) subscriptions. You should negotiate the term length and caps on renewal increases. For example, if you sign a 3-year deal, try to lock pricing for those 3 years. If you go annual, be aware that Oracle’s list prices may increase; try to cap renewal price hikes. Also, clarify what happens if your employee count grows or shrinks – some contracts may allow for a true-up annually, while others may fix a specific number.
  • Audit Relief Clauses: When negotiating, see if you can get clauses that forgive past usage or provide some audit waiver. Perhaps Oracle can agree not to pursue past compliance fees if you purchase a certain subscription now (this is often implicitly done as part of a settlement). Also, if you are switching to the employee metric, ensure your contract states that it supersedes previous metrics so Oracle doesn’t double-dip (most will). If you had an Unlimited Agreement (ULA) for Java that has ended, negotiating the exit properly is key. Usually, you would need to certify deployments.
  • Small Businesses and Java: Paying Oracle might seem untenable for small organizations. Negotiation might mean politely declining and migrating to free solutions if you can’t afford Oracle Java. Oracle’s sales teams have approached even small firms for Java licensing, quoting tens of thousands of dollars, which is often not feasible. In such cases, the “negotiation” explains that you will simply uninstall Oracle Java or switch to OpenJDK, and sometimes Oracle will drop pursuit when the potential revenue isn’t worth their effort. Know that Oracle can’t force you to keep using their software – you always have the choice to remove it and, thus, remove the need for a license.
  • Keep Evidence of Compliance: Whatever you agree on, maintain records. If you negotiate a special discount or exception, get it in writing. Also, keep track of how you calculated the number of licenses. This will help ensure both sides remember the assumptions in future true-up or audit discussions.

Read Top 15 Things IT Leaders Must Know About Oracle Java SE Licensing and Audits

Real-world example: An enterprise with ~5,000 employees discovered hundreds of Oracle JDK installations. Oracle’s initial demand under the new model was to license all 5,000 employees at approximately $10 each per month (list price), i.e., $ 50,000 per month. The company considered alternatives and pushed back. Ultimately, they negotiated a deal to cover 5,000 employees at a significantly lower rate, thanks to a large discount from Oracle, resulting in approximately $ 20,000 per month.

They also bundled some Oracle database license renewals with it. Another midsize tech company with 200 employees decided not to pay Oracle. Within three months, they migrated all their applications to an OpenJDK distribution. When Oracle came knocking, they demonstrated that they were no longer running Oracle JDK, which avoided a purchase.

In summary, do not accept Oracle’s Java quote at face value. There is often room to negotiate the price per unit, and if you have a strong alternative plan, such as migrating to OpenJDK or refactoring away from Oracle JDK, you have a bargaining chip.

Also, consider consulting licensing experts or resellers who have experience with Oracle. They might provide insights into current discount trends (for example, Oracle sometimes runs promotions at the end of the quarter to boost Java sales, which you could take advantage of).

Read our audit defense strategy for employee based licensing.

Oracle Java vs OpenJDK: Comparing Options

Oracle Java vs OpenJDK

Given Oracle’s licensing changes, many organizations have turned to OpenJDK as an alternative. OpenJDK is the open-source reference implementation of Java and is the basis for Oracle’s own JDK.

Let’s compare Oracle Java (Oracle JDK) with OpenJDK on several key points:

  • Source and License: OpenJDK is an open-source project licensed under GPL v2 with Classpath Exception (GPLv2+CPE). This means it’s free to use, modify, and redistribute, even in production, with no cost. Oracle JDK is built from the OpenJDK source, but under Oracle’s proprietary licenses (OTN or NFTC, available for free usage or with a support license for subscribers). Functionally, Oracle JDK and OpenJDK of the same version are nearly identical in code. In fact, since Java 11, Oracle JDK builds and OpenJDK builds have had only minor differences, such as packaging or some incidental utilities. Oracle even states that its OpenJDK and Oracle JDK binaries are interchangeable for Java 11 and later versions regarding features.
  • Features and Performance: In earlier versions (Java 8 and earlier), the Oracle JDK included some additional components, such as Java Flight Recorder, Mission Control, and Application Class-Data Sharing, that were not fully open-sourced. By Java 11, Oracle had open-sourced Flight Recorder and other previously commercial features. Today, Oracle JDK has no significant feature that pure OpenJDK doesn’t, except maybe the Oracle-specific update installer or some fonts. Performance-wise, they are the same – since they share the same codebase, you can expect that an OpenJDK build (say from Eclipse Adoptium/AdoptOpenJDK or Amazon Corretto) will perform on par with Oracle JDK for a given version. There’s no special “proprietary performance boost” in Oracle JDK. In short, functionally and performance-wise, OpenJDK is equivalent to Oracle JDK for practical purposes. This has been confirmed by many in the Java community, as well as by Oracle itself.
  • Support and Updates: This is where the difference comes. With Oracle JDK (commercial), you get Oracle’s official support, which includes regular security patches beyond the public timelines, hotfixes if needed, and the ability to file support tickets if something goes wrong. Oracle typically releases Java updates quarterly. Non-paying users only get those updates during the free window (for the latest versions) or not at all (for older versions). With OpenJDK, updates are community-driven. The OpenJDK project provides updates for a given release for a limited time. Oracle contributes updates for six months for non-LTS releases and the first six months of an LTS, as seen with Java 17​. However, various vendors step in to provide long-term support for OpenJDK releases: for example, Red Hat maintains OpenJDK 8 and 11 for many years (Red Hat’s builds power AdoptOpenJDK/Adoptium for those versions), Amazon Corretto provides free builds with long-term updates, Azul provides even longer support (some versions up to 2030 under their paid support, or some free streams with slight delay). You can get timely security updates for Java 8, 11, 17, and more from non-Oracle sources, such as Adoptium or Corretto, at no cost. Alternatively, you can opt for a much cheaper support contract than Oracle’s if you need SLA support. Oracle updates older Java versions (8 and 11) exclusively for paying customers after the public end of life. But other OpenJDK providers fill that gap for free or at a minimal cost.
  • Cost: Oracle JDK – as we’ve detailed – can cost anywhere from $15 per user per month and up, unless you qualify for free use under NFTC by staying current. OpenJDK – no license fees at all. Even if you opt for paid support from Red Hat or Azul, the cost is often significantly less than that of Oracle. For example, some third-party Java support might be a few thousand dollars per year for an entire organization, depending on the vendor, which is often an order of magnitude less than Oracle’s subscription quote. Many businesses choose to use OpenJDK without paid support and update regularly to the latest builds, which are free.
  • Update Availability: With Oracle, one advantage used to be that Oracle’s patches were released slightly before others. However, Oracle publishes security fixes through the OpenJDK project (for supported branches). When a critical vulnerability is discovered, Oracle fixes it in its commercial update. Typically, that fix also gets incorporated into the OpenJDK code that others build from. The timing may differ (Oracle may release to its customers immediately, whereas the open-source build might arrive a few days or a couple of weeks later, depending on the distribution). For most, this gap is minor. One thing to note: As of late 2024, Oracle’s new policy is that once an LTS goes out of its NFTC period, Oracle will release future updates for that version under the OTN (free for development, paid for production), effectively making them less freely available. However, other OpenJDK distributors will continue to release free updates for that LTS. For instance, after Oracle stopped providing free JDK 17 updates, Adoptium and others still provide Java 17 updates.
  • Compliance Risk: Running Oracle JDK in production without a clear license can invite audits and compliance issues, as discussed. Running OpenJDK (from any provider) has no Oracle license compliance risk – it’s open source. Many CIOs have opted to standardize on OpenJDK across the board to “drastically reduce audit risk” from Oracle​. This is a key difference: Oracle cannot audit you for using a non-Oracle product. You might still want support, but you won’t get a compliance penalty for using OpenJDK.
  • Vendor Stability and Warranty: Some argue that Oracle’s support might be superior in diagnosing deep JVM issues since they have the actual JVM engineers. Oracle can also provide legal indemnification and warranties (to the extent in their contract) that a free OpenJDK doesn’t. Large companies like Red Hat and Amazon also stand behind their OpenJDK builds. For most users, the Java community and third-party support ecosystem is mature enough that Oracle’s offering is not the only safe choice.

In summary, choosing between Oracle Java and OpenJDK depends on whether you need Oracle’s direct support and are willing to pay for it, or if you prefer a free (or cheaper) solution that may require more effort to stay updated.

Technically, your applications will run the same on either. Many organizations have migrated to OpenJDK distributions, including Eclipse Adoptium/AdoptOpenJDK, Amazon Corretto, Azul Zulu, Microsoft’s Build of OpenJDK, and IBM Semeru.

These are all based on the same OpenJDK code. Some even use multiple – e.g., OpenJDK for most systems and Oracle JDK for a subset of critical ones with a support contract.

One strategy, if uncertain, is to gradually replace Oracle JDK with OpenJDK in non-critical systems to test it out. Most find no issues. Notably, starting with Java 11, Oracle JDK and OpenJDK use the same internals, including the same garbage collectors, etc. In Java 8, there were small differences (font rendering, some cryptography provider differences, and the lack of WebStart in OpenJDK), but solutions exist for these as well (OpenJDK has IcedTea Web for WebStart, etc.).

Thus, for organizations balking at Oracle’s licensing terms, OpenJDK offers a haven: feature parity and no license fees.

Read our CIO brief on Java licensing.

Legacy Java License Metrics: Processor and Named User Plus (NUP)

Legacy Java License Metrics Processor and Named User Plus

Before Oracle switched to the employee-based Universal Subscription, Java licensing used Oracle’s traditional metrics: Processor licenses and Named User Plus (NUP) licenses.

These terms originate from Oracle’s broader licensing practices, commonly used for databases and middleware, and were applied to Java SE from 2018 to 2022.

  • Processor License (per Core licensing): A Processor license means you license each processor core (or CPU) on which the software runs, regardless of the number of users. Oracle defines “processors” in terms of cores and applies a “core factor,” a multiplier based on the CPU type. For example, Oracle’s core factor for Intel Xeon is 0.5, so one physical core counts as half a license. If you had Java running on a server with 8 Xeon cores, you would need 8 * 0.5 = 4 Processor licenses of Java. Under the Java SE Subscription (2019–2022) pricing, Oracle charged a list price per processor, approximately $25 per month per processor for Java SE. Processor licenses are ideal for server-side deployments where many users or applications might use the same Java runtime. You didn’t have to count individual users – just the hardware. Example: An application server running on a 4-core virtual machine (VM) would require two processor licenses. It can serve either 1,000 or 10 users, and the cost remains the same.
  • Named User Plus (NUP) License: A Named User Plus license refers to a single named individual (or a non-human device) that uses the software. In the context of Java, this was often used for desktop licensing or environments where user counts could be accurately determined. For instance, if 50 employees in your company use an internal Java-based application (or have Java installed on their workstations for client-side use), you could license 50 Named Users instead of licensing by processor core. Oracle requires a minimum number of NUPs per processor if used on servers (usually 25 NUP per processor minimum) to prevent unrealistically low counts. Under Java SE Subscription pricing, an NUP was roughly $2.50 per user per month (list) for Java SE. Example: If you had a build server with Java accessed by five developers, you could, in theory, license 5 NUP (subject to minimum) instead of the whole server by processors.
  • How They Applied to Java: When Oracle launched the Java SE Subscription in 2018/2019, they offered both metrics:
    • Java on Desktops: Oracle had a specific “Java SE Desktop Subscription” licensed per Named User (per employee desktop). Companies that needed Java on hundreds of PCs (for running internal apps or applets, etc.) could count each user or device.
    • Java on Servers: Oracle usually sold Java SE Subscriptions per Processor for backend servers since a server with multiple users could typically use a JVM. Theoretically, NUP was an option if a server was only accessed by a small, known set of users, but Oracle would enforce either the higher NUP count or the per-processor minimum. In practice, many server deployments use processor licensing for simplicity.
    • Some organizations, for example, had 100 developer machines (100 NUP licenses) and 10 production server instances (possibly 20 processor licenses, if each had multi-core processors).
  • Named User Plus details: Oracle’s definition of NUP counts human users and any “non-human-operated devices” that access the software. In the context of Java, that could mean that if an IoT device or automated system started a JVM or used it, that might also be considered a user. NUP is essentially a count of accounts or instances accessing the software. You had to license each distinct person or device that uses Java. Also, Oracle’s policy for server software is that even if you choose NUP licensing, you must license at least 25 NUP per server processor. So, if you had a 4-core server (2 processor licenses, by factor, requiring a minimum of 50 NUP), and only 10 users, you would still need to buy 50 NUP (the minimum). Thus, NUP made sense mainly for desktop or small user-base scenarios.
  • Legacy vs. Current: The employee metric officially replaced these legacy metrics in January 2023​. Oracle stopped selling new NUP or Processor-based Java SE subscriptions. However, existing contracts on those metrics could continue until their term ended. Some customers secured multi-year deals before 2023 and will ride those out. Oracle initially allowed renewals on the old metrics for a time (with heavy validation)​. Still, by late 2023, Oracle strongly encouraged everyone to transition at renewal and even refused to provide renewal quotes unless the employee count​ was disclosed.
  • Comparison Example: Suppose a company has 1000 employees, but only 100 work with Java applications (say 50 developers and 50 analysts using a Java app). Under the old model, the company might have licensed 50 developer PCs plus a few servers. That could have been maybe $ 50 NUP for dev and, say, four processor licenses for servers = roughly $ 502.50 + $ 425 = $ 927.50 per month at best, which is $ 11,125 per year (just as an example). Under the new model, 1000 employees * $12 = $12,000 per month at best, which is $144,000 per year – a significant increase. This hypothetical scenario shows why many felt the employee metric was a gut punch and why understanding Processor/NUP legacy metrics remains relevant. If your usage is highly concentrated, the old model was significantly cheaper. Enterprises in that situation should negotiate aggressively or move away from Oracle to avoid the jump. Conversely, a company that had Java on every desktop and server might have found the old model cumbersome to manage and perhaps more costly, so the new model might simplify planning (though it was rarely cheaper in pure cost).
  • Java SE Advanced/Suite: It’s worth noting that Oracle also offered Java SE Advanced and Java SE Suite offerings, which included additional monitoring and management features. Processor or NUP also licensed those. If an organization had those, the metrics would apply similarly. Oracle has been deprecating these in favor of the universal subscription now.

In short, Processor and NUP metrics were how Java was licensed from 2019 to 2022. Processor licenses were tied to hardware capacity, while NUP was tied to user counts. Both had their use cases. Now, Oracle has simplified to a single metric (employees), which is easier to administer but often less aligned with actual Java usage.

If you’re an existing Oracle Java customer on Processor/NUP, be prepared for Oracle to propose a migration to per-employee at your next renewal – it’s important to calculate the cost difference and consider alternatives before that conversation.


Real-World Tip: Many organizations facing the 2023 changes have decided not to renew Oracle Java subscriptions and switch to OpenJDK distributions​.

This avoids the complexity of these metrics and the surprise costs. Oracle, seeing this, introduced free NFTC usage to keep people on Oracle bits, but ultimately, each organization must weigh the cost versus the benefit. For those who need Oracle (perhaps due to support reasons or policy), this guide should provide the necessary knowledge.

Read our 100 FAQ on Java licensing.

Oracle Java Licensing Guide

Download this free white paper to uncover your Java licensing exposure, audit risks, remediation steps, and practical strategies for compliance.

Java Licensing FAQs

Why are there three different Oracle Java licensing agreements?

One agreement applies to older Oracle Java versions and patches, while Java OTN is for Oracle Java 11 and 17. Java 17, the Java No-Fee License Agreement, applies to the third licensing agreement.

Do you have to have a Oracle Java 8 license?

It depends on three factors: a) Have you applied a security patch to Java, and is it version 211 or later? b) Have you used Java Commercial features? c) Have you read the licensing agreement, and are you clear that your usage falls under “general purpose computing?

Suppose we bought a third-party application that requires Oracle Java SE. Who is responsible for making sure we are compliant?

Please review your agreement with the third-party application to see if it mentions Oracle Java SE licensing. If it does not, you, as the end customer, may be responsible for licensing.

Oracle Java licensing and ISV / OEM licenses?

Only a few OEM partners have agreements with Oracle Java, and typically, these are large software companies that have had these agreements in place for years. A good rule of thumb is that the smaller the ISV is, the less likely it is to have an OEM agreement with Oracle.

Oracle Java and Commercial Features?

To review Oracle Java SE commercial feature usage is the wrong place to start; the question of whether you need a license or not will most likely be determined by a) reviewing your Java licensing agreement, and b) your IT security policy that requires you to patch servers and desktops, c)When you apply a security patch, you will be on the new licensing agreement (Oracle Java OTN SE), which does not allow commercial usage.

Oracle Java SE OTN does it require a license for non-prod?

You don’t need to license your development environment if you develop your own applications. However, you must license both if you buy a third-party application and have both a production and development environment.

How to purchase Oracle Java SE licenses?

Few resellers sell Java directly from Oracle because Oracle doesn’t provide the reseller any margins. You can also purchase Java from the Oracle webshop.

Does Java Development Kit license?

Yes, the Java Development Kit may require a review of the Java licensing terms applicable to your specific version.

Oracle Java Audits?

Since January 2023, Oracle has included Java in its standard audits.

What recommendation would you give to a company that has not yet reviewed its licensing?

Start because the Java licensing review will not give you a clear answer to the question,” This is what you need to buy.” It will only give you an understanding of your current situation.

In our experience, there will be a long internal discussion about your company’s strategy between your IT, IT security, management, and legal teams. If you do not start, you might be rushed if Oracle audits your company and will be forced to purchase Oracle Java SE licenses you do not need.

What happens at the end of a Java ULA?

You will need to uninstall Java from all devices and servers. You will not own any licenses, which is different from technology ULA, where you can keep the deployed software as licenses.

What kind of discounts can I expect for Java?

Discounts vary; our clients achieve very high discounts using our Java licensing advisory services.

What is a Java employee metric?

Oracle released its new license metric in January 2023. According to Oracle, users must be licensed even if they do not use Java.

What if we have shared devices with multiple users? How to license?

You need to license every individual who has access to that device.

Which is the most common mistake companies make with Java?

They disregard the licensing agreement covering older deployments and misunderstand Oracle licensing around VMware.

Which commercial feature is most commonly used?

Companies have used the MSI from the Oracle website to update or distribute in large quantities, which is not allowed.

Any more challenges?

Many organizations that investigate Java are not big Oracle customers. They struggle to understand Oracle licensing policies. Oracle does not help when end customers contact it. Instead, Oracle wants to audit its Java deployments.

Do we need a license if we run Java 8 with not applying a security update after April 2020?

Yes, that would most likely be our default position. However, you need to review the BCL agreement with your legal counsel.

Do third-party application vendors have restricted Java licenses?

Very few, a handful worldwide. Only major software vendors such as IBM, SAP, and Symantec.

Is Oracle Java 17 free for commercial use?

Yes, all commercial use is free if you do not distribute Java into solutions you sell to end customers.

What was the Java licensing change in 2019

Oracle announced that security updates would only be released if you had a subscription or license. All future Java versions and updates would follow a new licensing agreement, the Java OTN SE agreement. It is worth noting that Java was not free before 2019.

When Oracle writes that Java is free, what do they mean?

It is free via OpenJDK or Java 17.

We have Java 7. Do we need a license?

Yes, most likely – review the Oracle BCL agreement that is valid for this version

We have upgraded our Java 8 to a security patch 211 or later. Do we need a license?

Yes, if you are a commercial organization, you now follow the Java OTN agreement and need a license.

Do you recommend we contact Oracle for help with Java?

No, work with an independent licensing expert who can help you understand what you need to license and what you don’t. Only when you have right-sized your environment should you contact Oracle. The Oracle licensing expert can also help you develop a strategy for approaching Oracle.

How to license Java in AWS?

In AWS, you multiply the number of vCPUs; usually, you count two vCPUs, which equals one license for Java SE.

And how does it work to license Java on Azure?

In Azure, you multiply the number of vCPUs and usually count two vCPUs, equaling one license for Java SE. (only applies to legacy licensing)

How will this 2023 license changes impact me if I have a 3-year agreement for a Java subscription?

There will be no impact until your current agreement expires; after that, you will most likely be required to purchase the employee license.

With employee licenses, do we need to count processor licenses for licensing Java?

No, licensing is based only on the employee definition, which you need to study to understand what you need to license. We have expert knowledge and can help you if you need help.

Can I run Java on VMWare with an employee subscription?

Yes, you can run Java on VMware. You do not count the number of processors if you have the employee license model. However, be aware of the 50,000-processor cap.

With employee licenses, do we need to count processor licenses for licensing Java?

No, licensing is based only on the employee definition, which you need to study to understand what you need to license. We have expert knowledge and can help you if you need help.

What is the new pricing model for Java SE subscriptions?

Oracle replaced the old Named User Plus Licensing (user licenses) and Processor licenses (server licensing) with a new model called Employee for Java SE Universal Subscription. This new pricing model is based on the number of employees, with different price tiers for different ranges of employee numbers.

What is the limit of processors that can be installed and run the Java SE Universal Subscription Program(s) under the new pricing model?

The limit of processors installed and run by the Java SE Universal Subscription Program(s) is 50,000. If usage exceeds 50,000 processors, excluding those installed and running on desktop and laptop computers, an additional license from Oracle must be obtained.

We have a Java SE desktop subscription with Oracle. Can we buy more licenses?

Yes, we help our clients negotiate a purchase based on legacy or new employee metrics. The one that is most optimal for them.

How to license Employee Java SE Universal Subscription AWS?

You do not count processors or users as long as you correctly calculate the employee license definition and purchase sufficient Oracle licenses.

We have a Java ULA – what will be our options?

We have clients who are either negotiating a purchase on named user plus and processor, employee-based, or a new ULA:

Can I negotiate the pricing with Oracle?

Yes, after showing the actual value of Java in their estate, our clients receive very high discount offers from Oracle.

We recieved an e-mail from Oracle wanting to discuss Java licensing, what should we do?

Do not reply to the e-mail before you have had the chance to review your Java licensing optimization properly. Only then should you contact Oracle.

We purchased Java SE Named User Plus and Processor Metrics, Oracle is refusing to renew the subscription. What can we do?

Read our article, Java Audit Renewal, and consider contacting us for help.

Is Java 17 Free?

Yes, Java 17 is free under NFTC. However, after applying for a security patch released in September 2024, you will need a subscription for security patches. However, you can continue running Java 17 without applying a security patch at no cost.

What non Oracle JDK options exist?

OpenJDK (OpenSource) and Azul Java are two of the leading options.

We signed an Java Employee Agreement, How can we leave it?

You must plan to leave it the day after signing the Java employee agreement. We have developed a service to assist your organization.

Does Java require a license?

Yes, but only under specific conditions, such as using certain versions or applying specific security patches.

Is Java open source?

Yes, OpenJDK is the open-source version of Java.

Do companies pay to use Java?

Some companies may need to pay for Java licensing, depending on their usage and the specific Java version.

Is Java owned by Oracle?

Yes, Oracle acquired Java as part of its purchase of Sun Microsystems.

What license is Java under?

Java is primarily under the Oracle Technology Network License Agreement for Oracle Java SE. Older versions are licensed under the Binary Code License Agreement. New releases are licensed under NFTC.

Difference between OpenJDK and Oracle Java?

OpenJDK is the open-source implementation of Java, while Oracle Java often includes additional commercial features and support services.

Can you negotiate Oracle Java Employee Agreements?

You must negotiate the Java employee agreement to protect your organization from price increases and audits. If you already have an existing agreement, read how to optimize and negotiate the Java Employee Subscription Renewal.

How much does Java cost?

Java software pricing starts at $15 per employee per month, with tiered pricing as low as $5.25 per month for larger volumes.

Read more about our Oracle Java Licensing Services.

Java Licensing Service

Do you want to know more about our Oracle Java License Advisory Services?

Please enable JavaScript in your browser to complete this form.
Author
  • Fredrik Filipsson has 20 years of experience in Oracle license management, including nine years working at Oracle and 11 years as a consultant, assisting major global clients with complex Oracle licensing issues. Before his work in Oracle licensing, he gained valuable expertise in IBM, SAP, and Salesforce licensing through his time at IBM. In addition, Fredrik has played a leading role in AI initiatives and is a successful entrepreneur, co-founding Redress Compliance and several other companies.

    View all posts