Java licensing

Types of Oracle Java Licenses

Types of Oracle Java Licenses

  • Perpetual Licenses (Until 2019): One-time purchase with indefinite use. Required annual support for updates.
  • Java Subscriptions (2019 – 2023):
    • Java SE Desktop: $2.50/user/month, including updates and support.
    • Java SE for Servers: $25/processor/month, including updates and support.
  • Java Employee License Metric (2023 Onwards):
    • Based on total employees, e.g., $15/employee/month for 1-999 employees.
    • Covers desktops, servers, and cloud environments.
    • Custom pricing for over 50,000 employees.

Types of Oracle Java Licenses

Types of Oracle Java Licenses

Overview of Oracle Java Licensing Evolution

Oracle Java licensing has undergone significant evolution over the past decade, transitioning from perpetual licenses to subscription-based models, culminating in the employee-based licensing metric introduced in 2023.

Each licensing type has distinct characteristics, costs, and compliance requirements that impact enterprises differently. Understanding these licenses is crucial for businesses to ensure compliance, manage software budgets, and effectively mitigate legal risks.

This article provides a comprehensive explanation of each Oracle Java licensing model—perpetual Licenses, Java Subscriptions, and the Java Employee License Metric—along with practical guidance and examples to clarify their implications for organizations.


Perpetual Licenses (Until 2019)

Java Licensing & Audit Warning for CIOs Stop Oracle from Charging You

Oracle’s Java licensing model has evolved from traditional perpetual licenses to more expansive subscription models.

This article explains the key types of Oracle Java licenses – from legacy perpetual contracts and early subscription metrics (Named User Plus and Processor) to the new Java SE Universal Subscription based on employee counts.

Understanding these license types is crucial for enterprises to manage compliance, control costs, and negotiate effectively.

Legacy Perpetual Java Licenses

In the past, Oracle offered perpetual Java SE licenses (such as Java SE Advanced or Java SE Suite), which gave organizations the right to use specific Java features indefinitely. These perpetual licenses were typically tied to a certain number of processors or users.

For example, a company might purchase a Java SE Advanced license for X server CPUs or a set number of desktops, paying a one-time fee plus annual support (around 20-22% of license cost each year for updates and support).

Under this model, you owned the license for that scope forever, even if you stopped paying for support (though you’d lose access to updates and patches).

Real-world example: Before 2019, a large bank could buy a Java SE Advanced perpetual license for, say, four processors at a list price of a few tens of thousands of dollars per processor. They would then pay yearly support fees to get updates.

If they chose not to renew support, they could still legally use the Java software, but on their last entitled version without further security patches. This upfront-capex model was initially predictable but costly, and Oracle eventually phased it out.

Key characteristics of perpetual Java licenses:

  • One-time License Fee: High upfront cost per processor or per user, granting indefinite usage rights for specific Java versions/features.
  • Annual Support Fee: Optional but necessary for patches; typically ~22% of license price annually.
  • Advanced Features: Covered “commercial features” like Java Flight Recorder, Mission Control, etc., which were not available under the free Java license.
  • Limited Availability: Oracle removed Java SE perpetual licenses from its price list in 2019, transitioning to a subscription-only licensing model. Organizations with existing perpetual contracts retain their rights, but no new sales are offered.

Java SE Subscription (2018–2022): Named User Plus & Processor Metrics

Oracle introduced the Java SE Subscription model in 2018 as a shift from perpetual licensing to a pay-as-you-go approach. Under this legacy subscription, customers paid a monthly or annual fee to use Java and receive updates/support.

The licensing was measured with Oracle’s traditional metrics: Named User Plus (NUP) for end-users or desktop installations, and Processor for server or cloud deployments.

  • Named User Plus (NUP): This metric counted the number of named individuals (or devices) using Java. It was often applied to desktop environments or smaller user groups. For instance, if 100 employees had Java installed on their PCs, you would need 100 NUP licenses (with Oracle often requiring a minimum number per organization or processor). This model was similar to how Oracle licenses databases per user.
  • Processor: This metric covered Java use on servers and was based on the number of processor cores on which Java was running. If Java was installed on a server with multiple CPU cores, you counted each core (adjusted by Oracle’s core factor table for different hardware) to determine how many processor licenses were needed. This allowed unlimited users on that server – you paid per CPU power instead of per person.

Pricing under the legacy subscription: Oracle’s price list for Java SE Subscription (before 2023) was roughly $2.50 per Named User Plus per month for desktop/users and around $25 per processor core per month for servers.

In practice, that meant:

  • A small company with 50 desktop Java users would pay about $125 per month (50 × $2.50) for a Java SE subscription.
  • A server with four cores running Java in production would cost about $100 per month (4 × $25) under the processor metric.

These fees grant access to all needed Java updates (e.g., security patches for Java 8, 11, etc.) and support services. The subscription had to be renewed annually (or multi-year) to remain compliant.

If a subscription lapsed, the rights to use Oracle’s updated Java binaries would end (forcing customers to either stop updates or remove the software).

Pros and cons: The Named User Plus and Processor subscription model was more flexible than the old perpetual scheme because you could start or stop subscriptions as needed and scale the count annually. It targeted specific Java usage – you only paid for the users or servers that required Oracle Java.

However, it introduced compliance complexity: organizations had to track exactly how many desktops had Oracle Java installed and on which servers Java was running, to ensure they purchased sufficient NUP or processor licenses.

Many firms struggled with tracking Java installations across development, testing, and production environments, which raised the risk of non-compliance or unexpected costs during audits.

Java SE Universal Subscription (2023 – Employee-Based Licensing)

In January 2023, Oracle introduced a significant change to its Java licensing with the launch of the Java SE Universal Subscription, shifting from targeted NUP/Processor metrics to an employee-based metric.

This new model requires organizations to license Java for all employees in the company, regardless of the number of employees who use Java.

Under the Java SE Universal Subscription, the term “Employee” is broadly defined to include full-time and part-time staff, as well as temporary workers, contractors, and even agents who support the company’s internal operations.

Essentially, it’s a count of the total workforce (and in some cases, even non-employees who use company devices).

This metric is meant to simplify licensing on paper – you no longer have to count specific installations or CPUs – but it dramatically expands the coverage obligation.

Even if only five developers in a firm of 500 employees use Oracle Java, the company must still license all 500 under this scheme.

Pricing tiers: The Universal Subscription is sold in per-employee units with volume discounts for larger organizations.

Oracle’s public pricing (as of 2023) started at $15 per employee per month for smaller enterprises and scaled down for larger ones.

For example:

  • A company with 500 employees would pay roughly $15 × 500 = $7,500 per month (about $90,000 per year) at list price.
  • At 1,000 employees, the per-employee rate drops (around $12 per employee/month), so 1,000 employees might cost approximately $12,000 per month.
  • Very large enterprises (with tens of thousands of employees) receive further discounts; for example, a firm with 40,000+ employees might pay as low as $5–6 per employee per month. At $5.25 per employee, a 50,000-employee corporation would still spend over $3 million per year on Java licenses.

For clarity, here’s a simplified pricing table for the Universal Subscription:

Total EmployeesOracle Java SE Subscription Cost (approx.)
500 (small business)$15 per employee per month ( ~$90k/year )
1,000 (mid-size org)~$12 per employee per month ( ~$144k/year )
10,000 (large enterprise)~$7–$10 per employee per month (tiered rate)
40,000+ (very large)~$5.25 per employee per month ( ~$2.5M/year )

Table: Oracle Java SE Universal Subscription pricing examples at different enterprise sizes (list prices). Actual negotiated rates may vary, but this example illustrates the significant costs associated with growing employee counts.

Comparison to legacy model: This new per-employee scheme often results in higher costs for companies with limited Java usage. For instance, under the old model, a business with a handful of Java-based applications might have only needed 20 NUP licenses (20 users × $2.50 = $50/month) or a couple of processor licenses for backend servers (say 2 cores × $25 = $50/month).

Now, the same business with 500 total staff must budget $7,500/month because one small Java app triggers licensing for everyone. This “blanket” approach can multiply spending 10 times or more for organizations that previously tightly controlled their Java footprint.

Oracle touts the simplicity (one license covers desktop, server, and cloud use universally) and the value of comprehensive support. But many customers see it as a blunt instrument that forces an enterprise-wide commitment, even for minor Java usage.

Impact on existing customers: As of 2023, Oracle ceased selling older Java SE subscriptions to new customers. Suppose you were already on a Named User Plus or Processor subscription.

In that case, Oracle’s policy is that you may renew your legacy contract only if your usage hasn’t expanded and you remain compliant with the original contract. In reality, many organizations report pressure from Oracle’s sales teams to transition to the Universal Subscription at renewal time.

The new model can simplify compliance (no longer needing to count devices or cores), but it often comes with a significant price increase. Some mid-sized companies estimated their Java licensing costs would jump 3-5× higher with the per-employee model compared to their previous agreements.

Navigating the Changes and Risks

Oracle’s shifting Java licensing schemes have introduced new challenges for IT asset managers and software procurement teams:

  • Cost Management: The broad employee-based licensing can unexpectedly blow up budgets. It’s crucial to forecast the cost impact. If only a small portion of your IT environment uses Oracle Java, you might be paying for a lot of non-users under the new model. On the other hand, for a company already deploying Java pervasively (on thousands of desktops and numerous servers), the Universal Subscription could potentially be cost-neutral or even beneficial, especially if previous usage was undercounted. Always compare scenarios: What would your cost be under the legacy model versus the new one? In some cases, it may justify trying to renew an existing contract or seek concessions.
  • Compliance and Audit Risk: Oracle has become more aggressive in auditing Java usage. Now that Java licensing can represent a significant recurring revenue, Oracle often checks compliance either through dedicated Java audits or as part of standard audits for databases and middleware. Under the NUP/Processor model, organizations needed to be diligent in counting installations. Under the employee model, the focus is on ensuring any Oracle Java usage is covered by an enterprise subscription. If you’re not licensed and Oracle finds Oracle JDK installations (e.g., via download records or scripts run during audits), you may be liable for backdated fees. The risk of a surprise audit finding unlicensed Java is higher today – surveys in 2025 indicated that over 70% of organizations using Oracle Java had been audited in the past three years, an unusually high rate.
  • License Scope and Usage: The Universal Subscription covers all environments (desktop, server, cloud) without separate license types. This universality eliminates the need to purchase distinct “Java SE Desktop” and “Java SE Server” licenses – one subscription type now covers both. That simplicity can reduce management overhead, but remember it is all-or-nothing. Previously, some companies attempted to limit Oracle Java to specific areas (and use OpenJDK elsewhere) to minimize license counts. With per-employee licensing, those siloing tactics don’t save money – if you need Oracle Java in any capacity, you need to count everyone.
  • Alternative Options: Oracle Java is not the only Java distribution. The changes have driven many enterprises to evaluate alternatives like OpenJDK (the open-source reference implementation of Java) or third-party builds (e.g., Amazon Corretto, IBM Semeru, Azul Zulu). These options are binary-compatible with Oracle Java and free or lower-cost (with optional support contracts). Oracle’s own licensing shifts (and the end of free public updates for older Java versions) have effectively ended the “free ride” of using Oracle’s JDK in production, pushing organizations to either pay Oracle or migrate. The transition to per-employee licensing accelerated this trend – nearly 80% of IT asset managers in a 2025 survey said they are moving away from Oracle Java in favor of open-source solutions to avoid the new fees and complexity. While switching Java runtimes requires testing and validation, it can drastically cut costs and remove the enterprise-wide license obligation.
  • Contract Negotiation: If Oracle Java is critical for your business (perhaps due to specific application certifications or performance reasons), you may find yourself having to accept the Universal Subscription. In such cases, treat it as an enterprise agreement negotiation. Oracle’s list prices can often be discounted based on your overall Oracle spend or the strategic importance of the account. Also consider negotiating terms like lock-in periods, pricing caps on employee count increases, and flexibility in true-up or true-down (for instance, if your employee count drops, can your cost be adjusted accordingly at renewal?). Ensure the contract definitions of “employee” are clear and understood – e.g., if you have large numbers of contractors, you might negotiate how they are counted. Engage your contract team or a licensing advisor to seek the best possible terms rather than accepting the first quote.

Recommendations

  • Audit Your Java Usage: Start by identifying where Oracle Java is used in your environment (servers, VMs, desktops, applications). This inventory is crucial for understanding your exposure.
  • Evaluate Needs vs. Alternatives: For each identified Java usage, ask if you truly need Oracle’s Java (with support and commercial features) or if open-source Java would suffice. If you have minimal or non-critical usage, consider migrating to OpenJDK or vendor-supported free Java distributions to avoid licensing fees.
  • Calculate Your License Footprint: If Oracle Java is necessary, calculate your license requirements under the new model. Determine your total “employee” count as Oracle defines it. Use Oracle’s tiered pricing to estimate costs, and compare it to what you paid (or would have paid) under the old NUP/Processor model. This analysis helps build a business case and budget request – it may reveal a steep increase that management needs to be aware of.
  • Leverage Existing Entitlements: Check if your organization has any grandfathered Java agreements. Perpetual Java SE Advanced or Java SE Suite licenses purchased in the past might still cover certain usage. Also, some Oracle products (like WebLogic, Oracle Database, etc.) include restricted-use Java licenses for components bundled with those products – ensure you’re not double-paying if Java is only used within the scope of another licensed Oracle product.
  • Plan for the New Subscription (if needed): If you must adopt the Java SE Universal Subscription, time it strategically. Coordinate the start of a subscription with procurement cycles, and potentially align it with other Oracle renewals to negotiate better terms. Avoid lapsing into non-compliance – Oracle typically does not offer grace periods for Java.
  • Secure Executive Support: Given the significant cost impact, brief your leadership on Oracle’s Java license changes. Many business stakeholders still assume Java is “free.” Clarify the risks of non-compliance and the potential cost of an Oracle audit. Getting executive buy-in will help if you need to allocate budget for licenses or dedicate resources to a migration project.
  • Implement Java Governance: Treat Java like any other licensed software in your asset management processes. Establish policies for how new Java deployments are approved (e.g., using OpenJDK by default, and only using Oracle JDK when absolutely required). Continuously monitor installations – for example, use endpoint management tools to detect Oracle JDK installs, so you can uninstall or replace them if they are unlicensed.
  • Stay Informed: Oracle’s Java roadmap and licensing policies may evolve (e.g., changes in free-use terms for new versions). Regularly review Oracle announcements or consult with Oracle licensing specialists especially before major Java version releases or contract renewals. Awareness can prevent unpleasant surprises, such as inadvertently running a version that just fell out of free status.

Checklist

  • ☑️ Identify all Oracle Java installations – Scan your servers, VMs, containers, and desktops for any Oracle JDK/JRE installations. Document the version (e.g., Java 8, 11, 17) and where it’s used (application name or service).
  • ☑️ Determine if each use is commercial or covered – For each Java instance, check if it’s used in production or for commercial purposes. Development and testing use of Oracle Java (for versions under OTN or NFTC terms) might be free, but production use likely requires a license unless it’s the latest LTS under the temporary free period. Also verify if any use is already covered by another Oracle product license (restricted use rights).
  • ☑️ Assess alternatives and plan migration – For Java applications not strictly dependent on Oracle’s builds, plan to transition to OpenJDK or another free distribution. Test compatibility in a staging environment. Oracle’s Java and OpenJDK are largely identical in code, so most applications will run fine on alternatives. Address any upgrade needs (e.g., moving from Java 8 to Java 17) as part of this migration to stay on a free-supported version if possible.
  • ☑️ Engage stakeholders and decide on licensing – Bring together IT, procurement, and business owners to decide how to handle Java going forward. If an Oracle Java SE Subscription is unavoidable (due to support requirements or contractual obligations with third-party vendors), obtain approval for the budget and initiate the purchasing process. If you aim to eliminate Oracle Java, set a timeline and responsibilities for the migration project.
  • ☑️ Document and educate – Keep clear records of your Java license entitlements (contracts, purchase orders, Oracle CSI numbers, etc.) and where they apply. Document any decisions, such as “we will use OpenJDK for all internally developed apps” or “we purchased Oracle Java for X employees covering these systems.” Educate developers and IT staff about the policy, for instance, by disallowing the downloading of Oracle JDK from Oracle’s site without central approval, to prevent accidental non-compliant installations. A well-informed team is your first line of defense against license violations.

FAQ

Q1: Do we need to license Oracle Java for our entire company under the new rules?
A: If you use Oracle’s Java (e.g., Oracle JDK binaries in production) beyond the free allowances, the new Java SE Universal Subscription requires counting all employees. In other words, any commercial use of Oracle Java now triggers a company-wide license obligation. This represents a significant shift from the past, when you could license a subset of users or specific servers. Some scenarios (like purely using OpenJDK or only using Oracle Java for development/testing on the latest version) may not require a license. But for any broad use of Oracle’s Java in operations, expect that every employee must be accounted for in the subscription count. It’s an “all or nothing” model now.

Q2: We have old Java SE Advanced (perpetual) licenses – are those still valid?
A: Yes. Suppose your organization previously purchased Java SE Advanced or Java SE Suite under a perpetual license. In that case, you retain the right to use those specific Java versions/features within the licensed scope (e.g., number of processors or users) indefinitely. Oracle can’t revoke those rights, even though it no longer sells that type of license. However, there are caveats: those licenses typically only cover older Java versions (like Java 8 or Java 11) and do not automatically cover newer releases. Also, if you stopped paying support, you won’t receive updates or security patches beyond the last date of support. If you need to use a newer Java version or require ongoing updates, you may still need to consider a subscription. It’s wise to review your original license contract details and consider consulting with a licensing expert to determine the extent of your perpetual rights and whether they can be leveraged in negotiations with Oracle.

Q3: Can we still buy Named User Plus or Processor Java licenses?
A: Not anymore. Oracle has discontinued the sale of legacy Java SE subscriptions based on Named User Plus and Processor metrics. All new purchases after Java SE Universal Subscription’s introduction (Jan 2023) must use the per-employee model. If you have an existing subscription contract using NUP/Processor, Oracle’s general rule is that you can renew it for now if your usage hasn’t increased and your contract allows for renewal. In practice, many customers are finding Oracle pushing them to transition to the new model at renewal time. So while you might extend a legacy contract briefly, plan for the eventual need to adopt the new scheme or reduce reliance on Oracle’s Java. Always check with Oracle or your reseller well in advance of your renewal date to understand your options.

Q4: How has the new licensing model affected Java costs for enterprises?
A: The shift to per-employee licensing has substantially increased costs for many companies. Under the old model, costs were proportional to actual Java usage (e.g., number of Java users or the servers running Java). Now, costs scale with the size of the organization’s workforce, which is often a much larger number. For example, a company using Java on 50 servers might have paid around $ 15,000 per year under the old model (50 cores × $ 300 per month). If that company has 5,000 employees, under the new model, it would pay roughly $5-$7 per employee per month – that could be around $ 300,000+ per year, a significant increase. Not every case is extreme; an organization that already had Java on every desktop might see a smaller relative change. But overall, Oracle’s own sales literature and customer feedback indicate 2x-5x cost increases have been common. This has forced enterprises to allocate a larger budget for Java or to seek cost-saving measures, such as migrating to open-source Java distributions. It’s critical to perform a cost-impact analysis tailored to your specific situation.

Q5: Are there alternatives to Oracle’s Java licensing that we can consider?
A: Yes. The good news is that Java, as a technology, is available from multiple sources. Oracle’s JDK is one distribution, but the open-source OpenJDK is functionally equivalent and is the reference implementation for Java. Several vendors provide free, production-ready builds of OpenJDK with timely security updates, including Adoptium/AdoptOpenJDK, Amazon Corretto, Azul Zulu, IBM Semeru, and others. These can often be used in place of Oracle JDK without code changes. Many are free to use, with optional paid support available for enterprise-level assistance. Another approach is to stick to the latest Long Term Support (LTS) version of Java under Oracle’s No-Fee Terms and Conditions (NFTC). Oracle allows free use of the latest LTS release (e.g., Java 17, now Java 21) until one year after the next LTS release is available. This can buy you a few years of free usage, but you must be willing to upgrade promptly when the free period ends; otherwise, you’ll need a license. Each alternative has its pros and cons: with OpenJDK, you may need to manage updates yourself or contract third-party support, and with NFTC, you must accept frequent upgrades. Nonetheless, these options have become increasingly popular as organizations seek to avoid the broad fees associated with Oracle’s new licensing. Always ensure that any alternative you choose is thoroughly tested with your applications, and factor in the operational effort to maintain it. For many, the savings justify those efforts when compared to a large Oracle subscription bill.

Read about our Java Advisory Services.

🎥 How Redress Compliance Helps You Avoid Oracle Java Audit Fees | Java Licensing & Audit Defense

Would you like to discuss our Java Advisory Services with us?

Please enable JavaScript in your browser to complete this form.
Name

Author

  • Fredrik Filipsson

    Fredrik Filipsson brings 20 years of dedicated Oracle licensing expertise, spanning both the vendor and advisory sides. He spent nine years at Oracle, where he gained deep, hands-on knowledge of Oracle’s licensing models, compliance programs, and negotiation tactics. For the past 11 years, Filipsson has focused exclusively on Oracle license consulting, helping global enterprises navigate audits, optimize contracts, and reduce costs. His career has been built around understanding the complexities of Oracle licensing, from on-premise agreements to modern cloud subscriptions, making him a trusted advisor for organizations seeking to protect their interests and maximize value.

    View all posts