The 2023 Java Licensing Change: What Oracle Did

Oracle's January 2023 change to Java SE licensing was one of the most significant and commercially aggressive software licensing changes of the decade. The shift from Named User Plus (NUP) and Processor licensing to a Universal Subscription model based on total employee count fundamentally changed the cost calculus for every organisation that runs Oracle Java SE anywhere on its estate.

Under the pre-2023 model, organisations paid for Java SE based on either the number of named users accessing Java applications, or the number of processors running Java workloads. This model, while imperfect and subject to Oracle's aggressive interpretation of what constituted a "user" or a "processor," at least bore some relationship to actual Java consumption.

The Universal Subscription model removes that relationship entirely. Oracle's position is that if your organisation has any dependency on Oracle Java SE — any production system, any developer workstation, any middleware component — you must license every employee in the organisation under the Universal Subscription. The pricing is $15 per employee per month for organisations under 1,000 employees, scaling downward (on a per-employee basis) for larger organisations, but scaling upward in total cost as headcount grows.

The exposure calculation: A 5,000-person organisation running Oracle Java SE on 200 application servers pays Oracle approximately £750,000 annually under the Universal Subscription — regardless of whether 4,800 of those employees have ever interacted with a Java application. Under the previous Named User model, the same organisation might have paid £80,000–£150,000 for the actual Java users.

Who Is Most Exposed

Not every organisation is equally impacted by the per-employee model. The severity of exposure depends on the relationship between headcount and actual Java usage:

High-Exposure Profiles

Financial services organisations with large back-office headcounts and Java-dependent trading or core banking systems; large manufacturers and retailers with thousands of warehouse, distribution, and store employees who never use Java but whose headcount drives the licensing cost; NHS trusts and public sector bodies with large workforce headcounts but Java confined to specific clinical or administrative systems; global professional services firms whose back-office Java infrastructure is small relative to their total fee-earner headcount.

Lower-Exposure Profiles

Technology-intensive organisations where a high proportion of headcount are software developers or power users actually consuming Java; smaller organisations under 1,000 employees where the per-employee rate is at its highest point but total cost is still manageable; organisations whose Java estate is genuinely pervasive across the entire workforce (e.g., a SaaS company where Java powers the product used by every employee).

Organisation Profile Headcount Java Users (est.) Cost Under Old NUP Cost Under Universal Sub Increase
UK Regional Bank3,500400~£120,000£490,000+308%
NHS Trust8,000600~£180,000£840,000+367%
Global Manufacturer25,0001,200~£360,000£1,875,000+421%
SaaS Company (Java-first)1,5001,400~£420,000£270,000−36%
Professional Services Firm12,000300~£90,000£1,260,000+1,300%

The professional services example illustrates the most extreme exposure: an organisation where Java is confined to specific infrastructure and billing systems, but whose 12,000 fee-earner headcount drives a £1.26M annual Java bill. Under the old NUP model, the same organisation paid £90,000 for the few hundred people actually interacting with Java systems.

What Oracle's Sales Team Will Tell You

When confronted with the cost impact of the Universal Subscription, Oracle's account teams deploy a predictable set of messages. Understanding these positions in advance makes negotiation significantly more productive.

"The Universal Subscription includes everything"

Oracle bundles GraalVM Enterprise, Oracle JDK security updates, 24/7 support, and access to the Java SE Management Console into the Universal Subscription. For organisations that actively use these components, this bundling may represent genuine value. For most enterprise Java deployments — which use Java SE as a runtime for existing applications without actively consuming GraalVM or the management console — these additions are irrelevant.

"Switching to OpenJDK creates security and support risk"

This is Oracle's most effective objection and deserves the most careful treatment. It conflates two separate things: the technical quality of OpenJDK (which is high — the same codebase underpins Oracle's own JDK) and the commercial support model. OpenJDK distributions from Red Hat (shipped with RHEL), Amazon Corretto, Eclipse Temurin, and Microsoft Build of OpenJDK are all production-grade, commercially supported options that eliminate the Oracle Java licensing dependency.

"You need Oracle Java for your Oracle Database / Middleware / E-Business Suite"

This is partially true and partially a distortion. Certain Oracle products include Java components that are covered under the product licence — running Oracle Database, Oracle E-Business Suite, or Oracle Fusion Middleware does not require a separate Java SE licence for the embedded Java components. The Universal Subscription requirement applies to separately deployed Oracle Java SE runtimes, not to Java components embedded within other Oracle products. Oracle's account teams frequently conflate these, generating inflated compliance assessments.

Your Four Exit Routes

Exit Route 1 — Most Common

Migrate to OpenJDK (Corretto / Temurin)

Replace Oracle JDK with a commercially supported OpenJDK distribution. Amazon Corretto, Eclipse Temurin (AdoptOpenJDK successor), and Microsoft Build of OpenJDK are all free, production-grade, and receive security updates. Migration effort ranges from trivial (version-aligned replacement) to moderate (if Oracle-specific JVM flags or proprietary APIs are used). Most application workloads require no code changes.

Exit Route 2 — For Java-Heavy Workloads

Move to Red Hat or IBM Java Support

Red Hat OpenJDK support (included with RHEL subscriptions) and IBM Semeru (formerly IBM SDK) provide enterprise-grade Java SE support for OpenJDK. For organisations already running Red Hat Enterprise Linux or IBM middleware, this represents zero incremental cost — you are already paying for Java support as part of the OS or middleware licence.

Exit Route 3 — For Complex Migrations

Oracle Java TPS During Migration

For organisations with complex Java landscapes where immediate OpenJDK migration is not feasible, third-party support for Oracle Java SE provides a cost bridge. GoVendorFree's Oracle TPS covers Java SE security patches, CVE management, and break-fix support at a fraction of the Universal Subscription cost — buying 12–24 months for a managed OpenJDK migration.

Exit Route 4 — For Negotiated Reduction

Oracle Universal Subscription Negotiation

For organisations with genuine, pervasive Java dependency across their estate, negotiating a reduced Universal Subscription rate may be more appropriate than migration. Oracle discounts are available for large-volume commitments, multi-product relationships, and strategically important accounts. GoVendorFree's contract negotiation service has achieved 40–55% reductions on Universal Subscription for qualifying organisations.

Assess your Java licensing exposure

We provide a free Oracle Java licence position assessment — quantifying your exposure under the Universal Subscription and comparing all four exit routes against your specific landscape. 15-minute response.

Get your free Java assessment →

OpenJDK Migration: The Technical Reality

The most common path for organisations exiting Oracle Java is migration to an OpenJDK distribution. The technical concerns that Oracle's account teams raise about OpenJDK quality are, for most enterprise workloads, unfounded — but the migration does require structured planning:

Compatibility Assessment

Oracle JDK and OpenJDK share the same codebase for the core JDK components. The differences are in a small number of Oracle-proprietary APIs, some commercial features (Mission Control, Flight Recorder in older versions), and the distribution's update cadence. A compatibility assessment should identify any application usage of Oracle-specific APIs — in most enterprise estates, this affects fewer than 5% of application workloads.

Version Alignment

Java version selection is critical. Java 11 LTS and Java 17 LTS are the most common enterprise targets. Java 11 is the minimum requirement for many modern middleware platforms and has the broadest OpenJDK distribution support. Java 17 LTS provides longer-term support and performance improvements. Java 21 LTS (released September 2023) is the current recommended target for new deployments.

Testing and Validation

The migration from Oracle JDK to OpenJDK on the same version (e.g., Oracle JDK 11 to Corretto 11) typically requires minimal testing — the JVM behaviour is identical for standard workloads. Cross-version migrations (e.g., Oracle JDK 8 to Corretto 17) require full regression testing and may surface Java API deprecation issues that need remediation.

Timeline

For most enterprise Java estates, a well-managed OpenJDK migration takes 3–9 months from assessment to production cutover. Heavily customised environments or those with large volumes of legacy Java applications may require 12–18 months. The cost of migration is typically recovered within 3–6 months of Oracle Java cost elimination.

📋

Oracle Java Licensing Guide

Our 40-page white paper covers the complete Oracle Java cost model, audit exposure analysis, OpenJDK migration methodology, and negotiation playbook for organisations that cannot immediately exit Oracle Java SE.

Download free →

Oracle Java Audits: What to Expect

Oracle's Software License Management Services (SLMS) team has been active in Java licence compliance reviews since the 2023 model change. Understanding the audit dynamic is essential for organisations who are either mid-assessment or seeking to reduce their Java exposure.

Oracle Java audits focus on identifying Oracle JDK installations across the estate — including development workstations, CI/CD build pipelines, test environments, and production servers. The standard tool is the Oracle License Management Services (LMS) scripts, which can identify Oracle JDK installations across the infrastructure. Oracle's position is that any identified Oracle JDK installation triggers the Universal Subscription requirement for the full organisation headcount.

The appropriate response to a Java audit notification is to engage an independent licensing adviser before responding to Oracle. The audit scope, data collection methodology, and compliance calculation are all subject to negotiation. GoVendorFree's audit defense service has successfully contested Oracle Java audit findings in 78% of engagements, reducing assessed compliance gaps by an average of 62%.

Received an Oracle Java audit notification?

Do not respond to Oracle's audit request without independent advice. Contact us before Oracle's deadline — our audit defense team responds within 15 minutes.

Get urgent audit support →