HomeJava Licensing › Embedded Java & OEM
☕ 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 8
Paid After Apr 2019
Java 11
Always Paid (OTN)
Java 17
Free Expired 2024
Java 21
Free Until ~2026

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, you need to understand which versions now require paid licences, when free public updates ended, and how Oracle's "free" terms actually 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 Licence (BCL). This changed in 2019 when Oracle ended free public updates for Java 8 and later versions in commercial settings. The BCL was replaced with the Oracle Technology Network (OTN) licence. Java became free only for personal use or development and testing.

Paid

Java SE 8

Free updates stopped April 2019 for commercial use. Subscription required for patches.

Paid

Java SE 11

Never free for production under OTN. Subscription required from day one.

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 approximately one 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 had ceased and the next security patch required purchasing Oracle's subscription. Many companies continued using outdated Java 8, risking security vulnerabilities. Others scrambled to budget for an unexpected expense.

Embedded Java in OEM Products: Hidden Compliance Risks

If you are 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 or 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 licence. 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.

  • Distribute Oracle Java with your product? You need an OEM agreement with Oracle and expect to pay. Standard downloads are licensed only for end-user use, not redistribution.
  • Rely on customers to install Java? Make it explicit in documentation. After 2019, customers may need a paid subscription. This creates friction and blame if they face an audit.
  • Better path: Bundle an open-source Java runtime such as Eclipse Temurin or Azul Zulu. Many providers (SAP, IBM) ship their own builds to sidestep Oracle licensing entirely.

Oracle's Java Subscription Model: Know Your Costs

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

Under the old model, a company paid approximately $25 per server per 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 per employee per month (list), a 25,000-employee company could owe over $2 million per year.

  • Per-Employee Licensing: Oracle counts your entire workforce including full-time, part-time, and contractors. This "whole enterprise" metric over-licences your usage and drives up costs.
  • Legacy vs. New Contracts: Pre-2023 subscriptions (user or processor-based) may renew on old metrics briefly. New purchases are all employee-based. Expect pressure to transition.
  • OEM Specific: Vendors may negotiate custom metrics (per device, per instance). Oracle tailors pricing to volume. Always model OEM fees vs. customer self-licensing.

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 let you run Java without Oracle's constraints, often at much lower cost.

These distributions share the same core codebase as Oracle JDK. Switching is usually straightforward. The main advantage is removing Oracle audit exposure entirely while still getting security patches, bug fixes, and long-term support.

Bundling scenarios: Oracle products bundling Java SE licences.

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

  • OTN Licence (Java 8 updates post-211, Java 11, etc.): Free for development, testing, prototyping, or personal use only. Production requires a paid licence. Prohibits redistribution to third parties. Not for OEM use.
  • NFTC Licence (Java 17, 21, future LTS): Free in production for all users, but only for a limited time. The free period ends one year after the next LTS release. After that, it reverts to OTN-like status. Allows redistribution only "not for a fee." This likely disqualifies commercial OEM use.

Real-World Scenario

A device manufacturer considered using NFTC to embed Java 17. 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-wide.Moderate. Per server, instance, or cores.Low or none. Free to use.
Licence CoverageFull Oracle JDK rights. OEM requires separate terms.OpenJDK build plus support. Often includes redistribution rights.GPL licence. No fees to run or embed.
Support & UpdatesRegular patches, bug fixes, phone and 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. 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.

Many enterprises adopt a hybrid approach. They pay Oracle for certain environments (or where Oracle software bundling forces them) but use OpenJDK elsewhere to minimise costs. Migrating from Oracle JDK to OpenJDK is usually straightforward since they share the same codebase.

Recommendations

  1. Audit your Java usage

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

  2. Identify licence requirements

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

  3. Engage with vendors

    Ask OEM vendors directly: "Does your product licence 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

    Do not 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 to 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 Licence Needs

Mark which installations require a paid licence under Oracle's rules. Do not forget embedded uses in OEM software and appliances.

💡

Decide Strategy per Use-Case

For each area: subscribe with Oracle, switch to third-party JDK and support, or upgrade and replace with OpenJDK? Prioritise 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

Which Java versions require a paid licence 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 are on Oracle JDK in production and it is not the latest LTS within its free period, you likely need to pay.

Our vendor includes Java with their application. Do we need our own licence?+

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

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.

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 are not always present in OpenJDK distributions, but workarounds exist.

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

Inventory where Oracle Java is used. Remove or replace unauthorised 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.

🛡️
Vendor Shield
Independent advisory. No vendor partnerships. No conflicts of interest. Your interests only.
Learn More
📨
Stay Ahead of Oracle
Get Java licensing intelligence, audit alerts, and cost-saving strategies. No spam. Unsubscribe anytime.
Subscribe