Java Licensing & Migration

OpenJDK vs Oracle JDK in 2026: Features, Support Models, Migration Strategy, and the Complete Enterprise Decision Framework

A Definitive Guide for IT, Procurement, and Legal Leaders Navigating Oracle's Employee-Based Java Licensing, OpenJDK Distribution Selection, Migration Execution, and Audit Defence

February 202629 min readRedress Compliance Advisory
1

Executive Summary — Why the Oracle JDK vs OpenJDK Decision Is Now a Board-Level Issue

+

Three years after Oracle's seismic shift to employee-based Java licensing in January 2023, the financial and operational impact on enterprises has become undeniable. What was once a routine infrastructure component — Java runtime environments running quietly on servers and desktops — has become a seven-figure compliance liability for any organisation with more than a few thousand employees. Oracle's Java SE Universal Subscription, priced at $15.00 per employee per month (with volume discounts beginning only at very large scale), means that a 5,000-employee organisation faces approximately $630,000 in annual Java licensing costs, and a 20,000-employee enterprise faces over $1.6 million — regardless of how few employees actually use Java.

The response from the enterprise market has been decisive: migration to OpenJDK. By early 2026, the majority of Fortune 500 organisations have either completed or are actively executing Java migration programmes. The technical case is straightforward — Oracle JDK and OpenJDK are built from the same source code and deliver identical functionality. The financial case is overwhelming — OpenJDK is free. The operational case is compelling — a mature ecosystem of OpenJDK distributions (Eclipse Temurin, Amazon Corretto, Azul Zulu, IBM Semeru, Red Hat OpenJDK) provides enterprise-grade support, long-term security updates, and professional services that rival or exceed what Oracle provides.

Yet many enterprises remain partially or fully exposed. Some have not completed their migration due to application compatibility concerns. Others are locked into Oracle contracts that include Java as a bundled component. Still others have completed what they believed was a full migration, only to discover residual Oracle JDK installations during internal audits or — worse — during an Oracle licence review. Oracle's audit activity targeting Java compliance has intensified significantly through 2025 and into 2026, with Java now one of Oracle's primary audit focus areas.

This guide provides the comprehensive framework that IT, procurement, legal, and finance leaders need in 2026: a detailed comparison of Oracle JDK and every major OpenJDK distribution, a practical migration methodology proven across hundreds of enterprise environments, specific guidance for handling application dependencies and vendor certifications, audit defence strategies for organisations still carrying Oracle JDK exposure, and a clear-eyed assessment of what Oracle's licensing enforcement means for enterprises that have not yet acted.

2

Oracle's Java Licensing in 2026 — The Full Financial Picture

+

Understanding the precise financial exposure is the essential first step. Oracle's Java SE Universal Subscription, introduced in January 2023 and firmly entrenched by 2026, fundamentally changed how Java is licensed.

1. The Employee-Based Model Explained:

Under the Java SE Universal Subscription, any organisation using Oracle JDK in production, development, or testing must licence every employee — not just the individuals who use Java, and not just the servers running Java. The metric is total employee count (including full-time, part-time, and temporary workers), and it covers all uses of Oracle Java SE, including the JDK, JRE, Java Web Start, JavaFX, and associated tools. If a single developer downloads Oracle JDK to compile code, or a single production server runs Oracle JRE, the entire organisation's headcount is in scope.

2. Pricing and Cost Escalation:

The base price is $15.00 per employee per month ($180 per employee per year). Oracle offers volume discounts at very large scale, but the effective discount for most enterprises is modest. The pricing includes all Oracle Java SE products, all versions, and all environments (production, development, testing, disaster recovery). While the per-employee rate includes commercial support and updates, the cost relative to what enterprises paid previously (often nothing, or a small Named User Plus licence fee for specific deployments) represents a 5–50× increase in Java-related costs.

3. The Compliance Trap — Retroactive Exposure:

Oracle's licence terms include provisions for retroactive compliance. If an organisation used Oracle JDK without a valid subscription during the period since January 2023, Oracle can assert a claim for the full subscription cost for the entire back period. For an organisation that has been using Oracle JDK without a subscription since 2023, the retroactive liability by early 2026 could be three full years of employee-based licensing — potentially millions of dollars. This retroactive exposure is Oracle's primary negotiation leverage during audits and licence reviews.

Organisation SizeAnnual Oracle JDK Cost3-Year Retroactive Exposure (2023–2026)OpenJDK CostAnnual Savings
100 employees$18,000/year$54,000$0$18,000
500 employees$90,000/year$270,000$0$90,000
2,000 employees$324,000/year$972,000$0$324,000
5,000 employees$630,000/year$1,890,000$0$630,000
10,000 employees$1,080,000/year$3,240,000$0$1,080,000
20,000 employees$1,620,000/year$4,860,000$0$1,620,000

What Finance and Legal Should Do Now — Exposure Assessment

Quantify your current exposure immediately: Calculate your annual Oracle JDK cost based on total employee count × $15/month. Then multiply by the number of months since January 2023 that Oracle JDK has been in use without a subscription — this is your retroactive liability ceiling.

Determine whether Oracle JDK is still present anywhere: A single Oracle JDK installation on a single server can trigger the employee-based licensing obligation for your entire organisation. Conduct a thorough scan immediately.

Do not engage with Oracle until your position is clear: If you receive an Oracle audit notification or licence review request, do not respond with data until you have completed your internal assessment and engaged qualified advisory support.

3

OpenJDK vs Oracle JDK — The Technical Truth

+

A persistent misconception continues to delay enterprise migration decisions: the belief that Oracle JDK is somehow superior to OpenJDK. This is false. Understanding the technical reality is essential for building internal confidence in the migration decision.

1. Same Source Code, Same Functionality:

Oracle JDK and OpenJDK are built from the same source code base. Since Java 11 (released in 2018), Oracle has contributed virtually all of its previously proprietary Java features to the OpenJDK project. The commercial Oracle JDK and the open-source OpenJDK reference implementation pass the same Technology Compatibility Kit (TCK) tests and are functionally equivalent. Any Java application that runs on Oracle JDK will run identically on OpenJDK of the same major version — the bytecode is the same, the APIs are the same, the JVM behaviour is the same.

2. What Oracle JDK Includes Beyond OpenJDK:

The differences between Oracle JDK and OpenJDK in 2026 are cosmetic and commercial, not technical. Oracle JDK includes Oracle's commercial licence terms (which create the cost obligation), Oracle's branded installer and packaging, access to Oracle's My Oracle Support portal, and Oracle Flight Recorder and Mission Control (which are also available as open-source components in OpenJDK builds from other vendors). There is no proprietary runtime feature, performance optimisation, or security capability in Oracle JDK that is unavailable in OpenJDK distributions.

3. Performance Comparison:

Independent benchmarks consistently show no meaningful performance difference between Oracle JDK and major OpenJDK distributions on the same Java version. Any marginal variations fall within normal benchmark variance and do not affect real-world application performance. Organisations migrating from Oracle JDK 17 to Eclipse Temurin 17, Amazon Corretto 17, or Azul Zulu 17 should expect identical application performance.

CharacteristicOracle JDKOpenJDK (Any Major Distribution)Difference?
Source code baseOpenJDK (same)OpenJDKNone — identical source
Java SE APIsFull Java SE specificationFull Java SE specificationNone
TCK certificationCertifiedCertified (Temurin, Corretto, Zulu, etc.)None — both pass same tests
Runtime performanceEquivalentEquivalentNone (within benchmark variance)
Security updatesQuarterly (Critical Patch Updates)Quarterly (aligned with Oracle's schedule)Same patches, same cadence
Flight Recorder / Mission ControlIncludedIncluded (open-source since Java 11)None
LicenceCommercial — $15/employee/monthGPL v2 + Classpath Exception — freeOracle JDK costs $180–$1.6M+/year
Audit exposureSubject to Oracle licence auditsNo licence — no audit exposureOracle JDK creates compliance risk
4

OpenJDK Distribution Comparison — Choosing the Right Provider for Your Enterprise

+

While OpenJDK is a single open-source project, multiple vendors produce enterprise-ready distributions with different support models, LTS policies, and value-added features. Selecting the right distribution (or combination of distributions) for your environment is a key migration decision.

1. Eclipse Temurin (Adoptium):

The community-driven, vendor-neutral OpenJDK distribution produced by the Eclipse Adoptium project (formerly AdoptOpenJDK). Temurin is the default recommendation for organisations seeking a completely vendor-independent OpenJDK. It provides TCK-certified binaries for all LTS versions (8, 11, 17, 21) and latest feature releases, with community-driven security updates aligned with Oracle's quarterly patch schedule. No commercial support is included in the free distribution, but multiple third-party vendors (including Azul) offer support contracts for Temurin. Best suited for organisations with strong internal Java expertise that do not need a vendor relationship for day-to-day Java support.

2. Amazon Corretto:

Amazon's free, no-cost OpenJDK distribution with long-term support. Corretto is Amazon's production JDK, used internally across AWS services, which provides a high degree of confidence in its reliability and performance. Amazon provides quarterly security patches and commits to supporting LTS versions for at least four years beyond the upstream end-of-life. Corretto includes performance optimisations specifically beneficial for AWS environments but runs identically on any infrastructure. Best suited for organisations with significant AWS investment or those seeking a free distribution backed by a major technology company's commitment.

3. Azul Zulu:

Azul Systems' TCK-certified OpenJDK distribution, available in both free (Community) and commercial (Enterprise) tiers. Azul's differentiator is its breadth of Java version support — including extended support for legacy versions (Java 6, 7, 8) well beyond other vendors' timelines — and its specialised JVM technologies (Azul Prime, formerly Zing) for latency-sensitive applications. Azul's commercial support is competitively priced (per-system or per-core, not per-employee) and is widely regarded as the strongest commercial Java support offering in the market. Best suited for organisations that need commercial support with SLAs, have legacy Java 6/7 applications, or require low-latency JVM optimisations.

4. IBM Semeru:

IBM's OpenJDK distribution, built on the Eclipse OpenJ9 JVM (rather than the HotSpot JVM used by most other distributions). OpenJ9 offers a different performance profile: faster startup times, lower memory footprint, and comparable throughput for most workloads. IBM provides support for Semeru through its commercial offerings. Best suited for organisations with existing IBM middleware estates (WebSphere, Liberty), containerised microservices where memory efficiency matters, or environments already standardised on OpenJ9.

5. Red Hat OpenJDK:

Red Hat's build of OpenJDK, included with Red Hat Enterprise Linux (RHEL) subscriptions at no additional cost. Red Hat actively leads the maintenance of OpenJDK 8 and 11 LTS streams in the upstream community, meaning RHEL customers receive Java patches as part of their existing RHEL subscription. Best suited for organisations already running RHEL in production — Java support is effectively bundled into your existing Red Hat subscription at zero incremental cost.

DistributionVendorFree?Commercial Support Available?LTS Versions SupportedBest For
Eclipse TemurinEclipse Adoptium (community)YesVia partners (Azul, etc.)8, 11, 17, 21Vendor-neutral default choice
Amazon CorrettoAmazon / AWSYesVia AWS support8, 11, 17, 21AWS-heavy environments
Azul ZuluAzul SystemsCommunity: YesEnterprise: Yes (per-system pricing)6, 7, 8, 11, 17, 21Commercial support; legacy Java 6/7
IBM SemeruIBMYesVia IBM support8, 11, 17, 21IBM middleware; container workloads
Red Hat OpenJDKRed Hat / IBMYes (with RHEL sub)Included in RHEL subscription8, 11, 17, 21RHEL environments
Oracle JDKOracleNo — $15/emp/moYes (included in subscription)8, 11, 17, 21Only if contractually required

What IT Should Do Now — Distribution Selection

Default to Eclipse Temurin unless you have a specific reason to choose another distribution. It is the most widely adopted, vendor-neutral, and TCK-certified option.

Use Amazon Corretto for AWS workloads — it is pre-installed on many AWS AMIs and optimised for AWS infrastructure.

Evaluate Azul Zulu Enterprise if you need commercial support with SLAs, particularly for legacy Java versions (6/7/8) that other distributions no longer actively support.

If you run RHEL, Java is already covered — Red Hat OpenJDK is included in your existing RHEL subscription.

5

Migration Strategy — The Proven 8-Phase Enterprise Approach

+

Migration from Oracle JDK to OpenJDK is not a coding project — it is a planning, coordination, and governance project. The Java runtime is a drop-in replacement; the work is in finding every Oracle JDK instance, validating application compatibility, executing the swap, and ensuring no Oracle JDK remains. This 8-phase methodology has been proven across hundreds of enterprise Java environments.

Phase 1: Discovery and Inventory (Weeks 1–3)

Conduct a comprehensive scan of all environments — production servers, development workstations, CI/CD pipelines, container images, virtual machines, and cloud instances — to identify every Oracle JDK and JRE installation. Use automated discovery tools (e.g., Flexera, Snow, or purpose-built Java scanning scripts) supplemented by manual verification. Document each installation: server name, Java version, installation path, whether it was installed by the OS or an application, and the application(s) that depend on it. This inventory is the foundation for everything that follows.

Phase 2: Exposure Assessment (Week 3–4)

Calculate the financial exposure: total employee count × $15/month × number of months since January 2023 that Oracle JDK has been present. This is your retroactive liability ceiling. Present this to finance and legal leadership to secure executive sponsorship and budget for the migration programme.

Phase 3: Application Compatibility Analysis (Weeks 3–6)

For each application running on Oracle JDK, determine whether the application vendor certifies or supports OpenJDK. Most enterprise software vendors (SAP, IBM, Red Hat, and hundreds of others) officially support OpenJDK. For applications where the vendor documentation specifies 'Oracle Java SE only,' contact the vendor directly — in our experience, the majority have tested on OpenJDK and will confirm compatibility. Document any genuinely Oracle-dependent applications (these are rare) for separate treatment.

Phase 4: Distribution Selection and Standardisation (Week 4–5)

Select one or two OpenJDK distributions as your enterprise standard. Standardisation simplifies patch management, support relationships, and governance. Create internal documentation specifying the approved distribution(s), approved versions (align with LTS releases: 17 and 21 for new deployments), approved download sources, and patch management procedures.

Phase 5: Pilot Migration (Weeks 5–8)

Select 3–5 representative applications spanning different Java versions, deployment types (on-premise, cloud, containerised), and criticality levels. Replace Oracle JDK with the chosen OpenJDK distribution on these pilot systems. Run full regression testing. Monitor for any behavioural differences (there will be very few, if any). Document the pilot results to build confidence for the broader rollout.

Phase 6: Phased Production Rollout (Weeks 8–16)

Migrate remaining applications in waves, prioritised by risk (low-risk first) and Java version. Each wave: swap the JDK, run smoke tests, monitor for 48–72 hours, then move to the next wave. Update CI/CD pipelines to build and test against OpenJDK. Update container base images to use OpenJDK. Update VM templates and cloud AMIs to use OpenJDK.

Phase 7: Remediation of Remaining Oracle JDK (Weeks 14–18)

Address the hardest cases: applications that genuinely require Oracle JDK (rare — typically legacy applications using Oracle-specific tools like Java Web Start or Java Mission Control in older forms), applications where the vendor refuses to support OpenJDK (escalate with the vendor; consider alternative products), and Oracle JDK installations bundled with other Oracle products (e.g., Oracle Database, WebLogic — these may be covered under separate Oracle licences). For genuinely unavoidable Oracle JDK usage, isolate it on specific systems and assess whether a limited Oracle Java subscription or a negotiated settlement is preferable to the full employee-based subscription.

Phase 8: Verification and Ongoing Governance (Weeks 16–20+)

Conduct a final comprehensive scan to verify that no Oracle JDK remains in any environment. Implement ongoing monitoring (automated scans weekly or monthly) to catch any reintroduction of Oracle JDK — developers downloading Oracle JDK for convenience is the most common source of re-contamination. Update IT policies to prohibit Oracle JDK downloads without explicit approval. Block Oracle JDK download URLs at the network level if feasible.

PhaseTimelineKey DeliverableOwner
1. Discovery & InventoryWeeks 1–3Complete Oracle JDK installation registerIT / Infrastructure
2. Exposure AssessmentWeeks 3–4Financial liability analysis with executive briefingFinance / Legal
3. Application CompatibilityWeeks 3–6Compatibility matrix for all Oracle JDK–dependent applicationsIT / Application Teams
4. Distribution SelectionWeeks 4–5Approved OpenJDK standard and documentationIT Architecture
5. Pilot MigrationWeeks 5–8Pilot results report with go/no-go recommendationIT / QA
6. Production RolloutWeeks 8–16All non-exception applications migratedIT / Application Teams
7. RemediationWeeks 14–18Exception cases resolved or documentedIT / Procurement
8. Verification & GovernanceWeeks 16–20+Clean scan + ongoing monitoring policyIT Security / Compliance
6

Application Compatibility — Addressing the Biggest Migration Concern

+

Application compatibility is the single most cited reason for delaying Oracle JDK to OpenJDK migration — and in the vast majority of cases, the concern is unfounded. This section addresses the specific compatibility scenarios enterprises encounter.

1. The 99% Reality:

Across our advisory engagements involving hundreds of enterprise Java environments, we consistently find that 95–99% of applications migrate from Oracle JDK to OpenJDK with zero code changes and zero behavioural differences. The Java specification ensures that any conformant JDK implementation (and all major OpenJDK distributions are TCK-certified) will run the same bytecode identically. The rare exceptions involve Oracle-proprietary tools, not the Java runtime itself.

2. The Common 'Problem' Scenarios:

Vendor documentation says 'Oracle Java SE required': contact the vendor. In most cases, the documentation is outdated and the vendor supports OpenJDK. Get written confirmation and update your compatibility matrix. Application uses Java Web Start (JNLP): Java Web Start was removed from Oracle JDK in Java 11 and is not part of OpenJDK. Open-source alternatives (IcedTea-Web, OpenWebStart) provide equivalent functionality. Application uses JavaFX: JavaFX was separated from the JDK in Java 11 and is now available as an independent open-source project (OpenJFX). Add it as a dependency to your application. Application uses internal Sun/Oracle APIs: Some legacy applications use internal APIs (com.sun.*, sun.misc.Unsafe, etc.) that are not part of the public Java SE specification. These APIs exist in OpenJDK as well (they are part of the shared source code), so migration does not break them — but they may be removed in future Java versions. Address these as part of a Java version upgrade strategy.

Compatibility ConcernFrequencyActual RiskResolution
Application runs identically on OpenJDK95–99% of casesNone — drop-in replacementSwap JDK, run regression tests, deploy
Vendor documentation says 'Oracle JDK only'Common (but misleading)Low — most vendors support OpenJDKContact vendor; get written OpenJDK support confirmation
Java Web Start dependencyLegacy applications onlyMedium — requires alternativeDeploy OpenWebStart or IcedTea-Web
JavaFX dependencyModerateLow — OpenJFX is matureAdd OpenJFX as application dependency
Internal Sun/Oracle API usageLegacy applicationsLow for migration; medium for future upgradesAPIs exist in OpenJDK; plan refactoring for future versions
Oracle-specific commercial toolsRareHigh if genuinely Oracle-dependentEvaluate open-source alternatives or isolate Oracle JDK usage
7

Vendor Lock-In and Contractual Considerations

+

For many enterprises, the Oracle JDK to OpenJDK migration is complicated not by technical barriers but by commercial and contractual constraints. Oracle's commercial practices create several lock-in mechanisms that must be navigated carefully.

1. Java Bundled in Oracle Enterprise Agreements:

Some enterprises have Oracle Java SE included in their Oracle Unlimited Licence Agreement (ULA), Oracle Enterprise Agreement (EA), or Oracle cloud contract. In these cases, the Java licence may be 'free' during the agreement term — but it is not free at renewal. When the agreement expires or is renegotiated, Java becomes a separate cost item at the employee-based subscription rate unless the enterprise has eliminated Oracle JDK usage. The migration strategy should align with contract renewal timelines: begin the OpenJDK migration well before the renewal date so that Java is not a leverage point for Oracle during renegotiation.

2. Oracle Audit Dynamics:

Oracle's licence audit activity targeting Java has increased substantially since 2023. If your organisation receives an Oracle audit notification or 'licence review' request, the Java estate is almost certainly in scope. Oracle's approach is to quantify the retroactive exposure (total employees × $15/month × months since January 2023) and use this as the opening position in a settlement negotiation. Organisations that have already migrated to OpenJDK and can demonstrate a clean environment are in a fundamentally stronger position than those still carrying Oracle JDK installations.

3. Third-Party Software Requiring Oracle JDK:

A small number of third-party software products include Oracle JDK as a bundled or required component. In these cases, the Oracle JDK licence may be covered under the third-party vendor's OEM agreement with Oracle — meaning your organisation does not need a separate Java subscription for that specific installation. However, this OEM coverage applies only to the specific product's use of Java, not to any other Java usage in your environment. Verify the OEM licence scope carefully.

What Legal and Procurement Should Do Now — Contractual Strategy

Review all Oracle contracts for Java clauses: Determine whether Java is included in any ULA, EA, or other Oracle agreement. Understand the implications for renewal.

Complete OpenJDK migration before Oracle contract renewal: Eliminating Java from the negotiation removes a significant leverage point from Oracle's position.

If audited, do not concede retroactive liability prematurely: Oracle's opening position is always the maximum theoretical exposure. The actual settlement is typically 30–60% of that figure with proper negotiation — and zero if you can demonstrate a clean environment.

Engage independent advisory before responding to any Oracle audit: The first 30 days of an Oracle audit are the most important. How you respond to the initial request shapes the entire engagement.

8

Oracle Java Audit Defence — What to Expect and How to Respond

+

Oracle's Java-focused audit activity has intensified through 2025 and into 2026. This section provides specific guidance for organisations that receive an Oracle licence review or audit notification involving Java.

1. Oracle's Typical Audit Approach for Java:

Oracle initiates contact through either a formal audit letter (under your Oracle Master Agreement's audit clause) or an informal 'licence review' invitation from your Oracle account manager. The stated goal is to assess Java SE compliance. Oracle will request deployment data: number of systems running Oracle JDK, Java versions, employee count. They calculate the theoretical maximum exposure (all employees × $15/month × all months since January 2023) and present this as the compliance gap. The resolution proposal is typically a multi-year Java SE Universal Subscription commitment, often combined with other Oracle products to create a larger commercial conversation.

2. Defence Strategy:

The most effective defence is a clean environment — complete removal of Oracle JDK with documented evidence (scan results, migration records, policy changes). If you have already migrated to OpenJDK and can demonstrate that no Oracle JDK is present, Oracle's Java claim collapses. If you have partially migrated, the defence involves minimising the scope of remaining Oracle JDK usage, challenging Oracle's retroactive pricing methodology, negotiating a settlement based on actual usage rather than theoretical employee-based exposure, and accelerating the remaining migration to eliminate ongoing exposure.

3. Common Oracle Audit Tactics to Watch For:

Oracle may argue that Java downloaded for 'testing' or 'development' triggers the full employee-based subscription. Oracle may claim that Java bundled within other Oracle products (Database, WebLogic) counts as separate Java usage requiring a separate subscription. Oracle may pressure for a rapid settlement before you have time to complete your migration. All of these tactics are negotiable — do not accept Oracle's initial position without thorough analysis.

Audit ScenarioOracle's PositionTypical DefenceLikely Outcome
Complete Oracle JDK removal (verified)Claims retroactive exposure for prior usageDemonstrate clean environment; dispute retroactive scopeNo ongoing obligation; limited or no back payment
Partial migration (some Oracle JDK remains)Full employee-based exposure for all monthsMinimise scope; negotiate based on actual JDK installations, not employeesReduced settlement + accelerated migration
No migration (full Oracle JDK environment)Maximum retroactive + multi-year forward commitmentChallenge methodology; negotiate settlement; begin emergency migrationSettlement required; typically 40–60% of theoretical maximum
Oracle JDK bundled in third-party softwareClaims separate Java licence requiredVerify OEM licence from third-party vendorExcluded from Oracle's claim if OEM licence confirmed
9

Post-Migration Governance — Preventing Oracle JDK Re-Contamination

+

Completing the migration is only half the battle. The most common cause of renewed Oracle Java exposure is re-contamination: Oracle JDK being reintroduced into the environment after migration is complete. This occurs through developers downloading Oracle JDK for convenience (it remains freely available for download, though not free to use), new applications being deployed with Oracle JDK bundled in container images or installation scripts, third-party vendors deploying Oracle JDK as part of their software installation, and IT automation scripts that reference Oracle JDK repositories. A robust governance framework prevents re-contamination.

1. Policy: Publish an enterprise-wide policy designating OpenJDK as the approved Java standard. Explicitly prohibit Oracle JDK downloads and installations without written approval from IT governance.

2. Technical Controls: Block access to Oracle JDK download URLs at the corporate firewall or proxy level. Remove Oracle JDK from approved software catalogues, container registries, and VM templates. Configure CI/CD pipelines to fail builds that reference Oracle JDK.

3. Monitoring: Schedule automated scans (monthly at minimum) across all environments — servers, desktops, VMs, containers — to detect any Oracle JDK installations. Alert immediately if Oracle JDK is detected, and trigger a remediation workflow.

4. Vendor Management: Include OpenJDK requirements in vendor onboarding and software procurement processes. When evaluating new third-party software, verify that it does not require or bundle Oracle JDK.

Governance ControlPurposeImplementationFrequency
Enterprise Java standard policyEstablish OpenJDK as the only approved JDKWritten policy communicated to all IT staffAnnual review
Oracle JDK URL blockingPrevent accidental downloadsFirewall / proxy rule blocking Oracle Java download domainsContinuous
Automated environment scanningDetect re-contaminationScheduled scans across all environments (FlexNet, Snow, or scripts)Monthly
CI/CD pipeline enforcementPrevent Oracle JDK in new deploymentsBuild validation rules rejecting Oracle JDK referencesEvery build
Container image auditDetect Oracle JDK in container registriesRegistry scanning for Oracle JDK base imagesMonthly
Vendor software assessmentPrevent third-party Oracle JDK introductionJava requirement check in procurement workflowEvery new software purchase
10

Final Action Plan — 10-Step Checklist for Enterprise Java Migration

+

This consolidated action plan provides the step-by-step framework for eliminating Oracle JDK exposure and transitioning to OpenJDK.

#ActionOwnerTimelineDeliverable
1Conduct comprehensive discovery scan across all environments for Oracle JDK/JRE installationsIT / InfrastructureWeek 1–3Complete Oracle Java installation inventory
2Calculate financial exposure: employee count × $15/mo × months since Jan 2023Finance / LegalWeek 3–4Exposure assessment with executive briefing
3Select and standardise on OpenJDK distribution(s) — Temurin as default; Corretto for AWS; Zulu for commercial supportIT ArchitectureWeek 4–5Approved distribution standard with documentation
4Analyse application compatibility — contact vendors, build compatibility matrixIT / Application TeamsWeek 3–6Application compatibility register
5Execute pilot migration on 3–5 representative applications with full regression testingIT / QAWeek 5–8Pilot results report
6Roll out production migration in waves — low-risk first, then mission-criticalIT / Application TeamsWeek 8–16All standard applications migrated
7Remediate exception cases: legacy apps, vendor dependencies, Oracle-bundled installationsIT / ProcurementWeek 14–18Exception cases resolved or isolated
8Conduct final verification scan — confirm zero Oracle JDK in all environmentsIT SecurityWeek 16–18Clean scan certification
9Implement ongoing governance: policy, URL blocking, automated scanning, CI/CD enforcementIT GovernanceWeek 18–20Governance controls active
10Align Oracle contract strategy: remove Java from renewal; prepare audit defence positionProcurement / LegalBefore next renewalOracle Java–free contract position

Enterprises that follow this structured approach typically complete the full migration within 16–20 weeks (4–5 months), eliminating annual Oracle Java costs of $100K–$1.6M+ and retroactive exposure of up to 3× that amount. The migration effort — typically 200–500 person-hours for a mid-size enterprise — pays for itself within the first month of eliminated licensing costs.

For organisations navigating Oracle Java compliance — whether conducting initial assessments, executing migrations, defending against Oracle audits, or negotiating Oracle contract renewals where Java is in scope — Redress Compliance provides independent advisory with deep expertise in Oracle's Java licensing mechanics, audit defence strategies, and contract negotiation tactics. Our Java advisory practice has helped enterprises across financial services, healthcare, manufacturing, and technology eliminate millions in Oracle Java exposure while maintaining full operational capability on OpenJDK.

Frequently Asked Questions

Is OpenJDK free for enterprise production use?+

Yes, completely. OpenJDK is licenced under the GNU General Public Licence v2 with the Classpath Exception, which permits unrestricted use — including commercial production — with no licensing fees, no per-employee charges, and no audit exposure. All major OpenJDK distributions (Eclipse Temurin, Amazon Corretto, Azul Zulu Community, IBM Semeru, Red Hat OpenJDK) are free to use.

Will our Java applications behave differently on OpenJDK?+

No. Oracle JDK and OpenJDK of the same major version are built from the same source code and pass the same TCK certification tests. In our experience migrating hundreds of enterprise Java environments, 95–99% of applications require zero changes and exhibit zero behavioural differences. The rare exceptions involve Oracle-proprietary tools (Java Web Start, older versions of Mission Control), not the Java runtime itself.

How do we get security updates without an Oracle subscription?+

All major OpenJDK distributions receive quarterly security updates aligned with Oracle's Critical Patch Update schedule. The patches are contributed to the OpenJDK project by Oracle, Red Hat, and other participants, and distributed through each vendor's release channel. You receive the same security fixes — on the same schedule — as Oracle JDK subscribers, at no cost.

What happens if Oracle audits us after we migrate to OpenJDK?+

If you have completely removed Oracle JDK from all environments and can demonstrate this with documented scan results, Oracle has no basis for a Java compliance claim going forward. Oracle may still assert a claim for the retroactive period (January 2023 to your migration completion date) during which Oracle JDK was in use. The strength of the retroactive claim depends on your specific contractual terms, the evidence of usage, and your negotiation position.

How difficult is it to migrate hundreds of applications?+

It is a planning and coordination effort, not a coding project. The Java runtime is a drop-in replacement — you are not rewriting applications, you are swapping the JDK installation. A typical enterprise with 100–500 Java applications can complete the migration in 16–20 weeks following the phased methodology described in this guide. The effort is approximately 200–500 person-hours for a mid-size enterprise.

What about Oracle JDK bundled inside other Oracle products?+

Oracle products like Oracle Database, WebLogic Server, and Oracle Middleware include a bundled JRE/JDK that is licenced under the host product's licence terms — not the Java SE Universal Subscription. This bundled Java covers only the specific Oracle product's use. If you run any Oracle JDK outside of these bundled installations (e.g., standalone Java applications, development environments), that usage requires a separate Java subscription or migration to OpenJDK.

Which OpenJDK distribution should we choose?+

Eclipse Temurin is the recommended default for most organisations — it is vendor-neutral, TCK-certified, and the most widely adopted. Use Amazon Corretto for AWS-heavy environments. Consider Azul Zulu Enterprise if you need commercial support with SLAs, particularly for legacy Java versions (6/7/8). If you run RHEL, Red Hat OpenJDK is included in your existing RHEL subscription at no additional cost.

Can Oracle claim we owe retroactive licensing for past Oracle JDK usage?+

Yes, Oracle can and does assert retroactive claims for the period since January 2023 when the employee-based subscription model took effect. The theoretical maximum exposure is total employees × $15/month × months of usage. However, this is a negotiating position, not a legal certainty — the actual obligation depends on your contractual terms, usage evidence, and negotiation. Organisations that have completed migration and have a clean environment are in a much stronger negotiating position.

How do we prevent Oracle JDK from being reintroduced after migration?+

Implement a four-layer governance framework: policy (enterprise standard designating OpenJDK; prohibiting Oracle JDK without approval), technical controls (block Oracle JDK download URLs, remove from software catalogues and container registries), monitoring (automated monthly scans across all environments), and vendor management (verify that new third-party software does not bundle Oracle JDK).

Should we negotiate an Oracle Java subscription instead of migrating?+

In nearly all cases, migration to OpenJDK is the superior option. The annual cost of Oracle's Java subscription ($180/employee/year) will continue indefinitely and escalate at renewal, while OpenJDK is permanently free. The only scenario where an Oracle subscription makes sense is when genuinely Oracle-dependent applications cannot be migrated (which is extremely rare), and even then, the subscription should cover only the minimum necessary scope — not the full employee count.

More in This Series: Oracle Advisory Services

This article is part of our Oracle Advisory Services pillar. Explore related guides:

⭐ Oracle Advisory Services — Complete Guide → Decoding Oracle Java Licensing Changes → Oracle Java SE Universal Subscription Pricing & Negotiation → Embedded Java Licensing and OEM Agreements → Java Compliance Assessment Service → Java Audit Defense Service → Java Advisory Services → Oracle Audit Defense Service → Oracle Contract Negotiation Service → Java Licensing & Audit Defense Case Studies → Oracle License Consulting Services →

Oracle Tools & Resources

📋 Oracle Assessment Tools 🛡️ Oracle Audit Preparation Toolkit 🔒 All Audit Defence Kits (6) 📖 All Renewal Playbooks (7) 🏢 Enterprise Assessment Tools (12)

Need Help With Your Oracle Licensing?

Redress Compliance has helped hundreds of Fortune 500 enterprises — typically saving 15–35% on Oracle renewals, ULA negotiations, and audit defense.

Oracle ULA Optimization → Oracle Audit Defense →

100% vendor-independent · No commercial relationships with any software vendor