Java Licensing

Oracle Java SE Universal Subscription vs. Azul Platform: Cost, Licensing, and Risk Comparison

Oracle Java SE Universal Subscription vs. Azul Platform

Oracle Java SE Universal Subscription vs. Azul Platform: Cost, Licensing, and Risk Comparison

Overview: In 2025, CIOs and CFOs evaluating Java platform choices face a stark contrast between Oracle’s Java SE Universal Subscription and Azul’s Java offerings, including Azul Platform Core and Platform Prime.

Oracle’s new licensing, as of January 2023, charges for Java usage on a per-employee basis – an “all-you-can-eat” model that often dramatically increases costs. Azul, by contrast, offers usage-based licensing for Java, available per server core or installation, with fully supported OpenJDK builds.

This report directly compares the two models, focusing on licensing terms, support, pricing, compliance risks, and business-impacting technical differences, from a blunt analyst perspective.

Licensing Model and Terms

Oracle Java SE Universal Subscription (2023) – Oracle’s current model requires a subscription for every employee in the organization, regardless of how many use Java. Key points of Oracle’s licensing:

  • Per-employee metric: The fee is calculated based on the total number of employees. “Employees” include all full-time, part-time, and temporary staff, as well as contractors and outsourcers who support the business. Even if only a handful of servers run Java, the subscription must cover the entire workforce. There is no separate licensing for servers vs. desktops – one employee-based subscription covers all Java usage across the company​. This greatly simplifies Oracle’s sales metric, but it means you pay for Java even if employees never use it.
  • All-You-Can-Use (at a Price): In theory, this model allows unlimited Java installations (on desktops, servers, or in the cloud) without tracking individual instances. However, the cost scales directly with organization size. Small usages in a large company can become very expensive under this scheme.
  • No Free Production Use: Oracle’s JDK is no longer free for commercial use, except for development and testing. Any production or internal business use triggers the subscription requirement, or the company is out of compliance, a change since 2019.
  • Term & Termination: Subscriptions are annual. If you stop renewing, you will lose access to updates and support, and must either discontinue use or switch to an alternative, such as Oracle’s free OpenJDK builds, which offer no support.

Azul Platform Core – Azul’s offering is a commercially supported build of OpenJDK, known as Azul Zulu, with a capacity-based licensing model.

Instead of counting employees, Azul licenses Java based on actual usage: the number of processor cores on servers (or the number of desktops) running Java. Key characteristics:

  • Per-Core or Per-Instance Metric: Azul Platform Core is typically licensed per vCPU core on servers or per desktop installation. Pricing is tiered based on the number of cores or desktops in use. For example, a package for up to 250 server cores is a fixed price, with higher tiers for more cores​. This means you only pay for the Java runtime where it’s deployed, not for every employee. It aligns cost with usage, which can be far more economical if only a subset of the infrastructure runs Java.
  • Desktop Licensing: Azul also offers desktop-specific pricing tiers (e.g., up to 500 desktops, up to 1000, etc.) for organizations that need Java on end-user machines​. This allows flexibility – companies can license servers and desktops separately as needed, rather than a blanket fee.
  • Flexible Usage & Versions: The Azul license covers any Java SE version you run, with support for Java 8, 11, 17, and more, including legacy Java 6 and 7 at an additional fee​. There is no distinction between development and production use – the focus is simply on supported, installed instances.

Azul Platform Prime – Azul’s premium Java offering (formerly known as Zing) uses the same OpenJDK base but with advanced performance features. Its licensing is also capacity-based (per core), typically at a higher rate than Platform Core, yet “as low as $20 per vCore per year” at scale.

Platform Prime includes the support entitlements of Platform Core, but also grants rights to use Azul’s optimized JVM technology. Essentially, Azul Prime’s licensing model is similar to Core (pay by cores used), with a minimum purchase requirement, targeting scenarios where enhanced performance is worth the cost.

Summary: Oracle’s per-employee model is unique and broad, effectively a tax on organizational size. Azul’s model is more granular, tying costs to the Java footprint. For a CIO or CFO, this means Oracle is predictable but often over-scope in cost. In contrast, Azul requires tracking Java deployments but can significantly lower expenses by charging only for what you use.

Companies with large headcounts and modest Java usage are most penalized by Oracle’s scheme. At the same time, those with heavy Java workloads but smaller staff could benefit from Oracle’s flat pricing, though such cases are rare.

Support and Maintenance Differences

Both Oracle and Azul offer enterprise-grade support for Java SE, but there are differences in scope and approach:

  • Support Coverage: Oracle’s Java SE Subscription includes 24/7 support and access to all critical updates for Java SE. Oracle touts that it provides “triage support for the entire Java portfolio, including third-party libraries and runtimes​,” leveraging its role as the steward of Java. Azul also provides 24/7 support (Standard or Premium tiers) with a team of Java specialists, often former Oracle or Sun engineers. Azul’s focus is exclusively Java, which for some customers translates to highly specialized help. Both vendors offer timely security patches and bug fixes for the versions they support.
  • Security Updates and Patches: Oracle releases quarterly Critical Patch Updates (CPUs) for Java, which subscribers receive. Azul Platform Core also provides quarterly update releases, including security-only patches on stabilized code (i.e., only security fixes without functional changes). Oracle and Azul are two vendors that provide security-only update options for Java​, which is valuable for risk-averse enterprises. Azul can also deliver out-of-cycle fixes for critical vulnerabilities when needed, ensuring businesses are not exposed if an emergency patch is required.
  • Supported Java Versions: Oracle’s support for older Java versions (e.g., 6, 7) is limited; extended support contracts for these have largely ended or become very costly. Azul, by contrast, offers Legacy Java support (for Java 6 and 7) as an option, providing security updates for platforms that Oracle no longer supports. This is a key differentiator for organizations still running legacy applications: Azul can cover a wider range of Java versions under one plan, whereas Oracle essentially forces an upgrade (or a very expensive custom support deal).
  • Indemnification and IP Protection: Running open-source software in enterprises raises concerns about intellectual property. Azul provides broad indemnification against GPL-related risks for its OpenJDK builds​. This means Azul will protect the customer if any IP issues arise from using its Java distribution. Oracle’s standard subscription comes with the typical commercial license terms and indemnity for Oracle’s code. Still, since Oracle JDK is under Oracle’s license (not GPL in production), some of these open-source contamination concerns are avoided by design. Still, for companies preferring an open-source Java (OpenJDK) with legal safeguards, Azul’s offering is reassuring.
  • Feature Enhancements: Oracle’s Java SE subscription now includes previously commercial features, such as Flight Recorder and Mission Control, as part of the package. Azul Platform Core similarly includes all standard OpenJDK features and even adds some extras (e.g., FIPS 140-2 certified cryptography modules, support for special platforms like MIPS, etc.)​, Azul Platform Prime extends this with performance-oriented features (advanced just-in-time compilation, better garbage collection algorithms) aimed at improving throughput and response times.

In summary, support quality is comparable – both vendors offer the necessary 24/7 support and updates for mission-critical use. Oracle leverages its position as Java’s original provider, whereas Azul differentiates with support for more versions and a sole focus on Java.

For a CIO, the main support consideration is whether you need coverage for out-of-date Java versions or specialized performance tuning. If so, Azul’s offerings provide that breadth. Otherwise, both will keep your Java runtime secure and up to date.

Pricing Structure and Examples

Understanding the pricing models in detail is crucial for CFOs.

Below, we outline how each vendor prices Java, with examples:

Oracle Java SE Universal Subscription Pricing: Oracle’s list pricing (2023) is tiered by total employee count​:

  • 1 – 999 employees: $15 per employee per month
  • 1,000 – 2,999: $12 per employee per month
  • 3,000 – 9,999: $10.50 per employee per month
  • 10,000 – 19,999: $8.25 per employee per month
  • 20,000 – 29,999: $6.75 per employee per month
  • 30,000 – 49,999: $5.70 per employee per month
  • 50,000+ employees: ~$5.25 or lower (negotiated)​

These rates are per month. To calculate the annual cost, multiply by 12. The price covers the use of Oracle JDK on any number of devices or cores. Oracle’s model benefits very large organizations with tens of thousands of employees by providing volume discounts.

However, for companies with fewer than 3,000 employees, the cost is quite steep at the list price. Example: 2,000 employees would cost approximately $288,000 per year (2,000 * $ 144) under this model.

Azul Platform Core Pricing: Azul’s pricing is tiered by capacity and depends on whether the Java runtime is on a server or desktop:

  • Server (vCPU) Pricing: Sold in bands of total cores. For instance: up to 250 cores is $41,000/year; up to 500 cores is $47,000; up to 1,000 cores is $57,000; up to 2,500 cores $88,000; 5,000 cores $135,000; 10,000 cores $227,000; 20,000 cores $404,000; unlimited negotiable​. These prices are for Premium 24/7 support. Azul also offers a slightly lower-cost “Standard” support tier.
  • Desktop Pricing: Also banded by number of desktops. E.g., up to 500 desktops $49,000/year; 1,000 desktops $60,000; 5,000 desktops $131,000; 10,000 $207,000; 20,000 $331,000, etc. (Desktop pricing is a bit higher than server-core pricing because a “desktop” might run many small Java apps for one user).
  • Azul Platform Prime Pricing: Azul Prime (performance edition) is priced per core at a premium, but Azul advertises it can be as low as $20 per core per year at high volumes​. In practice, a mid-to-large enterprise deployment might see Prime costs on the order of 1.5 to 2 times Azul Core costs for the same cores, unless negotiated otherwise. (For example, if 1,000 cores cost $57k with Core, Azul Prime might be roughly $20k–$40k additional in that scenario, depending on negotiated rate and minimums – but the trade-off is reduced hardware needs, discussed later.)

Pricing Example Scenarios: To illustrate the cost implications, here are comparisons for different organization sizes. Each scenario assumes the organization runs Java on a certain number of server cores (a rough indicator of usage). All costs are annual.

Small Enterprise (500 employees) – Assume Java is used on 100 server vCores and minimal desktops:

OptionAnnual Cost (USD)Notes
Oracle Java SE$90,000500 employees * $15/emp/mo * 12 months​. Covers all usage.
Azul Platform Core$41,000Covers up to 250 vCores (minimum tier)​. Sufficient for ~100 cores.
Azul Platform PrimeNot typicalUnlikely needed for small deployments; would require minimum spend (e.g. 250 cores worth).

In this small scenario, Oracle’s model charges for all 500 employees even if only a subset of IT systems run Java. Azul’s cost is less than half of Oracle’s, since you pay only for the ~100 cores running Java (falling into Azul’s minimum 250-core band).

For a very small Java footprint, Azul’s minimum price might slightly exceed a pure per-core prorated cost, but it still undercuts Oracle significantly. The Oracle plan would only be justified if nearly every employee’s machine needed Java (which is rare in 2025).

Mid-Sized Enterprise (5,000 employees) – Assume heavy Java use on 1,000 server vCores (for various applications):

OptionAnnual Cost (USD)Notes
Oracle Java SE$630,0005,000 employees * $10.50/emp/mo * 12​. (Tiered rate for 3k–9,999 employees).
Azul Platform Core$57,000Covers up to 1,000 vCores​ (sufficient for 1k cores; Premium support).
Azul Platform Prime~$20,000 – $40,000Incremental cost for 1,000 vCores at ~$20–$40/core/year​. Would replace Core on those systems.

For a mid-size firm, Oracle’s cost is an order of magnitude higher than Azul’s. Oracle is charging for all 5,000 employees, which in this example, is 11 times the cost of Azul Core supporting the actual 1,000-core Java workload.

Even if we added Azul Platform Prime for performance (say, around $ 30,000 extra), the total of around $ 87,000 is still only about 14% of Oracle’s price. The savings with Azul are dramatic – this aligns with industry reports of Azul being “around 70% less than Oracle Java” in typical cases. Unless an organization truly has Java running on nearly every desktop and server, the per-employee model leads to far higher spend.

Large Enterprise (20,000 employees) – Assume extensive Java deployment on 2,500 server vCores (large data centers):

OptionAnnual Cost (USD)Notes
Oracle Java SE$1,620,00020,000 employees * $6.75/emp/mo * 12​
(Tiered rate for 20k–29,999 employees).
Azul Platform Core$88,000Covers up to 2,500 vCores​ (sufficient for 2.5k cores).
Azul Platform Prime~$50,000 (additional)Approx. Cost for 2,500 cores at ~$20/core if using Prime​.

In this large enterprise scenario, Oracle’s Java subscription would cost over $1.6 million per year. The Azul Platform Core, supporting an equivalent Java footprint, costs under $100k. Oracle’s volume discount brings the per-employee rate down, but not nearly enough to close the enormous gap – Azul is roughly 18× cheaper here for the same scale of Java usage.

Even if the company opted for Azul Prime to boost performance (perhaps spending around $ 138,000 total, combining Core and Prime or just Prime’s higher cost), that is still a small fraction (~8%) of Oracle’s fee. For large organizations, the difference can be millions of dollars each year.

Oracle’s only advantage is if the company truly has tens of thousands of Java installations; otherwise, it’s clear why many enterprises are re-evaluating their Java strategy.

Note on Desktop Usage: Oracle’s per-employee pricing inherently covers employees’ use of Java on their desktops. With Azul, if a large portion of employees need Java on their PCs, that would be an additional cost under the desktop tiers.

For example, if all 20,000 employees in the large enterprise above needed Java on their desktops, Azul’s desktop license (~$331k for 20,000 desktops) would be added to the $88k server cost, totaling approximately $419k, still only a quarter of Oracle’s price.

In practice, desktop Java use (e.g., for internal apps or applets) is declining industry-wide, and many companies can avoid licensing Java on every desktop by installing it only where required.

Compliance and Audit Risk

One of the biggest concerns with Oracle’s Java licensing is the compliance risk and potential for audits. Oracle has a long history of conducting software license audits, and since monetizing Java, it has intensified enforcement.

Key differences:

  • Oracle’s Audit Stance: Oracle’s shift to an employee-based model does not eliminate audits – if anything, it may refocus them. Industry experts anticipate heightened audit activity for Java​. Oracle’s audit teams no longer need to count installations; instead, they might assert that a customer downloaded Oracle JDK X times and has Y employees, therefore requiring Y licenses​. In other words, if you haven’t subscribed and Oracle detects any usage of their JDK, they can claim you owe subscriptions for your entire workforce. This all-or-nothing dynamic is a significant compliance risk. Companies caught unaware (e.g., a developer installed Oracle JDK on one server years ago) could face a surprise bill covering thousands of employees. Non-compliance fees or back-dated charges can be hefty.
  • Azul’s Approach: As a third-party provider of OpenJDK, Azul does not employ audit tactics like Oracle’s. If you have a support contract with Azul, you’re licensed for the number of cores or desktops you purchased. There is no concept of “accidentally using Azul’s software unlicensed” because Azul’s open-source builds (Zulu) are free to use. What you pay for is support and access to their certified builds and updates. Thus, moving to Azul largely eliminates the risk of an Oracle audit. Even if you use Azul’s free builds without a contract, there’s no Oracle licensing issue because you’re not running Oracle’s code or agreeing to Oracle’s terms.
  • Compliance Management: For Oracle, compliance means tracking your total employee count and ensuring that you have purchased subscriptions accordingly. This is straightforward (just HR data) but unforgiving – you either cover everyone or violate the license. For Azul, compliance means tracking where Java is deployed (which servers, the number of cores, and the number of desktops). This is a bit of asset management work, but IT departments typically have this information. The upside is fine-grained control: if a Java application is decommissioned, you can reduce your licensed cores for the next term; with Oracle, if your employee count doesn’t drop, your cost doesn’t drop.
  • Mitigating Oracle Risk: Many organizations are actively removing Oracle JDK from their systems in favor of OpenJDK builds to avoid inadvertently falling under Oracle’s license. Oracle’s policies, such as the OTN license introduced in 2019, make any production use without a subscription a violation. In contrast, using Azul’s supported OpenJDK (or other alternatives like Eclipse Temurin) keeps you in the clear legally, as long as you don’t use Oracle’s binaries. For CIOs, this is a key strategic decision: continue with Oracle and accept the compliance overhead and audit risk, or switch to a vendor like Azul and simplify license management.

In blunt terms, Oracle’s model carries a “compliance trap” – one that can spring if you’re not 100% vigilant. Azul’s model, leveraging open-source licensing, avoids that trap entirely.

CFOs should weigh the potential cost of an Oracle true-up (which could be backdated for all employees, even those not using Java) against the relatively low, predictable cost of a third-party support contract.

Performance and Technical Differentiators (Business Impact)

From a pure functionality standpoint, Oracle JDK and Azul’s OpenJDK builds are functionally equivalent – both are Java SE and pass the same compatibility tests.

Technical differentiators come mainly from the Azul Platform Prime and certain value-adds:

  • Azul Platform Prime (Performance): Azul Prime is a custom JVM designed for extreme low latency and high throughput. For businesses running large-scale Java applications (trading systems, high-traffic web services, big data pipelines), Prime can yield substantial performance gains. Azul claims 20-50% higher performance in many workloads, which can translate to needing fewer servers to handle the same load. For example, some Azul customers report reducing server counts by 30-50% after switching to Prime​. In cloud deployments, this directly cuts VM instance costs. A 20% infrastructure savings is a conservative expectation in many cases​. For the CFO, this means Prime can pay for itself – the cost premium for the software is offset by lower hardware and cloud spending. It’s essentially an ROI consideration: pay Azul a bit more to save on AWS or data center bills. Oracle’s standard Java does not offer this kind of performance boost out of the box.
  • Garbage Collection and Response Times: Azul Prime uses a proven pauseless garbage collector (CACAO, formerly known as Zing’s Falcon and C4 technologies) that can eliminate JVM pauses. For certain high-frequency trading or real-time systems, this is crucial. The business impact is consistency and predictability – for example, no latency spikes due to garbage collection (GC). While Oracle’s newer JDKs have improved GC options (like ZGC), they still have not matched some of Prime’s real-world performance in ultra-low-latency scenarios. A CIO should assess whether such performance is a competitive advantage or a cost-saving opportunity for their specific applications.
  • Oracle’s JDK Features: Oracle doesn’t have a “higher performance edition” of Java beyond what’s in OpenJDK. However, Oracle’s tooling, such as Java Management Service on OCI, and integration with Oracle Cloud might be attractive if you are an Oracle-centric shop. Those are not part of the core runtime subscription, though. Technically, Oracle’s and Azul’s core Java should behave the same for 99% of applications. Migrating from Oracle to Azul is usually seamless, as Azul is a drop-in replacement and TCK-certified for Java SE compatibility.
  • Long-Term Roadmaps and Updates: Oracle, as the steward of Java, sets the pace for new releases (such as Java 21 and 23) and provides cutting-edge features with each version. Azul stays in lockstep with these releases, often shipping their builds simultaneously. Both provide Long-Term Support (LTS) for major versions, such as Java 17 LTS. One nuance: Oracle has adopted a model where LTS releases (like Java 17) are free under certain terms until the next LTS arrives (Java 21), after which you must pay for continued updates on the old version or upgrade. Azul does not impose such a policy; if you have Azul support, you receive updates for your chosen Java version as long as you have a contract, even after Oracle’s free window. This can be a technical planning consideration – Azul won’t force an upgrade cycle on your teams to avoid fees.

In practical business terms, the technical differences matter if they impact cost, risk, or competitive advantage. Azul’s Prime performance can reduce infrastructure costs or improve user experience for critical systems.

Azul’s broader version support can reduce risk if you have legacy apps. Oracle’s direct involvement in Java’s development means they will always be the first to introduce new features, but these features are also freely available in OpenJDK, which Azul also uses. Thus, there is no proprietary Java functionality from Oracle that you can’t get elsewhere, as Oracle removed most distinctions years ago.

For most enterprises, both options will deliver the needed Java capabilities; the differences lie in cost efficiency and risk mitigation rather than technology gaps.

Recommendations

For CIOs and CFOs, making a strategic decision on Java platforms should come down to cost, compliance risk, and business needs, rather than brand loyalty.

Based on the analysis:

  • Re-evaluate the ROI of Oracle Java: Under the new subscription model, Oracle Java SE becomes significantly more expensive in many scenarios. CFOs should calculate their annual Java spend under Oracle’s per-employee model and ask whether that cost is justified. If you’re paying for thousands of employees who have nothing to do with Java, that’s a red flag. CIOs should inventory where Java is used – you may find that only a fraction of your infrastructure needs it, and yet Oracle wants a fee for every staff member on payroll.
  • Consider Azul for Cost Savings: Azul Platform Core provides like-for-like Java capabilities at 50–80% lower cost, according to both vendor data and third-party analyses. For most organizations, switching to Azul’s Java builds can free up substantial budget. Those savings can be reinvested in other projects or contribute directly to the bottom line. The migration effort to Azul (or any OpenJDK distro) is usually minimal, often just a JVM swap that can be tested and rolled out in weeks. CIOs should pilot an Azul migration on a non-critical system to validate compatibility (it’s generally seamless).
  • Leverage Azul Platform Prime for High-Value Workloads: If your enterprise runs Java in resource-intensive environments (e.g., handling thousands of transactions per second, or running large microservice fleets in the cloud), evaluate Azul Platform Prime. Its performance optimizations can significantly reduce your server footprint and cloud bills. An upfront license cost to Azul could be justified by requiring fewer AWS instances or avoiding a hardware upgrade in your data center. Work with both application architects and finance to model these savings – for example, if Prime lets you run 20% fewer servers for a given workload, calculate the dollar value of those 20% fewer servers per year compared to Prime’s licensing fees. Many Azul customers have realized net positive ROI from this move.
  • Mitigate Audit and Lock-In Risks: If you decide to remain with Oracle Java SE, be prepared for strict compliance management. Ensure you have accurate and up-to-date employee counts and are prepared for potential Oracle audits. The compliance burden and financial risk of non-compliance should be part of your decision. Conversely, migrating to Azul (or another OpenJDK provider) can eliminate Oracle’s hold on your Java environment – no more surprise license changes or audits targeting your use of Java. This reduction in vendor lock-in is strategically valuable. CIOs should weigh the long-term risk of being tied to Oracle’s licensing whims versus the stability of an open-source-based solution with paid support.
  • Negotiate and Consider Hybrid Approaches: In some cases, large enterprises may negotiate custom deals with Oracle, especially if Oracle is a key partner for other software. If Oracle Java is non-negotiable internally, try to negotiate pricing — for example, aim for that lower ~$5 per employee tier even if you’re smaller, or seek concessions if you’re also an Oracle Database or Oracle Cloud customer. Oracle does offer some flexibility for very large deals (50k+ employees). Another approach is a hybrid: use Oracle Java for any products that require it and OpenJDK/Azul for the rest to minimize paid licenses. This requires careful management, but it can help trim costs.
  • Plan for the Future: The Java ecosystem is mature, and multiple vendors can support your needs. Oracle’s recent changes suggest a trend of more aggressively monetizing Java. Azul and others will continue to compete by adding value and undercutting prices. Regularly review your Java support strategy every couple of years. What is cost-effective today (e.g., Azul at current rates) should be rechecked against Oracle’s pricing and any new offers that may be available. Keep an eye on your actual Java usage – if it grows, ensure your licensing model still makes sense. Azul’s model scales with usage, while Oracle’s scales with headcount.

Bottom Line: For most CIOs and CFOs in 2025, Azul Platform Core emerges as a financially and operationally prudent choice for Java SE support, delivering equivalent technology with far lower cost and compliance risk.

Azul Platform Prime should be considered where performance can translate to business advantage or cost reduction. Oracle’s Java SE subscription, while technically solid, is difficult to justify economically unless you have a unique situation.

Our advice: treat Java like any other commodity infrastructure – get the support you need at the best price available. Only pay Oracle’s premium if you’ve exhausted the alternatives and confirmed that their value to your organization outweighs the substantial extra cost.

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