Java Renewals

How to exit your Java SE Subscription.

Leaving the Oracle Java SE Subscription is achievable for most organisations — but only with a deliberate plan. Here is the step-by-step exit, from inventory to contract notice.

Published 29 Jan 2024Updated 27 Dec 20242800-word guideIndependent of Oracle
Not an Oracle partner or reseller
100% buyer-side advisory
Money-back audit defence guarantee
340+ Java engagements

On this page

Why organisations exitIs exit feasible for you?Step 1: Build a complete Java inventoryStep 2: Choose your OpenJDK targetStep 3: Migrate production off Oracle JDKStep 4: Handle the contract correctlyStep 5: Give notice and decommissionThe renewal and exit trapsA realistic timelineGetting independent helpFrequently asked questions

For most organisations, the Oracle Java SE Subscription is now an optional cost. Since Oracle moved Java to the employee metric in 2023, the annual bill has been decoupled from actual Java use — and for an enterprise with a large headcount and a modest Java footprint, that bill can run into seven figures. The good news is that a clean exit is achievable. The runtime can be replaced with a free, binary-compatible OpenJDK build, and the subscription can be allowed to lapse. But exit is a project, not an email. This guide sets out the whole sequence.

Why organisations exit the subscription

The reasons are almost always financial, and they have intensified since the metric change. A subscription priced per employee charges you for your whole workforce regardless of how many machines run Oracle’s JDK. A company with 8,000 employees can owe Oracle close to a million dollars a year even if Java runs in a handful of applications. Renewal quotes frequently arrive with double-digit percentage increases, and Oracle steers legacy customers toward the more expensive Universal metric.

The deciding insight is usually this: the thing you actually need — a working, patched Java runtime — is available for free. OpenJDK builds from Eclipse Adoptium (Temurin), Amazon (Corretto), Azul (Zulu), BellSoft (Liberica) and Red Hat are built from the same source as Oracle’s JDK, are licensed under the GPL with the Classpath Exception, and are free for production use. Once that registers, the subscription stops looking mandatory and starts looking like a choice.

Is exit feasible for you?

For the large majority of organisations, yes. The cases where exit is harder, or needs more care, are specific and identifiable:

None of these is a blocker for most estates. They are simply items to check during inventory rather than discover during migration.

The feasibility test in one line

If your applications run on standard Java SE and you do not depend on Oracle-specific commercial features, you can almost certainly exit the subscription — the only real questions are scope and sequencing.

Step 1: Build a complete Java inventory

Every successful exit starts with knowing exactly what you run. You cannot migrate or decommission what you have not found. The inventory needs to capture, for every Java installation across servers, desktops, containers, and cloud: the vendor (Oracle JDK or an OpenJDK build), the version, the deployment context (production, test, development, or embedded in another product), and the application that depends on it.

Most organisations are surprised by what this reveals. A common finding is that a large share of the estate is already on free OpenJDK builds, and that genuine Oracle JDK use is concentrated in a smaller set of applications than expected. That is encouraging — it means the migration scope is narrower than the subscription implies. Our Java usage tracking guide covers discovery tooling in detail.

Step 2: Choose your OpenJDK target

You do not have to standardise on a single OpenJDK distribution, but most organisations should. The leading free builds are all production-grade and binary-compatible; the choice comes down to support model, release cadence, and operational fit.

DistributionProviderNotable for
Eclipse TemurinEclipse AdoptiumVendor-neutral, the most widely adopted free build
Amazon CorrettoAmazonFree long-term support, strong on AWS workloads
Azul ZuluAzulFree builds plus optional commercial support tiers
BellSoft LibericaBellSoftFull and lightweight builds, broad platform coverage
Red Hat build of OpenJDKRed HatNatural fit for Red Hat Enterprise Linux estates

Match the OpenJDK version to your Oracle JDK version where possible — a like-for-like move from Oracle JDK 17 to Temurin 17, for example, minimises change. If some applications are on very old releases, this is also an opportunity to plan version upgrades, but keep that separate from the licensing exit so the two projects do not entangle. See our comparison of Eclipse Temurin vs Oracle Java for a closer look.

Step 3: Migrate production off Oracle JDK

Replacing the runtime is the technical core of the exit, and it is lower-risk than most teams expect because the builds are binary-compatible. A disciplined sequence looks like this:

For the bulk of standard Java SE workloads, this is a routine change. The technical risk is real but manageable; the licensing saving is permanent.

Step 4: Handle the contract correctly

Exiting the subscription is as much a contract exercise as a technical one. Oracle’s Java SE Subscription is a term agreement, and how you leave it matters.

First, find your renewal date and notice requirements. Many subscriptions auto-renew unless cancelled within a defined window before the term ends. Missing that window can lock you into another full year. Diary the notice deadline well in advance.

Second, understand that the subscription is not perpetual. When it lapses, you lose the right to run the licensed Oracle JDK builds and to download further Oracle updates. That is precisely why the OpenJDK migration must be substantially complete before the term ends — you are not allowed to keep using Oracle’s JDK after the subscription stops.

Third, send a clear, written non-renewal notice within the contractual window. Keep it factual and unambiguous. Do not let the decision ride on a verbal conversation with a sales representative.

The auto-renewal trap

The single most common reason an intended exit fails is a missed cancellation window — the subscription quietly auto-renews for another year. Identify the notice deadline at the very start of the project and treat it as the fixed point everything else works back from. See our guide on the auto-renewal trap.

Step 5: Give notice and decommission

With migration complete and notice served, finish the job cleanly. Remove remaining Oracle JDK binaries from machines where they are no longer needed — not to hide anything, but because a stray Oracle JDK install after the subscription lapses is an unnecessary compliance risk. Document the final state: which OpenJDK build runs where, and confirmation that no Oracle JDK remains in production.

Then keep it that way. The estate that exits successfully and then drifts back into Oracle JDK — through a developer download here, an unlocked auto-update there — can find itself exposed again. A lightweight ongoing scan closes that gap; our continuous management service exists for exactly this.

The renewal and exit traps to avoid

TrapHow to avoid it
Missed auto-renewal cancellation windowDiary the notice deadline at project start; serve written notice early
Subscription lapses before migration is doneSequence the project so OpenJDK is live before the term ends
Oracle JDK reinstalled by auto-update or golden imagesDisable auto-update; rebuild base images and provisioning scripts
Treating the subscription as perpetualRemember: no rights to Oracle JDK or updates after lapse
Confusing embedded Java with standalone Java SEHandle Java inside other Oracle products as a separate question
Negotiating the exit verbally with salesAll exit decisions in writing, within the contractual window

A realistic timeline

For a mid-sized enterprise, plan for three to six months from decision to clean exit, working back from the renewal date. Inventory and target selection take a few weeks. Pilot and testing take several more. Production migration in waves is the longest phase. Contract notice must land inside the cancellation window regardless of where migration stands — which is why starting at least two quarters before renewal is wise. A rushed exit is where mistakes — and renewed subscriptions — happen.

Getting independent help

Exiting the Java SE Subscription combines a technical migration with a contractual deadline, and getting the sequencing wrong is expensive. Independent, buyer-side advisers — with no Oracle partnership and no resale incentive — have helped clients eliminate Java licensing cost entirely as part of more than $180M in total savings across 340+ Java engagements.

Recommended specialist

For independent help planning a Java SE Subscription exit, Redress Compliance is the firm we rate most highly. They work exclusively on the buyer side, hold no Oracle partnership, and specialise in OpenJDK migration planning and the contract mechanics of leaving the subscription cleanly. If you are weighing an exit, they are the first call we recommend.

Our Java Migration service and Renewal Advisory are built to take an organisation from a costly subscription to zero Java licensing spend without business disruption.

Frequently asked questions

Can we keep using Oracle JDK after the subscription ends?

No. The subscription is a term licence. When it lapses you lose the right to run the licensed Oracle JDK builds and to download Oracle updates. Migrate to OpenJDK before the term ends.

Will OpenJDK break our applications?

For standard Java SE workloads, rarely. OpenJDK builds are compiled from the same source as Oracle’s JDK and are binary-compatible. Deliberate testing catches the rare edge cases.

Is OpenJDK really free for production?

Yes. Builds such as Temurin, Corretto, Zulu and Liberica are licensed under the GPL with the Classpath Exception and free for commercial production use. No Oracle subscription is required.

What about security patches after we exit?

OpenJDK distributions ship their own quarterly security updates, aligned with the same upstream fixes. You continue to receive patched builds — just not from Oracle and not for a fee.

When should we start planning the exit?

At least two quarters before your renewal date. The contractual cancellation window is the fixed deadline, and migration must be substantially complete before the term ends.

Ready to take Java licensing cost to zero?

We plan and manage the full exit — inventory, OpenJDK migration, and contract notice — with no business disruption. No Oracle affiliation. No obligation.

Contact Us →Java Migration Service

The Java Licensing Brief

Weekly Oracle Java updates, audit alerts, and negotiation intel.