Java licensing

Java JRE Licensing

Java JRE Licensing Explained Are You Paying for Apps You Don’t Even Control

Java JRE Licensing Explained

Java JRE Licensing Explained

Oracle Java JRE Licensing Models and Procurement Risks

Oracle’s Java licensing has undergone major changes that significantly impact enterprise costs and compliance.

Oracle now requires a Java SE subscription for all employees within an organization, marking a shift from the previous usage-based model.

This advisory article explains the new Java Runtime Environment (JRE) licensing model, its cost implications, and strategies for managing or avoiding unnecessary fees while staying compliant.

Overview of Java JRE Licensing Changes

Java was once free for enterprise use, but in recent years, Oracle has monetized the Java platform. In 2019, Oracle ended free public updates for Java 8, introducing paid support subscriptions.

By 2023, Oracle overhauled Java licensing again, replacing the old per-user or per-processor model with a Java SE Universal Subscription based on the total number of employees.

These changes mean organizations can no longer assume Java is “free” – using Oracle’s Java in production now typically requires a paid license or careful use of alternatives.

This shift has caught many businesses off guard, leading to confusion and urgent budgeting concerns.

Oracle’s New Employee-Based Licensing Model Explained

Oracle’s Java SE Universal Subscription uses an employee-based metric for licensing. This means that an enterprise must purchase licenses for every employee, not just those directly using Java.

Oracle’s definition of “employee” is broad – it includes all full-time and part-time staff, plus temporary workers, contractors, outsourcers, and consultants who support your business.

In practice, this is an enterprise-wide license: you can deploy Oracle Java on any number of servers and desktops, but you pay according to the total number of employees in your organization.

Pricing: The subscription is priced per employee, per month, with volume discounts for larger organizations. For example:

  • 1–999 employees: $15 per employee/month
  • 1,000–2,999: $12 per employee/month
  • 3,000–9,999: $10.50 per employee/month
  • 10,000–19,999: $8.25 per employee/month
  • 20,000–29,999: $6.75 per employee/month
  • 30,000–39,999: $5.70 per employee/month
  • 40,000–49,999: $5.25 per employee/month
  • 50,000+ employees: custom pricing (must negotiate with Oracle)

These rates are list prices; enterprise deals may vary slightly. The subscription term is typically one year, renewable annually.

Importantly, Oracle locks in the employee count at the time of purchase – even if your workforce shrinks later, the cost is based on the original number. (If you grow, expect Oracle to insist on true-up licensing for the higher headcount.)

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

Legacy Java Licensing vs. Universal Subscription

Under Oracle’s previous licensing, companies only had to license Java for actual usage. The old Java SE Subscription (2019–2022) was measured by Named User Plus (NUP) for desktops and Processor counts for servers.

In other words, you paid for each user or device running Java, or for each server CPU on which Java was installed. For example, the legacy subscription list price was around $2.50 per user per month for desktop Java, and $25 per processor per month for server Java.

Many businesses with limited Java use could contain costs by licensing just specific users or servers.

With the new model, that granularity is no longer available. Table: Old vs New Java Licensing Models

AspectLegacy Java SE Subscription (Old Model)Java SE Universal Subscription (New Model)
MetricNamed User Plus (per named user or desktop); Processor (per CPU core)Employee count (all employees in organization)
Who Must Be LicensedOnly users or machines actually running Java; only the processors where Java is installedEvery employee (including contractors) regardless of who uses Java
Usage CoverageOnly covers specified desktops/servers; separate fees for desktop vs server useUniversal use across all desktops, servers, and cloud – one enterprise-wide coverage
Cost Basis$2.50/user/month (desktop), $25/processor/month (server) – pay for actual usage footprint$15/employee/month (for small orgs, tiered down to $5.25 at large scale) – pay for entire workforce size
FlexibilityMore granular: could license just parts of the company using JavaAll-or-nothing: must license entire organization (simplicity but potential over-pay)
License EnforcementNon-compliance if Java found on unlicensed machines/usersNon-compliance if any Java use in org without licensing all employees

Key Difference: Even if only 10 people in your company use a Java application, Oracle now expects you to buy licenses for everyone on payroll. The new model greatly simplifies Oracle’s tracking but can dramatically increase costs for customers with light or moderate Java usage.

Oracle officially retired the NUP/Processor model for new customers in January 2023.

Existing Java SE Subscription customers were temporarily allowed to renew under the old metrics, but any expansion or new agreement now falls under the employee-based scheme. In practice, even current customers on legacy contracts are being pressured to transition to the Universal Subscription at the time of renewal.

Oracle’s FAQ suggests that you may renew legacy terms if your usage remains the same, but this isn’t guaranteed – organizations should be prepared for Oracle to adopt the new model going forward.

Cost Implications and Real-World Examples

For many enterprises, the switch to employee-based licensing represents a significant cost increase.

Oracle’s own pricing example shows that a large company of 28,000 employees would face an annual Java subscription cost of around $2.27 million under the new model. Industry analysts estimate that companies will pay anywhere from 2 to 5 times more for Java than before. Let’s look at a couple of scenarios:

Example ScenarioPrevious Model Annual Cost (approx.)New Employee Model Annual CostIncrease
Mid-size firm, limited Java use: 250 total employees; Java used on 20 desktops & 8 server processors.~$3,000 (20 users *@ $2.50 + 8 procs *@ $300/year)~$45,000 (250 employees *@ $15 *@ 12 months)≈ 15× (1,400% higher)
Mid-size firm, heavy Java use: 250 employees; Java on all desktops (250 users) & 48 server processors.~$21,900 (250 users + 48 procs under old rates)~$45,000 (250 employees *@ $15 *@ 12)≈ 2× (105% higher)

Even in a case where every employee was already a Java user (second scenario), the cost more than doubles. In the first scenario, where only a small fraction of staff needed Java, the new model is exponentially more costly. This “one size fits all” pricing forces organizations with minimal Java footprints to pay for a full population as if everyone is a Java developer or user.

Additionally, Oracle’s tiered pricing means that larger enterprises receive a lower per-employee rate; however, their total cost is still very high due to the volume. For instance, an organization with 45,000 employees would pay $5.25 per employee/month, equating to about $2.835 million per year. Signing multi-year agreements locks in those costs (e.g., $8.5 million over 3 years for 45,000 employees). Such expenses must now be budgeted as a recurring OPEX item, rather than a smaller maintenance fee on select licenses as in the past.

Contract Negotiation Note: Oracle’s sales reps have been aggressively promoting this “simplified” model. In some cases, they may be open to negotiation on price tiers or counting methods, but generally, the metric itself (all employees) is non-negotiable. Be aware that any unlicensed Java usage discovered (even on a few PCs) can trigger compliance claims for the entire employee count. Thus, most organizations feel compelled to either purchase the universal subscription or remove Oracle Java entirely to avoid liability.

Compliance and Audit Risks

Java may seem ubiquitous and harmless, but Oracle now treats it like any other licensable software. The compliance risk is real: if your company uses Oracle’s Java JDK or JRE without an appropriate subscription, you are violating the license terms. Oracle has ramped up auditing efforts for Java. It’s increasingly common for Oracle to include Java in broader license audits (covering databases or middleware) or even to initiate Java-focused audits.

Non-Compliance Penalties: If audited, Oracle can demand backdated subscription fees for unlicensed usage, often covering the past two to three years of use. This could mean a hefty, unplanned bill. For example, a company that has been using Java since 2021 without a license might be presented with three years of subscription fees for the entire workforce – a staggering penalty. Additionally, Oracle may impose contractual penalties or require an immediate purchase of a subscription to settle the findings. In short, ignoring Java licensing can result in significant financial exposure.

Bundled Oracle Products: One common question is whether you need a Java license if you’re running another Oracle product that uses Java (like Oracle Database or WebLogic Server). Oracle’s policy is that if Java is only being used within another licensed Oracle product, you do not need a separate Java SE subscription for that usage. The right to use Java is included to run that product. However, if you use Java for any other applications outside of that specific Oracle product context, you do need to license it. It’s critical to distinguish general-purpose Java use from product-specific use. Audit findings have shown that companies were caught off guard, believing Java was covered when, in fact, their non-Oracle applications running on Java required a license.

Staying Compliant: To avoid surprises, enterprises should proactively audit their Java installations:

  • Identify all servers, VMs, desktops, and applications running Oracle Java.
  • Document why each instance of Java is there (is it part of an Oracle app, or supporting a third-party/internal app?).
  • Uninstall or replace Oracle JRE in places where it isn’t needed.
  • Where Java is required, consider using an open-source Java distribution (discussed below) to avoid Oracle licensing entirely.

Given Oracle’s aggressive stance, it’s safer to assume any commercial use of Oracle Java without a subscription is a compliance risk. Don’t rely on being “under the radar” – prepare as if an audit is inevitable.

Alternatives and Strategies to Optimize Java Licensing

The good news is that companies are not without options. If Oracle’s Java licensing costs are not acceptable, you can pursue several strategies:

1. Migrate to Open-Source Java Distributions: The core Java platform is available in open-source form as OpenJDK. There are numerous free, enterprise-ready JDK/JRE distributions, including Eclipse TemurinAmazon CorrettoIBM SemeruAzul Zulu, and others. These are functionally equivalent to Oracle Java (since Oracle’s JDK is based on OpenJDK), minus a few commercial add-ons. By deploying one of these, you avoid Oracle’s fees entirely. Many large organizations have switched to OpenJDK builds to sidestep licensing costs. The trade-off is that you won’t have Oracle’s official support, but some of these providers (e.g., Azul, IBM, Amazon) offer their own support plans or have robust communities. If you have in-house Java expertise and can manage updates yourself, open-source Java is a highly viable route that provides ongoing security updates at no cost.

2. Utilize Oracle’s Free License Options Carefully: Oracle has introduced No-Fee Terms and Conditions (NFTC) for certain Java versions, allowing free use of the latest long-term support (LTS) release in production, but only for a limited time window. For example, Java 17 was free under NFTC for approximately three years (September 2021 to September 2024) for all users. Once the next LTS (Java 21) arrived, Oracle began requiring a subscription for continued Java 17 updates. Now Java 21 is offered under NFTC (no-fee) until a year after the next release. This approach allows organizations to always upgrade to the latest Java version, but that can be impractical for enterprise applications that prefer stability. If you can maintain a rapid upgrade cycle (adopting each new Java version as it comes out), you might never pay Oracle. However, this strategy incurs operational overhead and risk, and you still won’t receive Oracle’s long-term support for any given version.

Additionally, Oracle still offers the older Oracle Technology Network (OTN) license for Java 8 and Java 11, which permits free use for development, testing, or personal use. However, production use under OTN is not free – it effectively requires a subscription if you transition to production. In summary, Oracle’s “free” Java options are either time-limited or restricted to non-production scenarios. They can be part of a strategy (for example, using the latest LTS in non-mission-critical systems and upgrading frequently), but most enterprises find them too limiting for broad use.

3. Stick with Oracle and Optimize Usage: If your organization decides Oracle Java’s benefits (official support, guaranteed compatibility, etc.) are worth the cost, then focus on optimizing the subscription:

  • Accurate Employee Count: Make sure you understand how Oracle counts employees. Exclude anyone who does not meet the definition, if possible. (For instance, can you exclude contractors that aren’t supporting internal operations? Oracle’s definition is broad, but clarity here can avoid over-counting.)
  • Centralized Java Deployments: Remove redundant or unnecessary Java installations. The fewer places Java is used, the easier it is to justify alternative solutions for some and limit the scope of what you must run on Oracle Java.
  • Leverage Existing Contracts: If you were an existing Java subscriber under the old model, attempt to renew under those terms as long as you can. Similarly, if you have Oracle Universal License Agreements or enterprise agreements, see if Java can be bundled or negotiated as part of a larger deal for better discounts.
  • Engage with Oracle Early: Before your Java usage triggers an audit, consider approaching Oracle for a conversation about licensing. In some cases, Oracle may offer a flexible deal (e.g., phased adoption or a slight discount) if it sees a willing customer. Always negotiate from a position of knowledge – know your usage and the costs of alternatives so you can gauge if Oracle’s offer is reasonable.

In all cases, the goal is to minimize unnecessary cost while keeping your Java environments secure and compliant. There is no one-size-fits-all solution; the right path depends on your application requirements, risk tolerance, and negotiating leverage with Oracle.

Some companies will find it easiest to pay Oracle’s universal subscription as a “Java tax” for peace of mind, while others will invest effort in migration to cut that cost entirely.

Recommendations

  • Audit Your Java Usage: Conduct a comprehensive inventory of all Java installations and applications within your organization. Identify where Oracle’s JRE/JDK is in use and whether it’s truly needed in each case. This is the foundation for any licensing decision.
  • Assess License Needs vs. Alternatives: For each Java deployment, determine whether it can be replaced with an open-source JDK or the latest no-fee Oracle JDK. Only use Oracle’s licensed Java where absolutely necessary (e.g., if a specific commercial feature or support is required).
  • Calculate Your Exposure: Determine your total “employee” count as defined by Oracle. This number drives the cost – know it before Oracle asks. If your workforce is large but Java usage is minimal, recognize the cost imbalance and prioritize finding alternatives to paying for all users.
  • Engage Stakeholders Early: Involve procurement, IT leadership, and finance in the discussion now. Budget for the worst-case cost of an Oracle Java subscription, but also build a case for investing in migration or third-party support as a cost-saving measure. Early engagement ensures no surprises to leadership when a large PO for Java support hits the table.
  • Stay Current on Licensing Policies: Oracle’s Java licensing rules have undergone multiple changes and may change again. Assign someone (or an external licensing advisor) to monitor Oracle’s announcements, price list updates, or FAQ changes regarding Java. Being informed will help you react quickly to new opportunities (e.g., a new free release) or requirements.
  • Secure Your Java Environments: If you opt to avoid Oracle’s subscription by not updating certain versions (to stay free), understand the security implications. Develop a plan for receiving security patches either by upgrading to new Java versions or switching to a vendor that backports fixes. Never compromise security to save licensing costs – there are safe ways to stay compliant and secure.
  • Negotiate at Renewal: If you currently have an Oracle Java subscription or other Oracle agreements, use renewal time to negotiate. Oracle sales reps may have flexibility on pricing tiers, especially if you hint at moving to alternatives. Leverage the fact that Oracle would prefer some revenue (even at a discount) over losing you to OpenJDK entirely.
  • Document Everything: Keep detailed records of your Java usage, licensing decisions, and communications with Oracle. If audited, this documentation will be invaluable in demonstrating your compliance efforts or substantiating why certain systems were using an alternative Java.

Checklist: 5 Actions for Managing Java Licensing

  1. Discover & Catalog Java Installations – Scan all servers, VMs, desktops, and applications to locate where Java (JRE/JDK) is installed. Document version, vendor (Oracle or other), and usage context (which application uses it).
  2. Determine License Requirements – For each Java instance, decide if it falls under Oracle’s licensing (production use of Oracle JRE) or if a free alternative can cover it. For Oracle-dependent instances, sum up your total employee count to gauge subscription costs.
  3. Evaluate Alternatives – Research and test open-source Java distributions (such as OpenJDK variants) for compatibility with your applications. Perform a pilot migration on non-critical systems to ensure third-party JDKs work as expected, paving the way to broader adoption if viable.
  4. Develop a Compliance Plan – If you must use Oracle Java, plan how you will stay compliant: budget for the subscription, mark renewal dates, and train IT staff on the process for deploying Oracle JRE only with approval. If you aim to avoid Oracle licenses, set a timeline and tasks for replacing Oracle JRE in all systems before audit risk grows.
  5. Consult Experts if Needed – Java licensing can be complex. Consider consulting with a software licensing expert or engaging Oracle directly for clarity (in writing) on any gray areas. An expert can also assist in negotiations or audit defense, potentially saving you significant costs.

FAQ

Q1: Is Java still free for enterprise use, or do we need to pay Oracle?
A: In general, running Oracle’s Java (JRE/JDK) in a business now requires a paid license. Oracle’s free public Java updates ended for Java 8 in 2019, and newer versions are mostly under commercial terms, except for certain temporary free offers. If you use Oracle’s Java in production and are beyond the allowed free-use cases, you need a Java SE Subscription. The safe assumption is that Java is no longer free for commercial use – unless you deliberately switch to a non-Oracle OpenJDK distribution or stick strictly within Oracle’s narrow free usage terms.

Q2: What does the Java SE Universal Subscription include?
A: Oracle’s Java SE Universal Subscription gives your organization the rights to use Oracle’s Java on desktops, servers, and cloud, for any number of instances, as long as you license every employee. It also includes access to Oracle’s quarterly Java security updates, patches on older versions (as long as they’re supported), and 24/7 support from Oracle for Java issues. Essentially, it’s an all-in-one package: you pay a monthly fee per employee and in return get Java usage rights and support services. It covers all versions of Java SE (from 8 up to the latest) for the duration of the subscription. Keep in mind: if you stop paying (or don’t renew), you lose the right to use Oracle’s Java in production and lose access to updates, so it’s truly a subscription model.

Q3: Do we have to count all employees, even if only a few use Java applications?
A: Under the new Oracle licensing, yes. The Java SE subscription is enterprise-wide, based on total headcount, rather than the number of Java users. Even if only five developers use Java, if your company has 500 employees, Oracle’s stance is that all 500 need to be licensed. This can feel counterintuitive and unfair. The only exceptions are if those Java uses are exclusively tied to another Oracle product (as noted, that’s covered by that product’s license) – but for general use of Java, Oracle wants a license for everyone. This is why many organizations with limited Java usage are exploring alternatives; it doesn’t make financial sense to pay for every employee when only a small fraction of them use Java. Unfortunately, Oracle does not offer a smaller-scale license for just a subset of users under the new model.

Q4: What are our options to avoid or reduce the cost of Oracle Java licenses?
A: There are a few approaches:

  • Use OpenJDK or third-party Java: Switch your applications to an open-source Java distribution (like Eclipse Temurin, Amazon Corretto, Azul, etc.). These have no license fees. Many are drop-in replacements for Oracle JDK. Just ensure they are compatible with your software and that you have a plan for updates (either self-managed or via a support contract with the provider).
  • Stay on the latest Oracle JDK under free terms: If you can manage frequent upgrades, use Oracle’s current LTS release while it’s free (e.g., Java 21 as of now) and be prepared to jump to the next LTS when the free period expires. This avoids fees, but it’s a tightrope – miss the upgrade window and you’ll owe Oracle if you need patches.
  • Limit Java usage: Remove Java from any systems where it isn’t required. Sometimes software comes with an embedded JRE that you don’t actually need to use if you disable certain features. Fewer Java installations mean fewer potential compliance issues.
  • Negotiate with Oracle: If you have leverage (such as a large Oracle database contract or significant cloud spending), discuss a discount or an enterprise agreement that bundles Java at a more favorable rate with your Oracle representative. Oracle may offer a more favorable deal to retain a strategic customer.
    Each option has pros and cons, so evaluate them in light of your applications, security needs, and organizational appetite for change.

Q5: What happens if we ignore this and continue using Oracle Java without a subscription?
A: If you continue using Oracle’s Java in production without a proper license, you are taking a compliance and financial risk. Oracle’s License Management Services (LMS) or auditors can audit your organization. Should they find unlicensed Java deployments, Oracle will likely demand that you purchase subscriptions retroactively for the period of unlicensed use (often up to 3 years past), and going forward. This could mean an unexpected, large expense and a rushed negotiation under unfavorable conditions. There’s also the risk of legal consequences if a resolution isn’t reached, though typically it results in a settlement (you buying licenses and possibly paying some penalty or back fees). In addition to the direct financial hit, an audit consumes time and resources and can strain your relationship with Oracle. In short, “ignoring it” is not advised – many companies have learned the hard way that Oracle is actively monitoring Java compliance now. It’s far better to proactively address Java licensing by obtaining the correct subscriptions or removing Oracle Java from your environments.

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 two decades of Oracle license management experience, including a nine-year tenure at Oracle and 11 years in Oracle license consulting. His expertise extends across leading IT corporations like IBM, enriching his profile with a broad spectrum of software and cloud projects. Filipsson's proficiency encompasses IBM, SAP, Microsoft, and Salesforce platforms, alongside significant involvement in Microsoft Copilot and AI initiatives, improving organizational efficiency.

    View all posts