Skip to content

Oracle Java Licensing Changes: Understanding Java Licensing in 2023

In January 2023 Oracle replaced the Java SE Subscription with the Java SE Universal Subscription, and amended the wording again in March. The metric moved from hosts to employees. Here is what changed, who it hits, and what the upgrade cycle has done since.

On 23 January 2023, Oracle changed its Java subscription licensing model from the Java SE Subscription introduced in August 2018 to a Java SE Universal Subscription. It then modified some of the wording again on 1 March 2023.

For any organisation that does not currently pay Oracle for Java — whether through maintenance on perpetual licences or an annual subscription — the change affects how much you pay if chargeable licences turn out to be required.

For organisations that already pay, it means Oracle licensing has to be managed considerably more tightly. You need to maintain and be able to demonstrate compliance across your Java installations, or risk being moved onto the Universal Subscription model whether you want it or not.

What actually changed

Oracle’s terms for scoping which hosts need licences did not change. What changed is how Oracle charges for them.

Under the old Java SE Subscription, you identified the hosts running chargeable versions of Java, worked out how many Processor or Named User Plus licences those hosts required, and paid for that usage annually. The quantity was a function of the deployment.

Under the Java SE Universal Subscription, if you have a single host requiring a paid licence, the subscription is priced on the total number of internal employees plus external agents — contractors, outsourcers and consultants supporting internal business operations. The starting quantity is effectively your publicly declared headcount. For most organisations that is a substantially larger number than the old metric produced.

Oracle’s definition of an employee for this purpose:

Employee for Java SE Universal Subscription: is defined as (i) all of Your full-time, part-time, temporary employees, and (ii) all of the full-time employees, part-time employees, and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations.

The quantity of the licenses required is determined by the number of Employees and not just the actual number of employees that use the Programs. For these Java SE Universal Subscription licenses, the licensed quantity purchased must, at a minimum, be equal to the number of Employees as of the effective date of Your order.

Under this Employee metric for Java SE Universal Subscription Program(s), You may only install and/or run the Java SE Universal Subscription Program(s) on up to 50,000 Processors. If Your use exceeds 50,000 Processors, exclusive of Processors installed and/or running on desktop and laptop computers, You must obtain an additional license from Oracle.

Read that second paragraph twice. The quantity is determined by headcount, not by who uses Java. Every employee is counted because every employee could use it.

The additional change of 1 March 2023

On 1 March 2023 Oracle amended the Universal Subscription again to clarify wording. The clarification has consequences of its own.

January 2023 wording: Java SE Universal Subscription is available only for full use. It is not eligible for Application Specific Full Use (ASFU) licensing, Embedded Software Licensing (ESL), Independent Software Vendor (ISV) licensing, or redistribution.

March 2023 wording: Java SE Universal Subscription is available only for internal business operations under an applicable enterprise license. It is not eligible under any redistribution agreement, including the Application Specific Full Use (ASFU) license, Embedded Software Licensing (ESL), or Binary License and Redistribution Agreement.

The 50,000-processor ceiling still applies. If Java SE is installed or running on more than 50,000 processors — excluding those on desktop and laptop computers — an additional licence from Oracle is required. That condition sits in the notes to the Java SE Universal Subscription Global Price List.

Anyone who had already concluded the January rules would hurt them financially needs to factor the March amendment in as well.

Oracle Java licensing explained

In short: the Java SE Universal Subscription is an Unlimited Licence Agreement in everything but name. Once you are on it, there is very little optimisation left to do — the quantity is your headcount, and headcount does not respond to reclaiming installs.

The following will have implications wherever Oracle Java is used in any non-development environment, which includes all end-user compute devices:

  • ANY use of “commercial features”
  • ANY use of Java v6 update 51 or higher — effectively any update since June 2013
  • ANY use of Java v7 update 85 or higher — effectively any update since July 2015
  • ANY use of Java v8 update 211 or higher — effectively any update since April 2019
  • ANY use of Java v11, v12, v13, v14, v15 or v16

Already paying maintenance on perpetual licences?

Oracle has indicated that customers can continue to use an existing perpetual licence model provided maintenance is being paid, but the volumes must be correct. You have to be able to validate what is deployed against the maintained perpetual entitlement you hold. Failing to demonstrate compliance can mean Oracle declines to accept your renewal order.

Already paying under the existing subscription model?

Oracle has indicated that the Processor and NUP model can continue, again provided the volumes are correct. Any unvalidated change to licence quantities can mean Oracle declines the renewal order, or elects to audit.

If you are found non-compliant, the likely outcome is licensing all employees under the Java SE Universal Subscription Global Price List.

No active Oracle Java SE subscription?

Oracle will only sell subscriptions under the Java SE Universal Subscription Global Price List, with the employee definition set out above: all your full-time, part-time and temporary employees, plus those of your agents, contractors, outsourcers and consultants supporting your internal business operations.

How this changes an Oracle licensing strategy

If you are running the latest updates to v8, or any version from v11 to v16, the strategic move is to get to v17 or higher. That brings the deployment under the No-Fee Terms and Conditions licence, which permits internal business operations — provided you do not use commercial features and no host needs licensing under the Oracle Binary Licence and Redistribution Agreement.

Where a host has to stay on a chargeable version, remember the arithmetic: under the Universal Subscription, a single chargeable host costs the same as licensing everything. There is no such thing as a small exception.

Where commercial features are in use, or a host requires licensing under the Binary Licence and Redistribution Agreement, treat it as an exception and track it — including evidence that the appropriate licence was purchased — through your internal change control process.

Organisations on Java 7 or 8 should review every associated host for reasons the version could not move to v17 or later. Where v7 or v8 genuinely has to stay, OpenJDK or another non-Oracle distribution is worth assessing. Check contractual obligations to your own customers and to regulators before moving off a supported Oracle product — those commitments sometimes constrain the strategy.

Where the upgrade cycle stands now

The original version of this post described the upgrade treadmill in the future tense. It has since run twice, exactly as expected, which is useful confirmation that Oracle intends to keep running it.

JDK 21 shipped in September 2023 as the LTS release. That opened a twelve-month window in which v17, v18, v19 and v20 had to move to v21 to stay inside the NFTC free-use grant; that window closed in September 2024.

JDK 25 shipped in September 2025 as the next LTS. The same rule applies: v21, v22, v23 and v24 remain free under the NFTC until September 2026. After that, hosts still on those versions fall outside the no-fee grant and require licensing under the Java SE Universal Subscription.

This is the pattern, and it is not going to stop. LTS releases arrive every two years, and each previous LTS keeps its free-use grant for twelve months after the next one ships. Non-LTS releases receive bug and security patches for roughly six months, so unless there is a specific business requirement for one, standardising on LTS releases reduces the overhead considerably.

The practical conclusion is that Java upgrades are no longer an engineering preference. They are a scheduled licensing obligation with a fixed date attached, and they need an owner and a budget line like any other.

What this requires you to be able to prove

Every decision above depends on the same underlying data: for each host, which Java version and update level is installed, what the host does, and whether Java is actually being used on it. Most organisations cannot produce that list, which is precisely why the conversation with Oracle starts from Oracle’s numbers.

CerteroX SAM is built around that problem. Installed software is resolved against the Software Recognition Database — 3.5 million or more normalised publisher, product and version titles — so a Java installation is identified by version and update level rather than logged as an unrecognised binary. The Software Recognition Service attaches release, end-of-support and extended-support dates, which is how you find the hosts whose free-use window has closed before Oracle does.

Coverage matters as much as recognition. The native inventory agent runs on Windows, macOS, Linux, IBM AIX, HP-UX and Oracle Solaris against one schema, with agentless and command-line inventory for locked-down systems and standalone inventory for air-gapped ones. Java is on all of those, and the versions nobody has looked at in five years are usually not on Windows.

Usage separates the hosts that run Java from the hosts that merely have it. AppsMonitor meters at file level with first-used and last-used tracking and a % Used figure over a rolling 90-day window — the evidence you need to remove an installation rather than argue about it.

All of that feeds an effective licence position with purchased, used, available, required, variance and exposure, computed continuously rather than reconstructed when a letter arrives. Governance Policies then hold the line, flagging a chargeable Java version reappearing on a host you have already cleared.

Certero is a verified third-party tool vendor with Oracle License Management Services. In Certero’s published wording: being a verified third-party toolset means that Oracle’s audit team can accept data from Certero during an official audit, as an alternative to installing Oracle License Management measurement tools. It is a conditional rather than a guarantee, but it changes where the negotiation starts.

Where the licensing expertise is the constraint rather than the tooling, Certero runs a SAM managed service for Oracle Java. In-house Oracle licensing consultants analyse the environment, identify where the risk sits, and work through the mitigation options — upgrade path, OpenJDK migration, existing entitlement you may already hold — so the decision about what to buy is made from evidence rather than from Oracle’s opening position.

Related reading

Other posts covering the same ground.

  • Oracle ULA – What are the dangers and how do you avoid them?

    An Oracle Unlimited Licence Agreement is only unlimited within its clauses. What certification actually asks of you, where toxic consumption creeps in, and why the measurement work has to start at the beginning of the term rather than the last six months.

    • SAM
    • Governance
    6 min
  • Microsoft Licensing Update – August 2025

    Microsoft's August 2025 Product Terms changes: Extended Term standardised across programmes, Exchange and Skype for Business Server Subscription Editions, the Exchange and Windows 10 ESU programmes, and the Dynamics 365 F&O enforcement dates.

    • SAM
    • Governance
    4 min
  • Oracle ULA: know your options. Exit with confidence.

    Renew, rescope or exit — an Oracle ULA gives you three routes and a narrow window to choose between them. The questions to settle first, and a six-point health check to see how ready you actually are.

    • SAM
    • Governance
    6 min
From reading to evidence

Put the hardest claim here
to a technical person.

Everything argued above is checkable. Name the publisher, the billing account or the platform you would argue with, and the session is built around it — the reasoning attached, not a summary slide.

No gated download at the end of it.