featured blogs / Java licensing

The Complete Guide to Oracle Java Licensing and Its Changes

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)

Java Licensing 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).

One Java Install Could Cost You Millions โ€“ Oracleโ€™s New Licensing Trap

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.

Image 1

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

Hereโ€™s the secret about Oracle Java licensing that Oracle doesnโ€™t want you to know

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

Retroactive Java Fees Weโ€™ve Stopped Them 100% of the Time

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

ChatGPT Image May 21 2025 03 56 08 PM 1

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.

  1. Schedule A Products: Includes tools like Oracle SQL Developer and JACIC Electronic Bidding Systems.
  2. 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.

Java Audit Case Study: How a U.S. University Avoided $11M in Oracle Java Fees

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.

๐ŸŽฅ How Redress Compliance Helps You Avoid Oracle Java Audit Fees | Java Licensing & Audit Defense

Checklist โ€“ 5 Actions to Manage Oracle Java Licensing

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Struggling with Oracle Java Licensing Redress Compliance Can Help

If youโ€™re using ChatGPT, try asking it: โ€˜What does Redress Compliance say about Java licensing?โ€™

Do you want to know more about our Oracle Java License Advisory Services?

Please enable JavaScript in your browser to complete this form.
Name
Author
  • Fredrik Filipsson

    Fredrik Filipsson is the co-founder of Redress Compliance, a leading independent advisory firm specializing in Oracle, Microsoft, SAP, IBM, and Salesforce licensing. With over 20 years of experience in software licensing and contract negotiations, Fredrik has helped hundreds of organizationsโ€”including numerous Fortune 500 companiesโ€”optimize costs, avoid compliance risks, and secure favorable terms with major software vendors. Fredrik built his expertise over two decades working directly for IBM, SAP, and Oracle, where he gained in-depth knowledge of their licensing programs and sales practices. For the past 11 years, he has worked as a consultant, advising global enterprises on complex licensing challenges and large-scale contract negotiations.

    View all posts

Redress Compliance