Editorial photograph of a negotiation handshake across a boardroom table
Oracle · OpenJDK Migration · Timeline

How long does an OpenJDK migration take? The 9 to 14 month reality.

Nine to fourteen months, and almost none of it is code. This is the delivery plan behind the number: the phases, the gates that set the pace, and the freeze arithmetic that decides how many waves fit in a year.

Contact Us Oracle Hub
500+Enterprise clients
$2B+Under advisory
Industry Recognized
500+ Enterprise Clients
$2B+ Under Advisory
11 Vendor Practices
100% Buyer Side Independent

Nine to fourteen months is the honest planning envelope for an enterprise OpenJDK migration, and almost none of it is spent changing code. This is the delivery plan behind the number: the phases, the governance gates that set the pace, and the freeze arithmetic that decides how many production waves fit in a year.

Key takeaways

  • The technical work is a quarter. The programme is a year. The gap is discovery, governance and waiting for other people to say yes, and only the first of those three is under your control.
  • A calendar year contains 52 weeks and roughly 32 to 44 usable production change weeks once quarter end, year end and peak trading freezes are removed. That number, not the size of your portfolio, sets your wave count.
  • Third party vendor certification is the longest pole and the only item on the plan that is pure waiting. Written responses run 4 to 16 weeks. Send those requests in week one, not after the pilot.
  • Governance gates that meet monthly cost more elapsed time than gates that take longer but meet weekly. Count meeting frequency, not review duration, when you build the schedule.
  • Two dates belong on the plan and are almost never on it: the notice date on your Oracle subscription, and the last free patch date for the release you run. Missing the first auto renews a year you did not want.
  • Because the subscription is priced per employee, a programme that finishes 95 percent of the estate on time and leaves five percent behind delivers no licence saving at all. Completion is the only milestone that pays.

Two numbers circulate for the same project and both are correct. One frames the exit as a 90 to 180 day effort. The other puts completed large enterprise migrations at nine to fourteen months.

The short number describes the technical work on a known, well tooled estate. The long number describes the whole programme, including the parts that are pure organizational latency. This page is about the long number, because that is the one you sign up to.

Cover of the Redress Compliance Oracle white paper

White Paper · Oracle Java

Oracle Java SE Renewal & Exit

The buyer side route out of the Java SE subscription. Read it free.

Read the white paper

Why do published migration timelines differ by a factor of four?

Because they measure different things. One measures the runtime swap on an estate that has already been inventoried and standardized. The other measures the programme from the day someone asks the question.

What the short number assumes

The 90 to 180 day figure is real, and it is achievable, but it rests on four assumptions that most enterprises cannot satisfy on day one.

  • A complete inventory already exists, including containers, appliances and end user machines, and it is trusted enough to schedule against.
  • Pipelines already reference a shared build configuration, so the JDK is one parameter rather than several hundred repository level decisions.
  • No third party application in scope bundles its own runtime, or every vendor has already confirmed support in writing.
  • Production change approval is fast and not seasonal, which is true in a single platform team and rarely true across an enterprise.

Score your own estate against those four honestly. Each one you fail moves you toward the upper end of the envelope, and failing the third or fourth on its own usually adds a quarter.

The engineering is a quarter. The other three quarters are discovery, approval, and waiting for other organizations to answer a letter.

What is a nine to fourteen month migration actually made of?

Six phases, and the two with almost no code in them consume more than half the elapsed time. Plan each phase against an exit artifact rather than a date, because a date with no artifact behind it slips silently.

The phase model, with entry and exit criteria

Phases, durations and the artifact that closes each one

Phase Typical elapsed What consumes the time Exit artifact
Discovery and inventory6 to 12 weeksShadow installs, embedded runtimes, container images, reconciling asset management blind spotsA signed inventory naming distributor, build number, install date and host purpose per instance
Triage and dependency mapping3 to 6 weeksSeparating the straightforward swaps from the workloads with a real dependencyA wave plan ordered by the dependency graph, with the hard cases named
Standard and distribution decision2 to 5 weeksWriting the runtime standard, agreeing patch cadence, passing architecture reviewAn approved runtime standard and a named primary and fallback build
Pipeline and workstation cleanup6 to 16 weeksBuild agents, base images, developer machines, path and environment driftEvery new build produced on the target runtime, with the intake blocked
Wave migration through the environments12 to 28 weeksChange windows, soak time, approval cycles, regression evidence per waveProduction running the target runtime with rollback retired
Decommission and evidence close2 to 6 weeksRemoving the last installs, capturing the evidence pack, serving contractual noticeA dated evidence file that proves what ran, where, and until when

Add the ranges and the arithmetic lands in the nine to fourteen month window. Note that discovery and cleanup, the two phases with the least engineering in them, account for the largest single block.

What can overlap and what genuinely cannot

  1. Start vendor certification requests in week one, in parallel with discovery. They are pure waiting and they gate the last wave, so every week of delay lands at the end of the programme.
  2. Run the standard and distribution decision alongside triage. It needs the inventory shape, not the finished inventory.
  3. Do not start wave migration before pipeline cleanup is done. Migrating an application whose build agent still produces Oracle artifacts creates rework you will pay for twice.
  4. Do not compress discovery to hit a date. An incomplete inventory converts a schedule problem into an audit problem, and the second one is more expensive.

Why does discovery take longer than the migration?

Because a Java runtime leaves no reliable installation record. An estate sweep typically finds Oracle Java on 15 to 35 percent of servers a buyer believed were already on OpenJDK.

Why asset management tools miss it

Most asset tools report package installation data, the Windows installer database or the Linux package manager. A Java runtime unpacked from an archive into a directory is fully functional and completely absent from both.

The answer is a file system crawl that looks for a Java executable on every server and every managed endpoint, then reads the release file next to it. That is a different exercise from a software inventory report, and it is the one that produces a defensible number.

The full treatment of this problem, including what the crawl should collect, sits in the discovery gap and shadow installs guide.

Capture before you clean

Record distributor, exact build number, install date, patch level and host for every instance before anything is removed. Those five fields are what bounds a retroactive claim.

Deleting a binary first destroys the only evidence that limits how far back a claim can reach. Run the crawl before Oracle's audit function does, and keep the output as a dated file.

How long does the pipeline and workstation workstream really take?

Six to sixteen weeks, and the spread is decided entirely by how your pipelines were built years ago. This is the workstream that most often has no owner and therefore no end date.

The two extremes, and what separates them

An estate whose pipelines reference a shared build configuration changes one parameter in one place. An estate where several hundred repositories each pin their own runtime changes it several hundred times.

  • Standardize the runtime reference to one shared build parameter rather than a value hardcoded in every repository.
  • Reconcile the environment path and JAVA_HOME on every workstation image before you migrate a single service, because the drift between them produces build failures that look like migration defects.
  • Parameterize patch cadence so lower environments track the latest build of the target runtime automatically instead of pinning whatever shipped with the application.
  • Give this workstream a named owner and its own milestones. Treated as a by product of the application teams it will still be open when the programme is meant to close.

The full playbook, including the capture order that protects your evidence, is in cleaning Oracle JDK out of pipelines and developer workstations.

Which governance gates actually set the pace?

The ones that meet monthly. A gate that takes two hours of review but sits in a board that meets once a month costs four weeks of elapsed time, and most programme plans record it as two hours.

The gate table nobody builds until month four

Governance gates, owners and realistic lead times

Gate Artifact it wants Meets Elapsed cost
Architecture or design authorityRuntime standard and distribution decision recordMonthly2 to 6 weeks, once
Security approval or exceptionPatch cadence commitment, trust store position, vulnerability handlingWeekly or on demand2 to 4 weeks, once
Third party vendor certificationA written statement supporting the target runtimeVendor's own cycle4 to 16 weeks, per vendor
Change advisory boardTest evidence, rollback plan, blast radiusWeekly10 business days, per wave
Operational acceptanceRunbook, monitoring, support routing for the new runtimePer wave1 to 3 weeks, per wave
Regulatory validation, validated estates onlyQualification evidence package per systemPer wave4 to 12 weeks, per wave

Two rows on that table are per wave rather than once, and they are the rows that multiply. A programme with fifteen waves and a ten business day change cycle has spent thirty weeks in approval before anyone writes a line of configuration.

Why the vendor row is the one to move first

It is the only gate where you have no lever at all. You cannot escalate a vendor's certification queue and you cannot buy your way past it in most cases.

Send every request in week one, with a specific question: does the vendor support release X of the application on a HotSpot OpenJDK build of the same Java version, and will it confirm that in writing. Vague questions get vague answers slowly.

How many production waves can you actually fit in a year?

Between twelve and twenty for most enterprises, and that single number usually decides the end date. Work it out before you promise anything, because it is arithmetic rather than opinion.

The freeze arithmetic, done properly

  • 52 weeks in the year. Start there and subtract.
  • Minus 4 to 6 weeks of financial period end. Most enterprises freeze production change around each quarter close, and year end is usually longer than the other three.
  • Minus 8 to 12 weeks of peak trading in retail, travel, logistics and payments estates. This freeze is never negotiable, and in some sectors it is longer than a quarter.
  • Minus 2 to 3 weeks of holiday clustering when approval boards do not sit and the people who own rollback are not reachable.
  • Leaves 32 to 44 usable change weeks, and a wave needs its approval lead time plus a soak period, so two to three weeks each in practice.

That produces twelve to twenty waves. Divide your application count by that number and you have the bundle size each wave has to carry, which is the honest test of whether your plan is real.

The sequence inside the waves

Move through the environments by criticality: development, then test, then staging, then production, lowest criticality first. Inside that, start with one low risk canary service that validates the distribution, the pipeline change and the support routing together.

Then expand along the dependency graph so that upstream services move before the services that consume them. The workloads with a genuine Oracle dependency are scheduled last and worked hardest.

The long lead items to pull forward

Applications that bundle their own runtime cannot be swapped by you at all. You are dependent on the vendor's repackaging cadence, which is covered in migrating around embedded JDKs in third party applications.

Desktop and end user Java is the other long pole. Repackaging, a replacement for anything using the old browser launch model, and user acceptance testing add three to six months, and it is the phase most often left until it is too late to move.

Editorial photograph of a wall calendar used for enterprise change and release planning
A twelve month plan with three freeze windows inside it is a nine month plan wearing a costume. Count the usable change weeks before you count the applications.

Where do these programmes actually slip?

In six places, and five of them are foreseeable in week one. The weeks below are the ranges we have seen added to a plan that was otherwise sound.

The six common overruns and what they cost

Overrun Weeks added How to avoid it
Vendor certification requested late4 to 12Send every request in week one, in parallel with discovery
Desktop Java population found late12 to 24Include managed endpoints in the first crawl, not the second
Discovery re run after missing container images3 to 6Scan the registry and the base image layers, not only running hosts
A freeze window that was not in the plan4 to 12Build the change calendar in week one and get it signed by change management
Distribution reselected mid programme6 to 10Decide against a written specification, not a brand preference
Test environment contention4 to 8Book environment slots at wave planning, not at wave start

Where the common advice on OpenJDK migration timelines is wrong

The standard advice is to begin with a pilot on a low risk service, prove the approach, then plan the rollout. We disagree with the ordering, and it is the single most expensive sequencing mistake we see. A pilot is useful and it is not the critical path. The critical path runs through third party vendor certification, which is pure waiting, cannot be accelerated by adding people, and gates the very last wave of the programme. Every week you spend proving something you already know before you post those letters is a week added directly to the end date. Send the certification requests in week one, run the pilot in parallel, and accept that the pilot will tell you what the binary comparison already told you.

Which external dates set your programme clock?

Four, and only two of them are Oracle's. Work backward from whichever lands first, because that is the date the plan has to hit.

The dates to put on the plan

  1. Your free use window. The Oracle JDK 21 No Fee Terms window closes on 16 September 2026, and JDK 17 closed in September 2024. The dated map of every release is in which versions of Java are free.
  2. Your subscription notice date. If you hold a Java SE subscription, the notice period sits ahead of the renewal date, commonly 30 to 90 days. Miss it and you have bought another full year regardless of migration progress.
  3. Community support for the release you run. The community update project for Java 8 is currently scheduled to end in November 2026. Confirm the current position rather than planning on a remembered date.
  4. Your application framework's own support window. Framework end of support can force a Java version move on top of the distribution move. The Spring Boot policy gives each minor release a minimum of 13 months of open source support, and by mid 2026 the 3.x line has run out of it, so check your own versions on the published support policy rather than assuming.

If you are already behind the date

Do not compress discovery to hit it. An incomplete inventory converts a schedule miss into an audit exposure, and the second costs more than the first.

Buy a bridge instead: a short, tightly scoped position that holds while you run the programme properly. The decision framework for that choice sits in the Oracle Java to OpenJDK migration decision guide, and the fallback posture in OpenJDK support and rollback risk.

How does the timeline change what you pay Oracle?

A funded, staffed, in flight programme is a different negotiating position from a stated intention, and Oracle prices the difference. The schedule is a commercial asset as well as a delivery plan.

Why credibility moves the number

The Java SE Universal Subscription is priced per employee across the organization rather than per Java user. That metric is what makes the migration worth financing, and it is also what makes a partial migration worthless.

Say it once and design around it: finishing 95 percent of the estate on schedule saves nothing, because the remaining five percent keeps the whole workforce in scope. Completion is the only milestone that changes the invoice.

The five year comparison of subscribing, migrating fully and running a hybrid is modelled in the three Java migration patterns, and the finance framing is in the CFO business case.

What to show and what to hold back

  • Show that a target distribution is selected, a standard is approved and a pilot is running. That is credibility.
  • Show the board approved budget line, because a funded programme is harder to dismiss than an architecture opinion.
  • Hold back your raw inventory. It is your evidence file, not a negotiation input, and handing it over changes what the conversation is about.
  • Hold back the detailed wave calendar. Oracle does not need to know which month your leverage is weakest.
32 to 44
Usable production change weeks in a year
15 to 35%
Servers found running Oracle Java unexpectedly
4 to 16
Weeks to a written vendor certification answer

Source: Redress Compliance advisory engagement file, 2024 to 2025.

What should a buyer do next?

  1. In week one, send written certification requests to every third party vendor in scope. This is the longest lead item on the plan and the only one you cannot accelerate later.
  2. In week one, get the production change freeze calendar from change management and count your usable change weeks for the next four quarters.
  3. Run a file system crawl across servers, containers, images and managed endpoints. Record distributor, build number, install date, patch level and host before anything is removed.
  4. Build the governance gate table with meeting frequencies, not review durations, and identify every gate that meets monthly.
  5. Approve one runtime standard with a named primary and fallback build, written as a specification. See the distribution comparison.
  6. Give pipeline and workstation cleanup a named owner, its own milestones and its own reporting line.
  7. Divide the application count by your wave capacity and confirm the bundle size is deliverable. If it is not, the plan is wrong, not the team.
  8. Put the subscription notice date and the last free patch date on the same plan as the technical milestones, and hold both as hard gates.

Frequently asked questions

How long does an OpenJDK migration take at an enterprise?

Nine to fourteen months measured as a full programme, from the day the question is asked to the day the last Oracle install is gone. A narrower technical swap on a fully inventoried, well tooled estate can run 90 to 180 days. The difference is estate size and tooling maturity, not the difficulty of the runtime change.

Why does it take so long if the runtime swap is easy?

Because the swap is not the critical path. Discovery, governance approval and waiting for third party vendors consume most of the elapsed time, and only the first is under your control. Roughly eighty percent of a portfolio is a straightforward swap, so the calendar goes on the estate you cannot see.

What is the single biggest cause of delay?

A third party vendor certification request sent after the pilot rather than in week one. It is pure waiting, it typically takes 4 to 16 weeks, and it gates the final wave, so the delay lands directly on the end date. The second biggest is a desktop Java population discovered in month six.

How many production waves can we realistically run in a year?

Twelve to twenty for most enterprises. A year has 52 weeks, and quarter and year end freezes, peak trading freezes and holiday clustering typically remove 12 to 20 of them, leaving 32 to 44 usable change weeks. Each wave needs its approval lead time plus a soak period, so two to three weeks each.

Can we compress the nine to fourteen months?

The front end, yes. Discovery compresses from weeks to days with a proper file system crawl, and pipeline cleanup compresses sharply if your builds already use shared configuration. The wave rollout and the workloads with genuine Oracle dependencies are much harder to shorten safely, so compress the front end and leave the testing alone.

What should we do if the deadline is already too close?

Buy a bridge rather than rushing discovery. A short, tightly scoped commercial position holds the risk while the programme runs properly, and it costs less than an incomplete inventory that turns a schedule miss into an audit exposure. Compressing the estate sweep is how back charge exposure gets baked in.

Does an in flight migration change the Oracle negotiation?

Yes, materially. A funded, staffed programme with an approved standard and a running pilot is a credible alternative, and Oracle prices credible alternatives differently from stated intentions. Show the budget line and the pilot, and keep your raw inventory and wave calendar to yourself.

Does finishing most of the estate on time deliver most of the saving?

No, and this is the most important scheduling fact on the page. The subscription is priced per employee across the whole organization, so a single remaining Oracle install keeps the entire workforce in scope. Ninety five percent complete and one hundred percent complete produce the same invoice.

Free White Paper

Defend an Oracle Java audit without overpaying

Oracle now audits Java SE on employee count, not installs, which can multiply the bill several times over. How to defend the notice and exit to OpenJDK.

Gated with a work email on the download page. No sales follow up you did not ask for.

Get the White Paper →
Independent, buyer side. We never share your details with vendors.
Run a software spend health check against your Oracle estate in under five minutes.
Open the Tool →
Deep Library

More on this topic.

Oracle Hub →
Oracle Java to OpenJDK Migration in 2026: The Decision and Execution Guide
Oracle · Guide
Oracle Java to OpenJDK Migration in 2026: The Decision and Execution Guide
The full guide this article belongs to.
Guide
Full Migration, Hybrid, or Subscribe: Three Java Patterns Modeled
Oracle · Deep dive
Full Migration, Hybrid, or Subscribe: Three Java Patterns Modeled
Another angle on the same decision.
Guide
Choosing an OpenJDK Distribution: Corretto vs Temurin vs Zulu vs Microsoft
Oracle · Deep dive
Choosing an OpenJDK Distribution: Corretto vs Temurin vs Zulu vs Microsoft
Another angle on the same decision.
Guide
Oracle Java SE Procurement. 20 critical insights: the per employee metric, the audit posture, and the OpenJDK escape route.
Oracle
Oracle Java SE Procurement. 20 critical insights: the per employee metric, the audit posture, and the OpenJDK escape route.
Oracle Java SE Universal Subscription procurement guide 2026. Independent buyer side advis
Guide
Alternative Java options. OpenJDK and beyond.
Oracle
Alternative Java options. OpenJDK and beyond.
OpenJDK alternatives to Oracle Java in 2026. Temurin, Azul, Corretto, Microsoft Build, Red
Guide
Exiting Oracle Java SE. The migration map.
Oracle
Exiting Oracle Java SE. The migration map.
Exit the Oracle Java SE subscription by mapping where Oracle Java actually runs, then movi
Guide
Editorial boardroom interior

The advisor your vendors do not want.

500+ enterprise clients. 11 vendor practices. Industry recognized. One conversation can change what you pay for the next three years.

Stay ahead of Oracle licensing changes.

One buyer side briefing a week. Renewal signals, audit moves, and the levers that work. No vendor spin.

Pass it on

Know someone facing this exact decision?

Send this to whoever owns the renewal, the audit response, or the budget. It takes two clicks and it saves them a quarter of guessing.

Share on LinkedInShare by email