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.
Java SE 8
Free updates stopped April 2019 for commercial use. Subscription required for patches.
Java SE 11
Never free for production under OTN. Subscription required from day one.
Java SE 17
NFTC free period closed late 2024 when Java 21 arrived. Pay or upgrade.
Java SE 21
Current LTS. Free under NFTC until ~1 year after Java 25 release (2025–26).
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.
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 (Eclipse Temurin, 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 license Java for every employee, regardless of how many actually use it. This can dramatically increase costs.
- Per-Employee Licensing: Oracle counts your entire workforce (full-time, part-time, contractors). This "whole enterprise" metric over-licenses your usage, driving up costs.
- Legacy vs. New Contracts: Pre-2023 subscriptions (user/processor-based) may renew on old metrics briefly, but new purchases are all employee-based. Expect pressure to transition.
- OEM Specific: Vendors may negotiate custom metrics (per device, per instance), but 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. 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
- OTN License (Java 8 updates >211, Java 11, etc.): Free for development, testing, prototyping, or personal use only. Production requires a paid license. Prohibits redistribution to third parties — not for OEM use.
- NFTC License (Java 17, 21, future LTS): Free in production for all users, but only for a limited time — until one year after the next LTS release. After that, it reverts to OTN-like status. Allows redistribution only "not for a fee" — likely disqualifies commercial OEM use.
Budget considerations: Oracle Java licensing costs — 20 things every CFO needs to know.
Decision Matrix: Oracle vs Third-Party vs Open Source
| Factor | Oracle Java SE Subscription | Third-Party Support (Azul, Red Hat, IBM) | Open Source OpenJDK (DIY) |
|---|---|---|---|
| Cost Model | High; per-employee enterprise-wide | Moderate; per server/instance/cores | Low/None; free to use |
| License Coverage | Full Oracle JDK rights. OEM requires separate terms. | OpenJDK build + support. Often includes redistribution rights. | GPL license. No fees to run or embed. |
| Support & Updates | Regular 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 Risk | Minimal 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. |
| Pros | Official 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. |
| Cons | Expensive 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. |
Recommendations
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).
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)?
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.
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.
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.
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.
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.
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.
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.
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
FAQ
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.
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.
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 aren't 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 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.