Oracle Java SE now prices per employee, so the bill scales with headcount, not usage. Most enterprises can move the majority of their estate to free OpenJDK builds. The work is inventory, not magic.
Leaving the Oracle Java SE subscription is an inventory exercise first. Find where Oracle Java actually runs, then move what you can to free OpenJDK builds.
Oracle moved Java SE to a per employee Universal Subscription in 2023. You now pay for every employee, not for the servers running Java. The Oracle Java SE licensing FAQ confirms the model.
For most enterprises the new metric multiplies the bill several times over. That is the trigger to move to free builds.
The old metric counted processors or named users. The new one counts total employees. A company with a handful of Java servers but thousands of staff sees a bill out of all proportion to usage.
Oracle counts more than payroll. The price list defines the metric as full time, part time and temporary staff, plus agents, contractors and consultants who support internal operations. A 5,000 person firm licenses 5,000 seats even if 40 servers run Java.
Published tiers open at 15 dollars per employee each month and fall with volume to 5.25 dollars above 40,000 seats. A 5,000 seat estate lists near 630,000 dollars a year before discount. The Oracle price list sets the tiers.
The subscription renews on total headcount, so growth raises the bill even when Java shrinks. A hiring year can lift the Oracle Java cost while your real Java footprint falls. That mismatch is why finance teams reopen the contract.
Oracle also folds desktop, server and cloud use into one metric. There is no split rate for a developer laptop versus a production cluster. Every person in scope carries the same per employee charge, whether or not they ever touch Java.

White Paper · Oracle
The Oracle Java Buyer Side Playbook
What the Universal Subscription really costs and how buyers push back. Read it free.
Oracle Java SE lists from 15 dollars down to 5.25 dollars per employee each month, while mainstream OpenJDK builds are free for production and paid support is priced per server, not per head.
The metric is the problem, not the software. Oracle bills every employee, a free build bills nothing, and a paid OpenJDK contract bills per server or per JVM. The gap widens as headcount grows against a fixed Java footprint.
Oracle Java SE Universal Subscription list tiers
| Employee band | List price per employee each month |
|---|---|
| 1–999 | $15.00 |
| 1,000–2,999 | $12.00 |
| 3,000–9,999 | $10.50 |
| 10,000–19,999 | $8.25 |
| 20,000–29,999 | $6.75 |
| 30,000–39,999 | $5.70 |
| 40,000–49,999 | $5.25 |
| 50,000+ | Negotiated |
Model three numbers before you renew: the Oracle employee quote, zero for community builds like Temurin, and a per server support contract for the workloads that keep an SLA. Most estates land between the second and third.
A worked example makes the gap concrete. Ten thousand employees at the 8.25 dollar tier list near 990,000 dollars a year. The same estate on Temurin costs nothing in license and a fraction of that for support on the few workloads that need it.
Discounts do not fix the metric. Oracle may cut the per employee rate at renewal, but the base still multiplies by headcount. A discount on a structurally wrong metric is still a bill that scales with hiring, not usage.
Score every Java instance on four questions, then route it to keep, replace, or support. Those four answers decide the whole exit.
Exit decision matrix
| Instance | Oracle build | Certified Oracle only | Action |
|---|---|---|---|
| Internal server app | Yes | No | Replace with OpenJDK |
| End user desktop JRE | Yes | No | Replace or remove |
| Packaged app, OpenJDK certified | Yes | No | Replace, keep vendor support |
| Packaged app, Oracle only | Yes | Yes | Keep Oracle build, license narrowly |
| Already OpenJDK | No | No | Log and attest |
The matrix turns a scary migration into a sorting task. Most instances land in the first three rows and leave the estate. Only the Oracle only row keeps a paid Oracle build, and you license that scope narrowly.
Run the score at the instance level, not the application level. One application can host several JVMs on different builds. Scoring each instance stops a single Oracle only component from holding a whole application on a paid metric.
Document the exceptions in writing. The keep and support rows are where money leaks, so record why each one stays on Oracle. Revisit that list every renewal, because vendors add OpenJDK certification over time and rows move to replace.
Scan every server and endpoint for Java installations. Record the vendor, version, and download source. Oracle audits open with My Oracle Support download logs, so your records must match reality.
Free tooling and standard discovery agents both work. The goal is a single list of every Java runtime and who installed it.
Discovery is the slow phase because Java hides. It ships inside application bundles, middleware and installers, so a naive scan misses copies. Search the file system for java and javac binaries, not just registry entries.
Reconcile the list against Oracle download records. Every download under a My Oracle Support account ties a named person to a build, and Oracle uses that log to open a review. Your inventory must explain each line.
Tag each finding with an owner and a business service. A raw count of JVMs does not drive decisions, but a list mapped to applications does. The owner is who you call when a wave touches their service.
Rescan on a schedule, not once. Java installs land through patch bundles, vendor updates and new projects between audits. A quarterly rescan keeps the inventory current and shortens any future reconciliation with Oracle.
Oracle JDK under the current license is paid for production. Free options exist that are functionally equivalent for most workloads.
Java build options after exit
| Build | Cost | Support | Best for |
|---|---|---|---|
| Eclipse Temurin | Free | Community | Most workloads |
| Amazon Corretto | Free | Vendor backed | AWS estates |
| Oracle JDK | Paid | Oracle | Specific certified apps |
Run the exit in three passes: inventory every JVM, replace Oracle builds wave by wave, and attest each removal with a dated record. The runbook below sequences the work.
Phasing keeps the migration auditable. Inventory produces the master list, the pilot proves one build, and the waves execute against a frozen scope. Attestation closes the file before you cancel.
Migration timeline
| Phase | Typical weeks | Output |
|---|---|---|
| Inventory and reconcile | 1–4 | Master JVM list matched to download logs |
| Pilot | 3–5 | One OpenJDK build validated on representative apps |
| Wave rollout | 5–12 | Oracle JDK removed, replacements logged |
| Attest and cancel | 12+ | Removal log complete, subscription cancelled |
Bake a rollback into every wave. Keep the removed Oracle build packaged for one release cycle so a failed service can revert in minutes. Remove that fallback only after the replacement runs clean in production.
Standard server applications and internal tools migrate first. They rarely depend on Oracle specific features. Production grade builds come from the Eclipse Adoptium project and the OpenJDK community.
Some software vendors certify only Oracle JDK. Check each one. Many now support OpenJDK builds, and the vendor download page is the authority, not Oracle sales.
Sequence by risk, not by size. Stateless server apps and batch jobs move first because they rarely touch Oracle only APIs. Desktop Java and applets are the awkward tail, so schedule them late with user testing.
Containers simplify the swap. A base image change from an Oracle build to Temurin often migrates a service with one line and a rebuild. Track the image registry so no Oracle layer slips back into a pipeline.
Middleware needs its own check. Application servers, ETL tools and monitoring agents often embed a private JRE. Confirm the vendor supports an OpenJDK build for that component before you swap the bundled runtime.
Pick one primary build for the estate and one fallback, then standardize. Eclipse Temurin fits most estates, Amazon Corretto suits AWS heavy shops, and Azul or BellSoft add a paid SLA when you need one.
All four are TCK verified against the Java SE specification, so they behave like Oracle JDK for standard workloads. The difference is who backs them and how support is sold. Choose on support model and platform, not on brand.
OpenJDK distribution comparison
| Distribution | Provider | Free for production | Paid support |
|---|---|---|---|
| Eclipse Temurin | Eclipse Adoptium | Yes | Via third party vendors |
| Amazon Corretto | Amazon Web Services | Yes | AWS Support plans |
| Azul Zulu | Azul Systems | Yes, Community builds | Azul subscription |
| Liberica JDK | BellSoft | Yes | BellSoft subscription |
Temurin is the common default because it is vendor neutral and widely mirrored. If a workload needs a contractual SLA, route just that workload to Azul or BellSoft rather than buying support for the whole estate. The BellSoft Liberica page documents the supported versions.
Standardizing on one build cuts operational cost. Mixed JDKs multiply patch testing and container images across teams. Name a default in policy, allow a documented exception for SLA workloads, and audit the estate against that standard each quarter.
Match the build to the platform. Corretto aligns with AWS tooling and images, Liberica ships small containerized runtimes, and Temurin is the neutral baseline that runs anywhere. All three read as OpenJDK to your applications.
Document every Oracle Java removal with a date and a machine. Keep the records. If Oracle opens an audit, your inventory and removal log are the defense.
You move support, not lose it. Free builds carry community or vendor support, and paid support contracts exist from several providers if you need a service level. Compare them against the Oracle JDK download terms.
Paid third party support exists if a regulator or contract demands a named vendor. Azul, BellSoft, Red Hat and IBM all sell OpenJDK support with an SLA. The price is per server or per JVM, well below the employee metric.
Set a policy gate on downloads. Block the Oracle JDK download page at the proxy and route developers to your approved build. Drift back to Oracle JDK is the most common way an exited estate becomes non compliant again.
Retention is the audit trap. Cancelling the subscription while an old Oracle JDK stays on one server leaves you unlicensed, not compliant. Uninstall the binary, then record the removal, then cancel.
Support risk is manageable. Security updates for LTS releases ship from Adoptium, Corretto and the other builds on the same quarterly cadence as Oracle. You gain a patch source, you do not lose one.
The standard Oracle account team line is that the Universal Subscription is simpler and that OpenJDK carries hidden risk. We disagree. In roughly 30 to 40 Java exits we guided, Oracle Java actually ran on only 10 to 30 percent of the machines the per employee bill assumed, and free builds like Temurin and Corretto covered the vast majority with no code change. The buyer side move is to inventory the estate, migrate everything that does not require a certified Oracle build, and keep a removal log as audit defense. The risk lives in poor visibility, not in OpenJDK itself.
Expect three moves: a soft audit framed as a review, a claim that OpenJDK is risky, and a renewal discount timed to your cancellation. Each has a plain answer.
Keep a removal log that reconciles to Oracle download records line by line, and retain it for at least three years. That log is the entire defense.
Store four artifacts per host: the original Oracle build and version, the removal date, the replacement build, and the person who acted. That record answers a review without a negotiation. Treat it as a permanent compliance asset.
Name one owner for the log. Audit defense fails when evidence is scattered across teams and tickets. A single owner and a single store turn a stressful review into a document handover.
Source: Redress Compliance advisory engagement file, 2024 to 2025.
Oracle Java is rarely the only Java in the estate. The exit starts with one question. Where does Oracle Java actually run, and what runs everywhere else.
Yes. Once you remove Oracle JDK from production and replace it with a free build, you can cancel the subscription. Keep a dated removal log as evidence for any future audit.
Realistic savings run 60 to 90 percent of the Oracle Java bill. The exact figure depends on how much of your estate needs a certified Oracle build.
OpenJDK is the open source reference that Oracle JDK is built from. Builds like Temurin and Corretto are functionally equivalent for most workloads and are free for production.
Rarely. Most server applications and internal tools run on free builds with no code change. Vendor certified applications need a per application check.
You move support rather than lose it. Free builds carry community or vendor support, and paid support is available from several providers if you need a service level.
Oracle Java reviews usually start from download records on My Oracle Support. Matching your inventory to those records is the core of audit readiness.
Eclipse Temurin suits most estates. Amazon Corretto fits AWS heavy environments. Choose by your support and platform needs, not by brand.
Most estates complete in a few months. Inventory is the slow part. Once the list is accurate, migration moves in waves.
Yes. The Oracle price list includes full time, part time and temporary staff plus agents, contractors and consultants who support internal operations. That is why the bill scales with headcount, not Java usage.
Not under the Universal Subscription. The employee metric licenses your whole workforce, so a partial subscription does not exist. Either license everyone or remove Oracle JDK and cancel.
Oracle ULA exit moves, Java audit defense posture, and the buyer side moves across the Oracle Database, Java, and EBS estate.
Used across more than five hundred enterprise engagements. Independent. Buyer side. Built for procurement leaders running the next renewal cycle.
Engage independent buyer side Oracle advisors. We do not resell. We sit on your side of the table.
Open the Oracle Practice page
See engagement scope, comparison vs Big4 and resellers, and the buyer side framework.
Visit page →