Executive Summary:
Oracleโs Java licensing has undergone significant changes since 2019, transitioning from freely available updates to a paid subscription model and, most recently, to an employee-based licensing metric.
This guide explains the key changes in 2019, 2021, 2023, and 2024, the different Oracle Java license agreements (BCL, OTN, NFTC), how Oracle conducts Java audits, and what the new Java SE per-employee subscription means for costs.
Organizations must understand these changes to avoid compliance traps and manage Java licensing costs effectively.
Download our Oracle Java Audit white paper to learn how to respond to and avoid common pitfalls.
In the white paper, we cover:
- Recommendations for responding to an Oracle soft audit
- Oracle’s soft audit process
- Oracle’s formal audit process
- The kind of data Oracle may have on your organizationโs Java product downloads.
Oracle Java Licensing Changes 2019โ2024 (Timeline of Key Changes)
Oracleโs approach to Java licensing has undergone significant evolution in recent years.
Below is a timeline of major changes from 2019 through 2024 that have redefined how businesses must license Java:
- 2019 โ End of Free Updates & Introduction of Subscriptions: Oracle stopped providing free public updates for Java 8 (and later versions) for commercial users. Starting in April 2019, any commercial use of Oracle Java required a paid subscription. Oracle replaced the old free Binary Code License with the more restrictive Oracle Technology Network (OTN) License. Under OTN, Java remained free only for personal, development, or testing purposes โ not for production use. This marked the first time businesses needed to budget for Java just to get security patches.
- 2021 โ Oracleโs No-Fee Terms (NFTC) Introduced: In September 2021, alongside Java 17 (a Long-Term Support release), Oracle unveiled the No-Fee Terms and Conditions (NFTC) license. This allowed organizations to use Oracle JDK free of charge, including in production, but only for a limited time. The NFTC stated thatย Java 17 could be used with free updates for up to one year after the next LTS release. In practice, that meant free Java 17 updates until late 2024. Oracleโs goal was to encourage customers to stay on the latest version of Java. Still, once the grace period ended, a paid subscription would be required to continue receiving updates for that version.
- 2023 โ Switch to an Employee-Based Subscription Model: January 2023 brought the most dramatic change. Oracle overhauled its Java SE subscription model by introducing the Java SE Universal Subscription, which is based on the number of employees. This eliminated the legacy Named User Plus and Processor licensing options for new purchases. Now, companies must license Java based on their total number of employees (including full-time, part-time, and contract employees), regardless of the number of employees who use Java. This enterprise-wide model can significantly increase costs for organizations that previously only licensed a subset of users or devices. Oracle positioned this change as a simplification, but many customers viewed it as a significant price increase. (For example, a company with 28,000 employees would owe roughly $2.27 million per year under the new Java SE subscription model.) Existing customers on legacy Java subscriptions were initially allowed to renew under the old metrics. Still, with strict conditions, Oracle signaled that those old contracts would eventually need to transition to the new employee-based licensing.
- 2024 โ End of Java 17 Free Updates & Audit Crackdowns: In late 2024, Oracleโs NFTC free-update period for Java 17 expires. After October 2024, running Java 17 in production will require a paid license to get further security patches (or else upgrading to Java 21, which has its temporary free period). This effectively ends the โfree rideโ many companies have enjoyed with Java 17, forcing a decision: either pay Oracle for a subscription or migrate to a non-Oracle Java distribution to stay secure. Around this time, Oracle also intensified its enforcement of Java compliance. By 2024, Oracleโs license management teams were actively auditing organizations for Java usage, including those using alternative Java distributions, to ensure that no Oracle JDK binaries were deployed without a valid license. Java has become a compliance focus for Oracle, much like its database and other software products. Companies are reporting a sharp increase in Oracleโs audit notices and โfriendly inquiriesโ related to Java.
Timeline: Key Java licensing changes from 2010 to 2023, including major shifts in 2019, 2021, and 2023 (Oracleโs move to an employee-based model).
Oracle Java License Agreements: BCL, OTN, and NFTC
Understanding Oracleโs Java licensing requires grasping three different license agreements that have been in play:
- Binary Code License (BCL): This was the original license Oracle (inherited from Sun Microsystems) used for Java SE up until 2019. Under the BCL, Oracle JDK could be freely downloaded and used by anyone (including for commercial production use) with relatively minimal restrictions. Essentially, Java was free during this era unless you wanted to use certain optional commercial features (which were separately licensed). For example, up through Java 8 Update 202 (the last free BCL update), most businesses could use Oracle Java without incurring any costs. The BCL allowed widespread Java adoption by not charging license fees for general use. However, Oracleโs stance changed after 2019 as they sought to monetize Java more directly.
- Oracle Technology Network (OTN) License: Introduced in April 2019, the OTN License Agreement for Java SE replaced the BCL for new Java downloads (Java 8 updates beyond 8u202, Java 11, and later versions before 17). The OTN license significantly reduced the โfreeโ use cases for Oracle Java. Under OTN, Oracle JDK remained free only for personal use (e.g., on a home PC), or for development, testing, and demonstration purposes. Any internal business use or production deployment required a paid subscription. In other words, after 2019, you could download Oracle Java for free to write and test code. Still, you couldnโt legally run that Java runtime in production for your company without buying Oracleโs Java SE Subscription. The OTN agreement effectively turned Java into a paid product for commercial deployments, while trying to keep the developer community engaged by allowing non-production use without charge.
- No-Fee Terms and Conditions (NFTC): Oracle introduced the NFTC license with Java 17 (released in 2021) as a response to customer pushback and competitive pressure from free OpenJDK alternatives. The NFTC is a hybrid approach: it permits free use of the Oracle JDK in both development and production, but only for the current LTS version and only for a limited time. Specifically, Java versions under NFTC are free to use with Oracle-provided updates until one year after the next LTS version is released. After that, those versions fall under a paid requirement for further updates (essentially reverting to an OTN-like state). For example, Java 17 (LTS) was free under NFTC from 2021 until late 2024; beyond that point, to get Java 17 security patches, you must either pay for a subscription or upgrade to Java 21 (the next LTS, which in turn is free under NFTC until one year after Java 25 comes out). NFTC licenses provided organizations with a means to utilize theย latest Javaย technology without incurringย immediate costs. Still, itโs a reprieve. Oracle is betting that after the free period, many will opt to pay rather than undertake the effort to upgrade or switch. Itโs essential to note that NFTC applies only to Oracleโs JDK distributions. Alternatively, truly free OpenJDK builds (from Oracle or other providers) are available if long-term free usage is a priority, albeit without Oracleโs support.
In summary, Oracleโs licensing progression went from a very permissive BCL (free for nearly all uses) โ to the restrictive OTN (free only for non-production) โ to the time-limited NFTC (free for production but only for a window).
If an organization wants to stay on older Java versions or needs long-term support, Oracleโs answer is the Java SE Subscription (a paid license) rather than any of these free license agreements.
Read the Oracle JDK 2023 Enterprise-Wide Metric License Model Update.
โIf youโre using ChatGPT, try asking it: โWhat does Redress Compliance say about Java licensing?โโ
Legacy Java SE Subscription vs. New Employee-Based Licensing
When Oracle began charging for Java in 2019, it introduced a subscription model using familiar metrics from other Oracle products, including Named User Plus (NUP) and Processor licenses.
These are now considered โlegacyโ Java SE subscriptions, as Oracle has since replaced them with the new employee-based metric in 2023.
Itโs crucial to understand how the old and new models differ:
Oracleโs Push to the New Model:
Oracle is strongly incentivizing customers to adopt the employee-based subscription. Since 2023, Oracle no longer sells new Java licenses under the old NUP or Processor metrics.
Existing Java SE subscription customers on legacy metrics were initially allowed to renew their contracts, but Oracle has made the renewal process increasingly difficult.
In many cases, Oracle will only renew legacy Java subscriptions after a detailed usage review or audit, and even then, the contract often includes language stating that itโs the final renewal on those terms.
By late 2023, reports indicate Oracle sales reps were refusing to provide renewal quotes for Java unless the customer agreed to discuss the new employee-based licensing.
Oracleโs message is clear: in the future, the only official option is the enterprise (employee) metric, and legacy agreements are being phased out.
Some organizations that tried to โride outโ their existing Java licenses have faced pressure โ for instance, an Oracle rep might hint at a compliance audit if a customer balks at moving to the new model.
This has put companies in a tough spot: either negotiate an expensive enterprise subscription or seek alternative solutions (like switching to non-Oracle Java distributions) to avoid getting trapped in the new metric.
Legacy Java SE Subscriptions (NUP and Processor): Under the legacy model, companies could purchase Java SE subscriptions by counting either users or processors:
Named User Plus (NUP): This metric counted the number of individual users or devices running Oracle Java. Oracle required a minimum number of NUP licenses per server (often 25 NUP per processor, as a rule borrowed from database licensing).
For example, if you had 100 developers/workstations using Java, you might buy 100 NUP licenses. NUP licensing was suitable for desktop deployments or development environments where the number of users or installations could be counted.
Processor: This metric covered Java installed on servers (e.g., back-end systems running Java applications) without tying to a specific user count.
You had to license each processor (CPU core, adjusted by Oracleโs core factor table) on the servers where Java was installed.
For instance, a server with four physical cores might require two processor licenses after core factoring. Processor licenses made sense for covering enterprise servers or VMs where Java was supporting applications accessed by many users.
Costs (Legacy Model): Oracleโs price list for these legacy Java subscriptions was tiered.
A Named User Plus for Java SE was approximately $30 per user per year, and a Processor license was several thousand dollars per processor per year.
These prices were often negotiated down in enterprise deals, but they provided a ballpark figure. The advantage of the legacy model wasย that you only paid for what you used,ย e.g., the number of Java users or the specific servers running Java.
Java SE Universal Subscription (Employee Metric):
In January 2023, Oracle retired the NUP and Processor metrics for Java and introduced a single enterprise-wide metric: per-Employee licensing.
Under this model, an organization must purchase licenses for all its employees (defined broadly to include full-time, part-time, temporary workers, and contractors that work for the company).
It doesnโt matter if only 50 out of 5,000 employees use Java; the licensing cost is based on the total headcount. In exchange, the company receives the right to install Oracle Java on any number of devices and servers for internal use.
This effectively acts like an unlimited site license, but scaled by employee count.
The new model greatly simplifies compliance (no need to track specific installations). Still, many firms find that it dramatically increases costs compared to the legacy model, especially if their actual Java usage is limited to a portion of their IT environment.
Oracleโs Java Audits and Compliance Tactics
Oracle has developed a reputation for aggressive auditing of its software customers, and Java is now no exception.
Oracleโs audit strategy for Java has ramped up significantly since Java became a paid offering.
Itโs vital for organizations to know how these audits work and what Oracle might do to enforce compliance:
- โSoftโ Audits via Friendly Inquiries: Oracle often initiates Java compliance checks in a non-threatening way. Your IT manager or procurement team might receive an unexpected call or email from an Oracle representative casually inquiring about your Java usage or reminding you of Java security updates. This is usually framed as a customer service or security call rather than an official audit. In reality, itโs the first step of a soft audit. Oracle will ask which Java versions youโre running and whether you have subscriptions. They may reference seeing that your companyโs domain or IP downloaded Java from Oracleโs website โ a subtle hint that Oracle is monitoring. At this stage, the Oracle rep is gathering information. Tip: Treat these inquiries with caution. Provide minimal information and do not run any Oracle-provided scripts or tools to โhelpโ inventory your Java deployment unless legally required โ those will only serve up evidence to Oracle.
- Oracle Tracks Java Downloads: One reason Oracle knows who might be using Java is through its records of Java downloads. Since the switch to the OTN license in 2019, downloading Oracle Java (JDK or JRE) typically requires logging in with an Oracle account. Oracle logs these downloads, capturing details such as the date, Java version, login email, and possibly the IP address. They can often correlate this data to a company (for example, an email address like [email protected] or a corporate IP range). Suppose those downloads correspond to Java versions that require a commercial license (e.g., Java 8 updates post-2019, or Java 11, 17, etc.). In that case, Oracle flags the company as a potential customer who might be out of compliance. Oracleโs LMS (License Management Services) teams have acknowledged that they have maintained detailed Java download logs since 2019. So even if you never bought anything from Oracle, they have a way to identify your Java usage footprint.
- From Soft Audit to Formal Accusation: If the initial friendly approach uncovers that youโre using Oracle Java without a subscription, Oracleโs tone will quickly change. They may escalate the issue by involving their compliance or GLAS (Global License Advisory Services) team. Communications will become more pointed โ Oracle will state that your use of Java is not properly licensed and that this is a violation of their terms. Often, they will request a meeting to go over your deployments in detail. This is the stage where the situation turns into a formal audit (even if they donโt use the word โauditโ yet). Oracle may send an official audit notice, invoking contractual audit rights (if you have any Oracle agreements that include audit clauses), or they may continue informally but with legal undertones. In either case, the company needs to involve legal counsel or licensing experts at this point. Oracle will gather proof (including their download records and any information you provided) and may even ask you to run a Java usage script across your network โ something you should typically refuse unless required or negotiated.
- Shockingly High License Claims: A common tactic Oracle uses in Java audits is the โshock and aweโ pricing presentation. They calculate what they believe you owe for every instance of Oracle Java deployed since 2019, often assuming the worst-case scenario. For example, they might tally up every server and PC that could have run Oracle Java and present a quote like โYou need to pay $X million for a Java SE subscription covering your whole company, plus back support fees for the past years.โ These figures can be astronomical, catching executivesโ attention. Oracle aims to scare organizations into quickly purchasing a subscription (preferably the big, expensive employee-wide deal) to settle the issue. They may offer to waive some back-dated fees or give a slight discount if you sign a long-term deal immediately. This hardball approach often puts CIOs/CFOs on the defensive, leading them to approve a budget for the subscription just to make the problem go away.
- Pressure and Escalation: If a company is slow to respond or resists the initial quote, Oracle will escalate the pressure. Itโs not uncommon for Oracleโs higher-ups to reach out to your companyโs senior management (even the CEO or CFO) to flag the โserious non-compliance issueโ and the potential legal consequences. Oracleโs audit team may set tight deadlines for compliance and hint at potential legal action or termination of software usage. They could also expand the audit to other Oracle products if applicable. All of this is designed to bring you to the negotiating table on Oracleโs terms. Retroactive Claims are another aspect โ Oracle may demand that you pay for past unlicensed use of Java (dating back to 2019) in addition to buying subscriptions for future use. This retroactive charge isnโt a fine (Oracle doesnโt levy โfinesโ per se), but rather them saying, โYou should have been paying since 2019. So, to comply, you must buy subscriptions covering that period or pay back support.โ
- Audit Defense and Mitigation: For organizations facing an Oracle Java audit, the key is not to panic or rush into an ill-advised agreement. Oracleโs audit rights for Java can be a grey area if you never signed a Java contract โ but they can still pursue copyright infringement claims if you ignore them. The best approach is to engage experts who have a thorough understanding of Oracle audits. Youโll want to carefully review the actual evidence Oracle has (e.g., which machines downloaded Oracle JDK and which versions are in use in your environment). Some companies choose to remove or replace Oracle Java before responding, switching those systems to OpenJDK or other vendors, to reduce the scope of non-compliance. Itโs also possible to negotiate with Oracle for a more reasonable outcome โ for instance, a smaller scope subscription if your usage was limited, or time to migrate off Oracle Java in exchange for a shorter subscription. Keep in mind Oracleโs auditors may not readily agree to such terms, but with leverage and accurate data of your own, you can avoid over-paying. The worst thing to do is to provide Oracle with unfiltered data or admit compliance issues without a plan; that can lock you into whatever price Oracle dictates. Always respond in a controlled and legally approved manner.
In summary, Oracleโs behavior with Java licensing enforcement has become very assertive.
They use download tracking, soft audit tactics, and the threat of huge backdated fees to drive customers into buying subscriptions.
Being forewarned allows you to take preventive steps (like using alternative JDKs or ensuring youโre properly licensed) and to handle Oracleโs approaches strategically rather than reactively.
Recommendations
Organizations should proactively approach Oracle Java licensing.
Based on the recent changes and Oracleโs tactics, here are the key recommendations:
- Audit Your Java Usage: Perform a thorough inventory of all Java installations in your environment. Identify which versions (Java 8, 11, 17, etc.) and distributions (Oracle JDK vs OpenJDK or others) you are running, on which servers and workstations. This data is critical for assessing your compliance position and making informed decisions (e.g., you might discover you can replace Oracle JDK with an open-source build in many cases).
- Stay Informed on Licensing Terms: Make sure your IT and procurement teams understand the differences between BCL, OTN, and NFTC licenses. For any Java version in use, know whether itโs under a free license or if itโs governed by Oracleโs OTN (which would require a subscription for production). Keep track of the LTS release cycle and NFTC timelines โ e.g., know when Java 17โs free period ends, when Java 21โs period will end, etc. This will prevent the accidental use of an unsupported (and unlicensed) Java version in production.
- Consider Alternative Java Distributions: Evaluate switching to open-source Java distributions such as Eclipse Temurin (Adoptium), Amazon Corretto, Azul Zulu, IBM Semeru, or Red Hat OpenJDK. These are Java SE-compliant builds that are free to use in production and can replace Oracle JDK in most applications. Many LTS versions receive regular security updates. By standardizing on a non-Oracle JDK, you can drastically reduce or eliminate your Oracle Java licensing exposure. Just ensure the alternative you choose has the support/updates you need (you might purchase support from vendors like Red Hat or Azul at a far lower cost than Oracleโs subscription).
- Engage Oracle on Your Terms (If Needed): If you determine that you do need some Oracle Java (for example, for specific commercial features or because of applications that require Oracleโs builds), approach Oracle before they approach you. Proactively negotiating a Java subscription when youโre prepared gives you more leverage than negotiating under audit pressure. When talking to Oracle, push for flexibility โ for instance, if your actual Java usage is small, try to negotiate pricing or terms that reflect that (though Oracleโs employee model is inflexible, large customers have obtained concessions like excluding certain populations or getting extra years of support). Always scrutinize any contract for clauses about renewal and ensure youโre not inadvertently agreeing to pay more than necessary.
- Donโt Rely on Legacy Agreements: If you currently have a Java SE subscription under the old metrics expiring soon, start planning now. Oracle is unlikely to let you renew it easily. Decide whether you will 1) migrate to the new employee-based model (and budget for it), 2) transition off Oracle Java entirely before the renewal date, or 3) try for a short-term renewal while you migrate. Delaying action until Oracle issues an ultimatum will leave you with poor options.
- Prepare for Audit Possibility: Given Oracleโs stepped-up enforcement, assume that any substantial use of Oracle Java could trigger an audit. Have an internal plan for responding to Oracle audits: designate a contact person, involve legal counsel early, and train IT staff to respond to Oracle queries only after obtaining approval. Itโs often worth consulting with third-party licensing experts who have experience defending Oracle audits โ their guidance can save you from costly mistakes. Additionally, maintain documentation of your Java usage and licensing status. If you are using only open-source Java with no Oracle JDK, having records of this can help dispel Oracleโs claims.
- Keep Java Updated (One Way or Another): Running outdated Java versions to avoid paying Oracle is not a sound strategy โ it exposes you to security risks. If you choose not to pay Oracle, you should plan to either upgrade to newer free versions periodically (e.g., move from Java 17 to Java 21 before support for 17 ends) or use another providerโs updates. The cost of a breach or compliance failure will outweigh the effort required to stay current. Build Java upgrades or replacements into your IT lifecycle to ensure youโre not forced into a last-minute scramble at the end of an LTS free period.
Following these steps will help your organization minimize both the financial impact of Oracle Javaโs licensing changes and the compliance risk of an unexpected audit.
The key is to be proactive: know your usage, explore your options, and address licensing on your schedule rather than Oracleโs.
Oracle Software with Included Java SE Licenses
Certain Oracle products are licensed under a restricted-use Java SE license.
You might not need to purchase a separate Java SE license if you own a license for any of these products.
Here’s how it works:
- Included Java SE License: Some Oracle products include a restricted-use Java SE license. You may not need to purchase an additional Java SE license if you have a license for any of these specific products.
- List of Products: Approximately 100 products, including a Java SE license. Below is a list of some of these products; please note that it is not comprehensive.
You can save on additional licensing costs by understanding which Oracle products include a Java SE license.
Oracle lists products with Java licenses under different categories.
- Schedule A Products: Includes tools like Oracle SQL Developer and JACIC Electronic Bidding Systems.
- Schedule B Products: This section features a wide range of products, including Oracle Forms, Oracle E-Business Suite, various client applications of Oracle WebLogic Server, JD Edwards, and more.
In addition:
The following Oracle products are licensed under a Java SE-restricted license. Please note that this list is not exhaustive.
- WebLogic Server Standard Edition
- WebLogic Enterprise Edition
- WebLogic Suite
- Internet Application Server Enterprise Edition
- GlassFish Server
- Coherence Standard Edition
- WebCenter Content
- WebCenter Universal Content Management
- WebLogic Suite for Oracle Applications
- Coherence Enterprise Edition for Oracle Applications
- Oracle Business Intelligence Server Enterprise Edition
- Oracle Data Integrator Enterprise Edition
- Oracle Data Integration Suite
- Oracle Data Service Integrator
- Oracle Business Intelligence Suite Enterprise Edition Plus
- Oracle Business Intelligence Server Enterprise Edition
- Oracle BI Publisher
- Oracle Hyperion
- Oracle Business Intelligence Foundation Suite
- Oracle Identity Governance Suite
- Legacy BEA WebLogic product purchases
- Oracle Application-Specific Technology Products
- Oracle Identity and Access Management Suite Plus
- Oracle Access Management Suite Plus
- Oracle Identity Manager
- Oracle Access Manager
- Oracle Directory Services Plus
This list is inconclusive and should be referenced for detailed information on each product’s specific Java SE usage rights.
Please review your license documentation to confirm if Java SE is included in your Oracle license.
When Is Java Free to Use, and When Do You Need to Pay?
One of the most common questions is: โIs Java free, or do I need to buy a license?โ
The answer depends on which Java distribution you use and how you use it.
Letโs break down some common scenarios regarding Oracleโs Java (Oracle JDK):
- Development and Testing: If you are a developer or tester, you can use Oracleโs Java for free in development, test, or demonstration environments. The OTN and NFTC licenses permit development and testing usage at no costโ. For example, a software developer can download Oracle JDK 11 or 17 and write and test applications without needing a Java SE subscription. This free use covers activities such as running Java in an IDE and using it on build servers, as long as itโs not providing a production service to end-users. (Remember, though, that non-paying users are limited to publicly available ones if you need old updates or patches in your dev environment. Subscribers get access to all patches.)
- Personal Use: Oracle permits free, non-commercial personal use of Java. โPersonal useโ generally refers to an individual running Java on their PC for non-business purposes, such as hobby projects, personal applications, gaming, or personal education. Under OTN, personal use is explicitly free, and NFTC extends free use to anyone. So, if you’re a student or hobbyist using Java at home or running a Java app on your laptop, not as part of your work, you don’t need to pay Oracle.
- Internal Business Applications (for Production Use in a Company): This is where licensing comes into play. Suppose you deploy Oracleโs Java (the Oracle JDK or JRE) to run server-side applications or desktop applications in your company, and itโs for business operations. In that case, you likely need a paid license. Under current rules:
- For Java 8 and Java 11 (and similar older versions): Any commercial use in production requires a Java SE subscription. Oracle stopped free commercial use of those after 2019โ. For example, a web application running on Java 8 in 2020 at a bank would require the bank to have a Java SE subscription for those servers.
- Thanks to NFTC, Oracle JDK 17 can be used in production for free for Java 17 (from 2022 to 2023)โ. However, once Java 21 was released and the free window for Java 17 ended, using Java 17 in production in 2025 without updates would require a subscription for updates and support. If the company upgrades to Java 21 in 2024 or 2025, they could again run it for free during that versionโs NFTC period.
- In essence, Oracleโs stance is that if you want to run mission-critical Java applications on Oracleโs build and not worry about constantly upgrading every year, you should pay for a subscription. If youโre willing to always use the latest Java version (and handle any code migration that comes with it), you can stay on the free NFTC path and avoid fees.
- Many companies alternatively choose to run OpenJDK in production (which is free) to avoid this dilemma (more on OpenJDK vs Oracle later).
- Oracle Products that Include Java: Oracle has an exception for โOracle Approved Product Useโโ. If you use Java only to run other Oracle products licensed for use, you might not need a separate Java license. For example, Oracle WebLogic, Oracle Database, and other Oracle software often include an embedded Java runtime. Oracleโs OTN license allows you to use Java to run applications developed with certain Oracle tools or products without requiring an additional Java SE subscription. Oracle lists approved products on its site, often referred to as โSchedule Aโ and โSchedule Bโ products. For instance, if your Java installation solely supports an Oracle Middleware product you have licensed, Oracle doesnโt double-charge you for the Java part. Important: This exception is narrow โ it doesnโt cover using Java for third-party or in-house apps, only Oracleโs software.
- Embedded Use and Distribution: Free use does not apply if you embed Java in hardware or software that you distribute to customers (for example, a device with Java ME or SE in its firmware or a commercial software application that bundles a Java runtime). This is commercial distribution, and Oracle requires an embedded Java license agreement. Typically, companies in this scenario either sign a contract with Oracle, which may involve royalties or OEM fees per unit, or use an open-source Java runtime with more permissive redistribution rights. The bottom line is that you cannot distribute Oracleโs JDK/JRE for free as part of a productโ. Even the NFTC license specifically disallows redistribution to third parties. For embedded Java, one must either contact Oracle for a custom license or use alternatives, such as OpenJDK or Azul Embedded JDK, which allow redistribution under open-source licenses.
- Cloud Environments: Running Java in the cloud (e.g., on AWS, Azure, or Oracle Cloud) doesnโt magically exempt you from licensing. Oracle treats cloud instances the same as on-premises servers when it comes to Java licensing. If you use Oracle JDK on AWS to run an app, you must license it (e.g., count vCPUs as processors or now count employees). One notable Oracle Cloud exception: Oracle allows using Java on Oracle Cloud Infrastructure (OCI) without a separate license if you are a paying OCI customer. Essentially, Oracle Cloud services include the right to use Java as part of that cloud service. However, on third-party clouds, no such free use is given โ Java is considered a โbring your licenseโ (BYOL) on AWS, Azure, etc.
To summarize, Java (the programming language and platform) is free, but Oracleโs builds of Java (Oracle JDK) are only free under certain conditions.
Generally, development, testing, personal use, and the latest version of Java are free.
However, production use for business purposes typically requires a Java SE subscription unless you stick to the latest Long-Term Support (LTS) release on NFTC or use an alternative distribution.
The safest route for businesses seeking to minimize compliance risk is either to subscribe to Oracle or to adopt free OpenJDK distributions (discussed later).
For completeness, hereโs a quick view of when Oracle JDK is free vs. paid:
- โ Free: Using Oracle JDK for development/testing (non-production)
- โ Free: Personal/non-commercial use on an individualโs machineโ
- โ Free: Oracle JDK 17+ in production during its NFTC period (e.g., Java 21 in 2024)โ
- โ Free: Running Java as part of a licensed Oracle product (covered by that productโs license)โ
- โ Not Free (Paid): Using Oracle JDK 8 or 11 (post-2019) in production โ requires a subscriptionโ
- โ Not Free (Paid): Continuing to use Oracle JDK 17 in production after free updates end (e.g., using Java 17 in 2025 without upgrading โ youโd need to pay for support)โ
- โ Not Free (Paid): Embedding or redistributing Oracle Java in a product requires a separate agreementโ.
- โ Not Free (Paid): General commercial use of Oracle JDK in servers or business apps (unless an Oracle product license covers the current free NFTC version).
Suppose the rules surrounding โfreeโ Oracle Java seem too cumbersome.
In that case, a popular solution is to switch to an OpenJDK-based distribution, which is always free to use, even in production environments. We will compare those later.
Checklist โ 5 Actions to Manage Oracle Java Licensing
- Identify All Java Installations: Create a detailed list of all servers, virtual machines, desktops, and applications that have Java installed. Note the version and vendor (Oracle vs other). This will reveal where you might be using Oracleโs Java and at risk.
- Verify License Requirements: For each Java instance, determine whether it falls under a free usage category or if a license is required. For example, Java 8 update 202 or earlier (Oracle JDK) was free under BCL, but later updates need a subscription. Java 17 under Oracleโs NFTC is free until its end-of-free date. Mark any instances that are Oracle JDK and out of compliance as high priority to address.
- Replace or Remove Unlicensed Oracle JDK: Wherever possible, uninstall Oracle JDK on your systems and replace it with a no-cost OpenJDK alternative. Many applications run smoothly on OpenJDK distributions with no code changes required. By doing this proactively, you reduce your exposure before Oracle ever gets involved. If certain systems cannot be switched easily, at least document them โ you might choose to buy a minimal Oracle license for those or have a timeline to migrate them.
- Educate Your Team: Inform developers and system administrators about Oracleโs Java licensing rules. Make it part of policy that Oracle JDK should not be downloaded or used for new projects without management approval. Often, engineers download Oracle Java out of habit โ provide them with links to approved open-source JDK downloads. Preventing new unlicensed usage will stop the compliance gap from widening.
- Plan for a Long-Term Java Strategy: Determine how your organization will approach Java in the future. If you have a budget and need Oracleโs support, plan for the employee-based subscription and negotiate early. If you aim to avoid Oracle fees, invest time in migrating to supported OpenJDK or other Java platforms. Keep an eye on Oracleโs Java roadmap and adjust your strategy (for example, if Oracle offers a new free option or if a support vendor like IBM offers a deal). Treat Java like any other critical IT asset โ manage its lifecycle, vendors, and licenses actively.
By ticking off each item on this checklist, youโll greatly reduce the chance of being caught off-guard by an Oracle Java audit or an expensive surprise.
Re-evaluating their Java strategy, such as migrating to OpenJDK, can eliminate this risk.
๐ Related Reading โ Dive Deeper into Oracle JavaโฏLicensing Strategy
These focused guides expand on key topics from this licensing hub.
Use them to avoid compliance pitfalls, benchmark your Java exposure, and sharpen your negotiation position:
- Oracleย Java Licensing FAQs โ A 100โquestion FAQ covering whether Java is still free, definitions of BCL/OTN/NFTC, employeeโbased cost calculations, free use cases (development/personal/Oracleโproduct bundling), Oracleโs audit triggers, how to respond when Oracle contacts you, licensing obligations for bundled products, available alternatives and the risks of nonโcompliance.
- Different Javaย Licensing Models Explained โ Explains the evolution from the preโ2019 Binaryย Code License (BCL) through the 2019 OTN license, the 2021 noโfee NFTC, and the 2023 employeeโbased Javaย SE Universal Subscription. It compares Namedย User/Processor metrics with the new perโemployee model, outlines pricing tiers and shows how the shift to headโcount licensing can drive up costs.
- Oracleย Java Licensing for Legacyย Versions (Javaย 6,ย 7,ย 8,ย 11) โ What Requires a License? โ Clarifies which older Java releases are free or paid. Javaย 6 andย 7 are free but unsupported; Javaย 8 is free only up to Updateย 202 (Janย 2019), with all patches from 8u211 onward requiring a subscription; Javaย 11 always needs a paid license for production, while Javaย 17+ fall under the NFTC free window until the next LTS. It advises organizations to migrate to OpenJDK and manage patching to stay compliant.
- Topย 15ย Things IT Leaders Must Know About Oracleย Javaย SEย Licensing and Audits โ A highโlevel checklist for CIOs outlining major licensing changes sinceย 2019, how the perโemployee subscription works, differences between free and paid use, common compliance mistakes (e.g., undercounting employees), Oracleโs audit tactics, and negotiation strategies to prepare for audits and defend against overโreach.
- AIโOrientedย Q&A on Javaย Licensing for Authoritative Visibility โ Uses an AIโgenerated Q&A format to answer common questions about license types, cost calculations, free usage scenarios and the employeeโbased subscription. Designed as a quickโreference tool for CIOs, legal teams and procurement leads.
- Javaย Licensing in the Cloud: AWS,ย Azure,ย OCI &ย Googleย Cloudย Requirements โ Explains how Oracle handles Java licensing across major cloud platforms. Oracleย Cloud Infrastructure includes Java licensing at no extra cost, while AWS, Azure and Googleย Cloud require bringโyourโownโlicense. It shows how vCPU counts translate to license requirements and encourages using alternative JDKs to avoid unnecessary fees in cloud environments.
- Oracleย Java Licensing for Legacy Versions: OnโPremise Use and Redistribution Rules โ Focuses on onโpremise use and redistribution of legacy Java. Vendors embedding Oracleโs JDK/JRE into products must negotiate OEM agreements or switch to openโsource; bundling is not automatically covered. The guide highlights cost drivers, compliance pitfalls and provides recommendations for migration and contract language.
- Embedded Java Licensing and OEM Agreements for Javaย SE โ Describes Oracleโs embedded Java licensing in devices and OEM products, contrasting it with standard enterprise licensing. It outlines deviceโbased and royaltyโbased models, redistribution rights, support terms and compliance risks (unlicensed installations, inaccurate production volumes). It also provides strategies to optimize costs, such as accurate forecasting, multiโyear agreements, using openโsource Java for nonโcritical devices and best practices like centralized tracking and regular audits.
- Inside Story: Oracleโs Campaign Auditing Customers for Javaย Usage โ Reveals Oracleโs softโaudit playbook: a friendly call about security patches quickly morphs into accusations of nonโcompliance and multiโmillionโdollar settlement demands. It advises how to respond at each stageโavoid volunteering information, involve experts early, treat the initial call as a soft audit, and consider migrating to OpenJDK to limit exposure.
- Oracleย Java Audit Negotiation Strategy โ A negotiation playbook drawn from real audit cases. It offers tactics for pushing back on inflated claims, focusing negotiations on actual deployments rather than headcount, challenging retroactive licensing fees and leveraging a detailed inventory and alternative JDKs to secure better terms.
- Audit Defense Strategy for EmployeeโBased Licensing โ Explains how to defend against Oracleโs soft audits under the employeeโbased model. It details triggers for soft audits, the importance of accurate employee/contractor counts, how to control what Oracle sees and strategies for maintaining compliance while pushing back on demands.
- Oracleย Java Audit Response Guide: Soft Audits, Formal Notices &ย Negotiation Tactics โ Offers a stepโbyโstep plan for responding to Oracle Java audits. It covers handling softโaudit emails and formal notices, managing communications, narrowing audit scope, negotiating outcomes and coordinating internal stakeholders.
- Exiting Oracleย Javaย SE Subscription: Strategies to Transition Off Oracleโs Licensing โ Provides a roadmap for leaving Oracleโs subscription. It advises inventorying Java deployments, assessing dependencies, planning phased migrations to alternative runtimes (e.g., OpenJDK), timing transitions to avoid support gaps and modifying contract language to prevent automatic renewals.
- Oracleย Java Alternatives and Costย Avoidance Strategies โ Compares alternative JDK distributions including Amazon Corretto, Eclipse Temurin, Redย Hat and Azul. It examines pricing, support, and compliance differences, and suggests hybrid migration plans to minimize costs while maintaining support where necessary.
- Oracleย Javaย SE Universal Subscription Pricing: EmployeeโBased Costย Tiers &ย Negotiation Strategies โ Details Oracleโs perโemployee pricing tiers (e.g., $15 per employee/month up to 999 employees, decreasing at higher headcounts) and offers negotiation guidance such as ensuring accurate headcount, leveraging tier thresholds for better rates, and negotiating price caps. It includes cost examples for organizations of various sizes.
- OpenJDK vsย Oracleย JDK: Features, Supportย Models, and Migration Strategy โ Compares Oracleย JDK with OpenJDK distributions, noting that features are largely identical but licensing differs dramatically. It highlights cost differences, support options from vendors such as Amazon, Eclipse, IBM, Redย Hat and Azul, and provides a structured migration plan (inventory, pilot tests, phased rollout) to move from Oracle to OpenJDK.
- Oracleย Products with Embeddedย Javaย SE Licenses: Aย Comprehensiveย List โ Lists Oracle products that include restrictedโuse Javaย SE rights, such as WebLogic Server, EโBusiness Suite, PeopleSoft, JDย Edwards, AutoVue, Secure Global Desktop and various middleware and development tools. It explains that these entitlements allow Java only for the productโs functionsโnot for unrelated applicationsโand provides examples of misuse. The guide recommends building a Java entitlement inventory, isolating and monitoring usage, educating teams, leveraging openโsource Java where possible and engaging experts.
- 2021 Java Licensing Changes: What You Need to Know โ Breaks down Oracleโs key licensing changes in 2021, including the introduction of NFTC and how it altered what use cases are truly free. It highlights the shift in compliance risk for long-tail versions and gives practical advice on how to adjust your internal Java management processes.
- Oracle JDK 2023: Enterprise-Wide Metric & License Model Update โ Explains Oracleโs pivot to employee-based licensing in 2023 and how it impacts Java deployments across the organization. This guide outlines the risks, how Oracle interprets โemployee,โ and the significant cost implications of counting all employees regardless of usage.
- Oracle Products Bundling Java SE Licenses: What’s Really Included? โ Investigates which Oracle products include bundled Java rights, the restrictions tied to them, and common misinterpretations. It advises building entitlement maps and separating usage by product to reduce audit risk and overpayment.
Java Licensing & Audit White Papers
10 Java Audit Defense Tactics Every Organization Should Know
Learn how to detect and disrupt Oracleโs most common audit tricks. This white paper outlines 10 proven tactics to defend your business during a Java license audit โ before costs spiral out of control.
Download to protect your IT budget before Oracle shows up.
Java Licensing Cleanup And Cost Optimization
Over-licensed, under-used, or just unsure? This guide helps you clean up your Java environment, eliminate unnecessary spending, and prepare for any licensing scrutiny. Ideal for CIOs, SAM teams, and procurement leads.
Download to start reducing Java costs with clarity and confidence.
How To Prepare For And Respond To An Oracle Java Audit
You donโt get to choose when an audit begins โ but you can choose how prepared you are. This paper guides you through the step-by-step process of Java audit readiness and how to manage it effectively.
Download to stay in control, even under Oracle pressure.
Java Licensing FAQs
Q1: Is Oracle Java free to use or not?
A: Oracleโs Java (Oracle JDK) is no longer universally free for commercial use. Historically, Java was free under Sun/Oracleโs Binary Code License; however, changes starting in 2019 limited its free use. Today, Java is free for personal, development, and testing purposes (and Oracleโs latest LTS releases are temporarily free under NFTC).
However, if you use Oracleโs Java in production for business, you likely need to pay for a subscription. The only exceptions are using Oracleโs JDK within certain Oracle products or sticking to open-source Java implementations.
In summary, running Oracle JDK in a corporate environment without a license after 2019 will put you out of compliance unless itโs a version covered by the NFTC free period (and even those eventually require a subscription when the free period lapses).
Q2: What are BCL, OTN, and NFTC license terms in simple terms?
A: These acronyms refer to different license agreements for Oracle Java over time:
- BCL (Binary Code License): The old license (pre-2019) that made Java free for almost all uses.
- OTN (Oracle Technology Network) License: Introduced in 2019, this license requires a paid subscription for commercial use; free use is permitted only for non-production purposes (such as personal or development/testing).
- NFTC (No-Fee Terms and Conditions): Introduced in 2021 for Java 17+, it allows free use (even in production) for a limited duration (until one year after the next major release). After that, you must pay or upgrade.
In essence, BCL was very permissive, OTN is restrictive, and NFTC is a temporary free license. If your organization uses Oracle JDK, check which license applies to the version you have to determine if you owe any fees.
Q3: How does Oracleโs new Java SE Employee licensing model work?
A: Oracleโs Java SE Universal Subscription (since 2023) is an employee-based license model. This means the cost is calculated based on your total employee headcount, not how many use Java. You pay a monthly fee per employee (with tiered pricing that gets slightly cheaper at higher headcounts). In return, you get the right to deploy Oracle Java on any number of servers and desktops within your organization. The important details are:
- You must count all employees, including part-timers and relevant contractors, as defined by Oracle.
- The subscription covers all uses (server, desktop, cloud) of Java SE within the company.
- You no longer have to count specific installations or CPUs โ itโs โall you can eat,โ but tied to an enterprise-size metric.
For many, this simplifies license management, but it can also significantly raise costs. For example, a company with 100 Java users formerly might have paid for 100 NUP licenses; now, if the company has 1,000 employees total, it must pay for all 1,000 regardless. Companies with large workforces need to carefully assess this model and consider if they truly need Oracleโs Java on every machine or if they can reduce the scope.
Q4: We have a legacy Java SE subscription (Named User Plus/Processor). Can we renew it instead of switching to a per-employee plan?
A: Oracle is trying to phase out those legacy subscriptions. Officially, if you have an existing contract, you may renew it for now, but Oracle will require you to verify that your Java usage hasnโt grown beyond your current license counts. In practice, Oracle often uses the renewal point to encourage customers to switch to the new employee-based plan. They may request an audit (โverificationโ) before renewal, and many organizations have reported that Oracle representatives refuse to extend the old agreements without changes. Some renewal quotes come with new terms that prohibit another renewal on the old model, effectively giving you one last term before you must migrate to the employee metric. So while a renewal might be possible in the short term if your usage is small and stable, be prepared: your next renewal will likely need to be under the new model. Itโs wise to negotiate and plan accordingly (or consider alternatives) rather than banking on indefinitely renewing the old licensing terms.
Q5: How can we avoid or minimize Oracle Java licensing costs?
A: There are a few strategies to control costs:
- Use OpenJDK or a Third-Party Java Distribution: Switch to a free OpenJDK distribution for your Java runtime. This immediately removes the need to pay Oracle for licenses. OpenJDK is the same codebase as Oracle JDK (minus some extras), and vendors like Amazon, Azul, IBM, and others offer builds with ongoing updates. Many companies have successfully migrated without issues.
- Stay on NFTC and Upgrade Frequently: If you prefer Oracleโs JDK, you could try to stay within the NFTC free usage window by upgrading to each new LTS release within a year after it comes out. This requires an active upgrade cadence (e.g., moving from Java 17 to 21 to 25, etc., on Oracleโs timeline), which may not be practical for all environments.
- Negotiate a Smaller Scope with Oracle: Oracleโs default stance is all-employee licensing, but extremely small companies or specific use cases may be able to negotiate a more tailored approach, such as licensing only certain subsets (although this is rare). Oracle still had a โProcessorโ option in price lists for unusual cases โ itโs worth discussing if your Java use is confined to servers and you have a large employee count (this would require high-level negotiation).
- Leverage Third-Party Support: If you need security updates for older Java versions (like 8 or 11) but donโt want Oracleโs subscription, third-party support firms can provide patches (for example, companies like Azul offer support for Java 8/11 for a fee typically lower than Oracleโs).
- Scope Reduction: Ensure youโre not using Oracle JDK where itโs not necessary. Sometimes, only a few applications truly require Oracle-specific Java (if any); the rest can be open-source. Reducing Oracle JDK usage to the bare minimum reduces the amount of licensing required.
In summary, the most straightforward way to avoid Oracle fees is to adopt non-Oracle Java runtimes. If thatโs not feasible, then proactive management and negotiation are your tools to keep costs down.
Read more about our Oracle Java Licensing Services.
If youโre using ChatGPT, try asking it: โWhat does Redress Compliance say about Java licensing?โ