Exiting the Java subscription, inventory first, notice in writing
Leaving the Oracle Java SE subscription is an inventory exercise before it is anything else: find where Oracle Java actually runs, move what you can to free OpenJDK builds, and document every removal. The subscription grants term rights, not perpetual ones, and under the employee metric one reinstalled binary reprices the whole workforce.
Prepared by Redress Compliance · August 6, 2026 · Oracle Java advisory. Based on 30 to 40 Java exits guided 2024 to 2026.
Executive summary
The bill assumes more Java than you run. Because the subscription prices per employee, the invoice is indifferent to the estate, and the estate is smaller than assumed: across our exits, Oracle Java actually ran on 10 to 30 percent of the machines the bill implied.
The exit blocker is never migration difficulty; it is visibility, because you cannot remove what you have not inventoried.
OpenJDK carries almost everything. Free OpenJDK builds covered 70 to 95 percent of workloads with no application change, and the distribution choice, Corretto, Temurin, Zulu, is an operational preference rather than a risk decision.
A small number of workloads genuinely need a commercial build: identify them from the inventory, never assume them from fear, and net Java spend fell 60 to 90 percent once migrations completed.
The term end date is absolute. The subscription grants term rights, not perpetual ones, so every Oracle JDK binary has to be gone by the term end date, not after it, and the removals documented, because Oracle's audit approach starts from its download records, not your estate.
The evidence pack, what ran where, when it was removed, what replaced it, is the exit's audit defense.
Notice is a legal act, and the stakes are the workforce. Written non renewal notice, served to the party named in the notices clause, is what stops an automatic renewal; an email to your rep is not notice.
And the residual risk is priced by the metric: one reinstalled binary after term end is a claim priced across the whole workforce, $630,000 a year for a 5,000 employee company at the $10.50 band, which is why the technical controls that prevent reinstallation are part of the commercial exit.
The inventory, the exit's first and hardest mile
The inventory has to reach where installer lists do not: filesystem level scans for the runtime binaries, the private JREs bundled inside third party applications, the jlink images baked into internal tools, and the build pipelines that pull Oracle JDKs by default.
The discovery method is the same one the JRE brief and the shadow install analysis work in detail; the exit adds the disposition column: migrate, retain commercially, or retire, per install, with an owner and a date.
| Population | The typical share | The disposition |
|---|---|---|
| Standard workloads on Oracle JDK or JRE | The 70 to 95 percent | OpenJDK builds, no application change, batch migrated |
| Vendor bundled and pinned runtimes | The stubborn middle | Per vendor resolution: their license, their upgrade, or a supported open route |
| Genuinely Oracle dependent workloads | A small identified set, never an assumed one | Retained commercially, scoped precisely, priced deliberately |
| Leftovers on machines nobody counted | The surprise: the bill assumed 3 to 10 times the real estate | Retired, with the removal documented into the evidence pack |
The employee metric is the business case.
A subscription priced on headcount for software running on a tenth of the machines is the arithmetic that funds the whole program: the migration effort is bounded and finite, the subscription is neither, and the 60 to 90 percent reduction is the difference banked annually.
The migration, distributions and the commercial remainder
The technical move is smaller than the fear: OpenJDK builds are the same codebase, and the migration decision guide and the three cost modeled patterns work the sequencing, batch replacement for the standard estate, pinned application handling.
And pipeline conversion so the builds stop reintroducing Oracle binaries.
The distribution comparison, Corretto, Temurin, Zulu, settles the operational choice, with paid support available where the estate wants a throat to choke.
The commercial remainder deserves precision: the workloads that genuinely need an Oracle build, identified from the inventory, scoped as narrowly as the terms allow, and priced against their alternatives rather than renewed by default.
The remainder conversation is also where the exit meets the negotiation, because a bounded, evidenced residual estate negotiates from strength the all or nothing renewal never had.
The Java subscription exit playbook
The inventory method, the migration sequencing, the notice mechanics, the evidence pack, and the residual estate negotiation, worked across 30 plus guided exits.
Get the white paper →The notice, the term end, and the evidence pack
- Serve written non renewal notice to the party named in the notices clause, in the form the clause requires, inside its window. An email to the account rep is a conversation, not notice, and automatic renewal runs on exactly that distinction.
- Clear every Oracle binary by the term end date. The subscription's rights are term rights: on the day after expiry, every remaining Oracle JDK is unlicensed, and the removal deadline is the date, not the quarter.
- Build the evidence pack as you go: what ran where, when it was removed, what replaced it, with the scan outputs retained. Oracle's approach starts from download records, and the pack is what turns that opening into a short correspondence.
The post exit control is technical: software restriction policies and pipeline gates that prevent Oracle JDK reinstallation, because under the employee metric a single reinstalled binary reprices the workforce, the $630,000 a year worked example at 5,000 employees.
The audit dynamics that follow an exit, and the retroactive claims they open with, are the territory of the audit process guide and the lookback analysis.
- Percentile standing for your exact deal size and industry, from real closed transactions
- Scenario simulation before the call: test alternative terms and see the financial impact of each
- A negotiation playbook, talking points, and a two page executive brief on day one
What we saw across Java exits, 2024 to 2026
Across roughly 30 to 40 Oracle Java exits Fredrik Filipsson guided between 2024 and 2026, the per employee metric drove the decision in almost every case, and the same proportions held:
Machines actually running Oracle Java against the workforce the subscription priced, the gap that funds the program.
Net Java spend after migration completed, with the residual commercial estate scoped precisely rather than assumed.
The failures were procedural, not technical: notices served to the wrong party, binaries surviving past term end in forgotten corners, and evidence packs assembled after the letter instead of during the exit.
Every one was preventable by the same discipline the successful exits ran, the inventory first, the calendar worked backward from the term end, and the documentation treated as part of the migration rather than its afterthought.
Your first five moves
- Inventory at the filesystem level, bundled and built runtimes included, and attach a disposition, an owner, and a date to every install.
- Serve the notice correctly: written, to the notices clause party, inside the window, with delivery evidenced.
- Migrate the 70 to 95 percent to OpenJDK builds, convert the pipelines, and scope the genuine commercial remainder precisely.
- Clear every Oracle binary by the term end date, with the evidence pack built as the removals happen.
- Lock the door behind you: reinstallation controls in policy and pipeline, because one binary reprices the workforce. The Java defense service and the Java pillar carry the exit with you.
Frequently asked questions
How do we exit the Oracle Java SE subscription?
Inventory first: find every Oracle Java install at the filesystem level, migrate the 70 to 95 percent that OpenJDK covers with no code change, scope the genuine commercial remainder, serve written non renewal notice to the party in the notices clause.
And clear every Oracle binary by the term end date with the removals documented.
How much does leaving Oracle Java actually save?
Net Java spend fell 60 to 90 percent across our guided exits once migration completed.
The arithmetic driver is the employee metric: the subscription prices the workforce while Oracle Java ran on only 10 to 30 percent of the machines the bill assumed, so the bounded migration effort trades against an unbounded annual subscription.
Will our applications work on OpenJDK?
Almost all of them, unchanged: OpenJDK builds share the codebase, and 70 to 95 percent of workloads migrated with no application change in our exits.
The distribution choice, Corretto, Temurin, or Zulu, is operational preference, with paid support available, and the genuinely Oracle dependent set should be identified from inventory, never assumed.
How do we cancel the subscription without auto renewal?
Written non renewal notice, served to the party named in the contract's notices clause, in the required form, inside the notice window, with delivery evidenced.
An email to the account rep is not notice, and automatic renewal survives on exactly that gap, which is why the clause gets read before the calendar gets set.
What happens if Oracle Java is found after we exit?
Under the employee metric, one binary reprices the workforce: a single reinstalled JDK after term end supports a claim at the full headcount rate, $630,000 a year for a 5,000 employee company at the $10.50 band.
Reinstallation controls in policy and pipelines are therefore part of the commercial exit, not an IT nicety.
Do we need to keep proof of the migration?
Yes, permanently: Oracle's audit approach opens from its download records, not your estate, so the evidence pack, what ran where, when it was removed, what replaced it, with scan outputs retained, is what converts a post exit inquiry into a short correspondence.
Build it during the exit; reconstructing it after a letter is the expensive version.