☕ Java Licensing

Embedded Java Licensing & OEM Agreements for Java SE

What hardware and software vendors need to know about Oracle's Java SE licensing changes, OEM redistribution requirements, subscription costs, third-party alternatives, and navigating OTN vs NFTC terms.

📅 October 24, 2025👤 Fredrik Filipsson📖 24 min read
Java 17 — free expired 2024 Java 21 — free until ~2026
Table of Contents

Oracle's changes to Java SE licensing have turned a once "free" technology into a potential cost and compliance risk for enterprises. If you bundle Java in hardware or software products, it's critical to understand which versions now require paid licenses, when free public updates ended, and how Oracle's "free" terms work. The Oracle Java licensing overview explains why embedded deals differ from standard enterprise licensing.

🔄

Java Licensing Shift: From Free to Fee

Oracle Java was historically free under the Binary Code License (BCL). This changed in 2019 when Oracle ended free public updates for Java 8 and later versions in commercial settings, replacing the BCL with the Oracle Technology Network (OTN) license — making Java free only for personal use or development/testing.

Expired

Java SE 17

NFTC free period closed late 2024 when Java 21 arrived. Pay or upgrade.

Free Now

Java SE 21

Current LTS. Free under NFTC until ~1 year after Java 25 release (2025–26).

Real-world scenario: A bank running critical applications on Java SE 8 in 2020 was caught off guard — free updates ceased, and the next security patch required purchasing Oracle's subscription. Many companies continued using outdated Java 8, risking security, while others scrambled to budget for an unexpected expense.
⚙️

Embedded Java in OEM Products: Hidden Compliance Risks

If you're a hardware or software vendor embedding Java SE into your products, you cannot assume Java is "free". Oracle requires a special OEM agreement for vendors to redistribute Java. Without one, bundling Oracle JDK/JRE exposes you and your customers to non-compliance.

Real-world scenario: VMware's vSAN product historically embedded Oracle Java under a commercial Embedded Use license. When that agreement expired in late 2022, VMware ceased shipping Oracle Java — customers had to update Java on their own or VMware moved to an open JDK. Even large vendors need OEM deals.

Vendors embedding Java should either pay Oracle for OEM rights or switch to a no-cost OpenJDK distribution. Simply doing nothing leaves you or your users with a compliance ticking time bomb. Fundamental concepts are covered in Oracle Java licensing explained.

💰

Oracle's Java Subscription Model — Know Your Costs

In 2023, Oracle introduced a Universal Subscription with an employee-based metric: companies must license Java for every employee, regardless of how many actually use it. This can dramatically increase costs.

Cost impact: Under the old model, a company paid ~$25/server/month for machines running Java. Under the new model, a firm with 10,000 employees pays for all 10,000 — even if only 500 use Java. At $15/employee/month (list), a 25,000-employee company could owe over $2 million per year.

Pricing history and trends: Oracle Java licensing models: evolution and pricing.

🔧

Third-Party Java Support: Azul, IBM, Red Hat & Others

Oracle is not the only source. Several vendors provide OpenJDK-based builds and support that are Java SE-compliant and enterprise-ready: Azul Systems (Zulu), IBM (Semeru Runtime), Red Hat (OpenJDK builds), Amazon Corretto, and others. These let you run Java without Oracle's constraints, often at much lower cost. Bundling scenarios: Oracle products bundling Java SE licenses.

📜

OTN vs. NFTC: Oracle's "Free" Java Terms Explained

Real-world scenario: A device manufacturer considered using NFTC to embed Java 17, but legal flagged a problem: selling a device with Java means customers pay for the device (which includes Java), potentially violating NFTC's "not for a fee" clause. They wisely opted for OpenJDK instead.

Budget considerations: Oracle Java licensing costs — 20 things every CFO needs to know.

📊

Decision Matrix: Oracle vs Third-Party vs Open Source

FactorOracle Java SE SubscriptionThird-Party Support (Azul, Red Hat, IBM)Open Source OpenJDK (DIY)
Cost ModelHigh; per-employee enterprise-wideModerate; per server/instance/coresLow/None; free to use
License CoverageFull Oracle JDK rights. OEM requires separate terms.OpenJDK build + support. Often includes redistribution rights.GPL license. No fees to run or embed.
Support & UpdatesRegular patches, bug fixes, phone/web support. LTS through 2030+.Patches closely tracking Oracle, sometimes longer timelines. SLA support.Community-driven. LTS updates 6-12 months; self-patch beyond that.
Compliance RiskMinimal if correctly licensed. Audit exposure if undercounting employees.Low — not using Oracle binaries. Ensure no Oracle JDK remnants.Low for Oracle. Must remove all Oracle JDK installations.
ProsOfficial Oracle support. Any Oracle-only features. Simplified compliance.Significant savings. Flexible support. No Oracle audit worries. Legacy Java support.Zero cost. Full independence. Open-source transparency.
ConsExpensive per-employee model. Vendor lock-in. Future price hikes.Another vendor relationship. Migration effort. Some cost.No direct support. Must stay on top of upgrades. Shorter support window.
Hybrid approach: Many enterprises pay Oracle for certain environments (or where Oracle software bundling forces them) but use OpenJDK elsewhere to minimize costs. Migrating from Oracle JDK to OpenJDK is usually straightforward — they share the same codebase.
📋

Recommendations

1

Audit your Java usage

Conduct a thorough inventory of all Java installations — servers, desktops, and instances embedded in third-party software or devices. Map versions and distributions (Oracle vs OpenJDK).

2

Identify license requirements

For each instance, determine if it falls under Oracle's licensing. Is it Oracle JDK in production (needs license)? Development only (free under OTN)? OpenJDK (no Oracle fees)?

3

Engage with vendors

Ask OEM vendors directly: "Does your product license Java for us, or are we responsible?" Push vendors to switch to OpenJDK in their products to avoid passing Oracle fees to you.

4

Evaluate alternatives early

Don't wait for an Oracle audit. Assess OpenJDK or third-party JDK feasibility now. Pilot in a test environment. This also gives you negotiating leverage with Oracle.

5

Cost-benefit analysis

Compare Oracle, third-party, and in-house costs over 3-5 years. Factor in operational costs like upgrade frequency on the NFTC path or managing another vendor relationship.

6

Stay updated on licensing policy

Oracle's rules change frequently (2019, 2021, 2023…). Assign someone to monitor announcements. Changes in terms can open or close opportunities.

7

Consider contractual protections

If signing Oracle's subscription, negotiate: cap price increases on renewal, clarify "employee" definition to avoid overcounting. For OEM deals, ensure scope is well-defined.

8

Educate and enforce internally

Ensure IT staff know that downloading Oracle JDK for production without approval is prohibited. Maintain an internal repository of approved OpenJDK builds.

9

Leverage temporary free periods wisely

If using NFTC (e.g., Java 21 now), mark when the free period ends and start preparing an upgrade or contract decision well in advance.

10

Consult experts if needed

Java licensing can be as complex as any enterprise contract. If exposure is multi-million-dollar, seek advice from licensing specialists with benchmarking data and negotiation experience.

Checklist: 5 Actions to Take

📋Inventory Java Installations: List all applications and products using Java. Include version numbers, distribution (Oracle or OpenJDK), and whether vendor-supplied or internally developed.
🔍Assess License Needs: Mark which installations require a paid license under Oracle's rules. Don't forget embedded uses in OEM software/appliances.
💡Decide Strategy per Use-Case: For each area: subscribe with Oracle, switch to third-party JDK/support, or upgrade/replace with OpenJDK? Prioritize high-risk or high-cost areas first.
🤝Engage Stakeholders: Secure buy-in from technical teams and management. If migrating, coordinate with application owners for compatibility testing. If purchasing, get budget approval.
🛡️Implement and Monitor: Execute the plan. Set up ongoing monitoring: ensure new projects follow approved Java policy, track end-of-free-update dates, and review usage at least annually.

FAQ

Q1

Which Java versions require a paid license now?

Any Oracle Java SE 8 update past April 2019 requires a subscription for commercial use. Java 11 and 16 always required one under OTN terms. Java 17 and 21 are free under NFTC but only until one year after the next LTS release. If you're on Oracle JDK in production and it's not the latest LTS within its free period, you likely need to pay.

Q2

Our vendor includes Java with their application — do we need our own license?

It depends on the vendor's agreement with Oracle. Some (Oracle itself, SAP, IBM) have OEM deals covering customer use. Many vendors don't — they expect you to install Java yourself. Always ask: "Does your product license Java for me?" If they can't confirm it's covered, assume you need to license it or use an alternative runtime.

Q3

What are the risks if we ignore these licensing changes?

Compliance liability and security exposure. Oracle audits have increased in frequency. Unlicensed Oracle JDK discoveries can lead to retroactive subscription bills running into six or seven figures. Running outdated Java without patches also creates cybersecurity risk from known vulnerabilities.

Q4

Is OpenJDK a drop-in replacement for Oracle's Java?

Yes, in most cases. Oracle's JDK is built on OpenJDK — the codebases are extremely close. Switching to Eclipse Temurin, Azul Zulu, IBM Semeru, or Amazon Corretto typically requires no code changes. Minor considerations: Oracle's old JRE installers and Java Web Start aren't always present in OpenJDK distributions, but workarounds exist.

Q5

How can we prepare for (or avoid) an Oracle Java audit?

Inventory where Oracle Java is used. Remove or replace unauthorized Oracle JDK installations with OpenJDK. Review contracts for Java audit rights. Run scans yourself beforehand. Being properly licensed or migrated greatly reduces stress — if Oracle finds everything on OpenJDK, the audit is uneventful. Be proactive: fix compliance gaps before an audit.

Read more about our Oracle Java Licensing Services.

Need Help with Java Licensing?

Redress Compliance provides independent Oracle Java advisory — from compliance assessments and audit defense to OEM negotiation and migration strategy.