Java licensing

2021 Java Licensing Changes

2021 Java Licensing Changes:

  • NFTC License Introduced: Java 17 is free for commercial use.
  • Older Versions: Java 1-16 is unaffected but lacks free updates.
  • Security Patches: Java 17 security patches require a license after October 2024.
  • Deadline: Organizations must decide on licensing or upgrades by October 2024.

2021 Java Licensing Changes

Java Licensing Changes 2021

Executive Summary: In 2021, Oracle adjusted its Java licensing strategy by introducing the No-Fee Terms and Conditions (NFTC) license with Java 17. This move made Oracleโ€™s JDK free again for commercial use, but with important limitations.

For CIOs and IT Asset Managers, the 2021 changes offered a reprieve in Java licensing costs if organizations could stay on the latest version. However, careful planning is still required to avoid compliance issues and unexpected costs down the line.

Post-2019 Landscape: Subscription Fatigue and Alternatives

By 2020, enterprises had adapted to Oracleโ€™s new Java SE subscription model, albeit begrudgingly. Many organizations now pay annual Java licensing fees or shift to open-source Java to avoid costs.

Oracleโ€™s aggressive enforcement (including audits and sales pushes) meant that Java was firmly on the radar of CIOs and CFOs. The COVID-19 pandemic also pressured IT budgets in 2020, so Java subscription costs became a visible line item to scrutinize.

During this time, the Java ecosystem saw a surge in alternative distributions and support models:

  • OpenJDK and Vendor Builds: Companies like AdoptOpenJDK (Adoptium), Red Hat, Amazon, and Azul provided free or cheaper Java builds. Enterprises were exploring these to escape Oracleโ€™s fees.
  • Sticking to LTS Versions: Oracleโ€™s model encouraged staying on Long-Term Support (LTS) versions (Java 8, then Java 11) with a subscription for updates. Some companies with subscriptions limited their updates to only those LTS releases to minimize complexity.
  • Customer Sentiment: There was growing pushback in the community about Oracle โ€œcharging for Java.โ€ Oracleโ€™s reputation suffered among developers, and many clients pressed their Oracle reps for more cost-effective solutions.

Amid this backdrop, Oracle made a surprising announcement in September 2021 with the release of Java 17 (an LTS version): certain uses of Oracle JDK would be free again.

This 2021 licensing change was Oracleโ€™s response to customer pressure and competitive dynamics in the Java ecosystem.

Introduction of the No-Fee Terms and Conditions (NFTC)

With Java 17, Oracle introduced the Oracle No-Fee Terms and Conditions (NFTC) license. This was a new licensing grant that significantly changed how the latest version of Java could be used:

  • Free Use of Oracle JDK 17+: Under NFTC, Oracle permits running Oracle JDK in production without paying any licensing fees, a dramatic shift from the prior OTN license (2019) that required payment for any production use. In essence, Java 17 (released Sept 2021) and later versions could be used by enterprisesย for freeโ€”including commercial, in-production deploymentsโ€”for a certain period.
  • Specific Conditions Apply: The NFTC license is not unlimited and free for all. It allows free usage but with conditions and time limits. Crucially, Oracle committed to providing free updates for each LTS release only until one year after the next LTS release. In practice, that meant:
    • Java 17โ€™s updates would be free under NFTC until one year after Java 21 (the next LTS) arrives.
    • After that point (i.e., after the grace period following the next LTS), any further updates to Java 17 would fall back under a paid license (the OTN or subscription model). So, the โ€œno feeโ€ status has an expiration date for each version.
  • No Backporting of Free Use: NFTC applied starting with Java 17. Older versions of Java (Java 11, Java 8, etc.) remained under the old rules. If an enterprise stayed on Java 8 or 11 in 2021, they still needed a subscription for updates and production use. NFTC did not retroactively make Java 8/11 free; it only affected Java 17 and future releases.
  • Support Not Included: Itโ€™s important to note that while NFTC allows free use of Oracle JDK, it does not include Oracle Support or indemnification. Companies get access to Oracleโ€™s builds and updates of Java for free, but if they want support (e.g., the ability to file support tickets or get hotfixes), they would still need to become a paying customer. Essentially, NFTC is โ€œuse at your own riskโ€ โ€“ suitable for many, but enterprises with mission-critical needs might still pay for a subscription to get guaranteed support.

Oracleโ€™s messaging in 2021 painted NFTC as a customer-friendly move to โ€œreopenโ€ access to Java. It was a welcome change for organizations: after two years of Java being a paid item, the latest Oracle JDK could suddenly be deployed without immediate cost.

However, CIOs and ITAM professionals quickly recognized that NFTC, while helpful, came with fine print that needed attention.

What Does NFTC Allow?

Under the NFTC license, enterprises gained the following freedoms for Java 17 and later:

  • Free Production and Commercial Use: Businesses could use Oracle JDK 17 on servers, in applications, and across desktops without signing contracts or paying fees. This essentially โ€œreinstatedโ€ free usage before 2019, but now only for the current Java version.
  • Free Development and Testing: As before, all development, testing, and personal usage of Java remained free. NFTC explicitly covers these non-production scenarios, so developers could standardize on Oracle JDK 17 for development, knowing that moving to production wouldnโ€™t incur a license fee during the free period.
  • Redistribution: Oracle allowed redistribution of Oracle JDK under NFTC, with some conditions (e.g., you can bundle Oracle JDK with your application and not charge separately for it, similar to how the old BCL allowed Java to be included in software products). This is relevant for software vendors or device manufacturers, including Java in their products โ€“ they could now do so with Java 17 without buying an OEM license, as long as the inclusion is free.
  • Access to New Updates (temporarily): Oracle continued to release quarterly updates and patches for Java 17, and under NFTC, anyone could download and apply these updates at no cost, as long as we were still in the free support window for Java 17.

In summary, NFTC allowed enterprises to stay current on Java without a subscription as long as they promptly moved to the latest LTS.

The Hidden Catch: Time-Limited Free Updates

The most critical detail in the NFTC license is the time limit on free updates:

  • Oracle is committed to providing free Java updates for an LTS release until one year after the next LTS release. For example, Java 17 (LTS) was released in 2021; the next LTS, Java 21, was released in September 2023. Oracle would continue free updates for Java 17 up to one year beyond that (i.e., until September 2024). After that date, any further Java 17 patches would require a paid subscription or a shift to the Oracle OTN (paid) license terms.

This effectively creates a two-year free window for each LTS version (since LTS releases are roughly every two years). Itโ€™s Oracleโ€™s way of encouraging customers to upgrade to the latest version of Java.

If you upgrade to Java 21 by late 2024, you get Java 21โ€™s updates free until one year after the next LTS (say Java 25 in 2025 or 2026), and so on. But if you stick with an older LTS beyond the free window, youโ€™ll have to start paying.

For CIOs, this condition means:

  • Upgrade Discipline: Enterprises must be disciplined about regularly upgrading Java on their applications (potentially every 1-2 years when a new LTS arrives) to maintain free status. This can be challenging for large, complex applications that typically standardize on a platform for many years.
  • Planning for End of Free Period: If an organization cannot upgrade in time, it might need to budget for a Java subscription for the interim. For instance, if a critical application is on Java 17 and canโ€™t easily be upgraded to Java 21 by 2024, the company would face either running without patches (security risk) or buying a subscription from Oracle to continue getting patches for Java 17 after the free period.

In essence, NFTC saves money in the short term but can introduce technical timing challenges.

Enterprises must monitor Javaโ€™s release roadmap and coordinate internal testing and deployment of new Java versions much more frequently than they may be used to.

Enterprise Implications of the 2021 Change

The 2021 NFTC licensing change had a mix of positive and cautionary implications for large organizations:

  • Cost Relief (Short-Term): Companies about to negotiate Java SE subscription renewals in late 2021 found they had an alternative: migrate everything to Java 17 and possibly avoid renewing some subscriptions. Those who hadnโ€™t yet bought any Java licenses saw a chance to become compliant simply by upgrading to Java 17 (thus sidestepping the need to pay for older version licenses). This offered immediate cost savings for some. Procurement teams welcomed the leverage: Oracle now had to justify why a customer should pay for Java if the latest version were free.
  • Continued Compliance Focus: Importantly, NFTC did not remove compliance needs. It added a new twist. Now, organizations have some Java installations that might be legitimately free (e.g., Java 17) while older installations (Java 8/11) still require licenses. This created a hybrid situation โ€“ ITAM teams had to track not just โ€œdo we have Java?โ€ but โ€œwhich versions and under what license?โ€. Also, if a Java 17 installation gets updated beyond the free window, its status changes to โ€œneeding a licenseโ€. This dynamic aspect meant tracking dates and versions became part of license management.
  • Security and Upgrade Burden: Relying on NFTC effectively ties your security update strategy to Oracleโ€™s LTS release cycle. Enterprises that took advantage of free Java 17 needed to plan their move to Java 21 by 2024 to stay in the free zone. This accelerated upgrade cadence was hard for some enterprise applications that donโ€™t upgrade Java versions frequently due to testing and compatibility concerns. Thus, NFTC potentially increased the operational burden on engineering teams to keep Java applications Current.
  • No Support โ€“ DIY or Third-Party: Because NFTC doesnโ€™t include Oracle Support, organizations that went the free route had to rely on internal expertise or third-party support for Java issues. Some enterprises contracted with third-party support providers (at a lower cost than Oracle) to cover Java troubleshooting. Others accepted the risk, figuring that Java is stable and open-source community fixes would suffice. This was a cultural shift: critical apps running on Oracle JDK without an official support safety net.
  • Oracleโ€™s Audit Stance: Interestingly, Oracleโ€™s audit approach might have softened slightly for customers using Java 17 under NFTC (since it was allowed). However, Oracle could still audit for older versions or check if companies applied patches beyond the free window without a subscription. CIOs couldnโ€™t assume Oracle wouldnโ€™t enforce compliance. Instead, license management had to adapt to show that any Java usage was covered by NFTC (within allowed versions and dates) or properly licensed via subscription.
  • Mixed Environments: Many enterprises ended up with a mix: some applications migrated to Java 17 to take advantage of NFTC, while others remained on Java 8/11 (with subscriptions or unsupported status). This mix needed careful governance to avoid accidental non-compliance (e.g., applying a Java 8 update without a license or upgrading a Java 17 app by the deadline). It also meant internal communication: development teams needed guidelines on when they could use Oracle JDK for free and when they could not.

Comparing 2019 and 2021 Licensing

Itโ€™s useful to contrast Oracleโ€™s licensing rules pre-2021 (post-2019 changes) with the NFTC model introduced in 2021:

  • Licensing Model: The 2019 OTN model essentially said,ย โ€œPay to use in production, no exceptions.โ€ย The 2021 NFTC model says,ย โ€œUse for free, but only on the newest version and only for a limited time.โ€ย Oracle shifted from a strict paid model to a freemium modelโ€”free initial use but a potential paywall later.
  • Customer Lock-in or Flexibility: Before 2021, once you were on Oracle Java, you had to keep paying for however long you used it (unless you switched to an alternative). In 2021, Oracle gave customers a way out of immediate lock-in: stay on the upgrade treadmill, and you might not pay at all. This gave customers more short-term flexibility but arguably aimed to keep them within Oracleโ€™s ecosystem (by encouraging use of Oracleโ€™s JDK over others).
  • Competitive Pressure: Oracle likely introduced NFTC to compete with open-source Java distributions. Oracleโ€™s OpenJDK builds (which mirror Oracle JDK without support) were free but had only a six-month support window per release. NFTC was a way to align Oracle JDK with the free alternatives, at least for current versions, so companies had less incentive to flee to competitors. CIOs evaluating Java options would also see that Oracle now offered a โ€œfreeโ€ path.
  • Contract Complexity: The licensing landscape became more nuanced. Instead of one license agreement (OTN) to worry about, now there were three relevant agreements:
    • BCLA (for older Java, pre-2019 usage),
    • OTN (for Java 8/11 and others if used commercially after 2019),
    • NFTC (for Java 17+ free usage).
      Enterprises needed legal and IT teams to understand all three and ensure compliance with each, depending on which Java versions are used.

In short, 2021โ€™s changes partially reversed Java’s monetization, but with a strategic twist to enforce staying current. This was both a win for customers (free Java again!) and a clever mechanism by Oracle to maintain influence over Java deployments.

CIO Strategy and Best Practices Post-2021

Given the introduction of NFTC and its implications, CIOs and IT leaders adjusted their Java management strategies in several ways:

  • Embrace Latest LTS (If Possible): Many organizations made it a policy to standardize new development on the latest LTS release of Java (17 at that time), to capitalize on NFTC. Efforts were made to upgrade legacy systems to Java 17 where feasible, not only for technical improvements but specifically to eliminate licensing costs.
  • Lifecycle Planning: Enterprises started aligning their application lifecycle with Javaโ€™s LTS schedule. Roadmaps for major application upgrades included Java version updates as a line item. This changed from earlier practices where an app might sit on the same Java version for 5-10 years. Now the environment encourages updating every 2-3 years at least.
  • Evaluate Third-Party Support: Some companies purchased support for Java from third-party vendors (e.g., Azul Platform Core or Red Hat support for OpenJDK) as a middle groundโ€”they could use a free distribution or Oracleโ€™s free period and, if issues arose, contract with another vendor for fixes. These third-party offerings sometimes extended support for older versions longer than Oracle or filled gaps.
  • Monitor Oracle Announcements: Since NFTC introduced a time-bounded condition, IT leaders began closely watching Oracleโ€™s Java release announcements. Knowing when the next Java LTS will be released (and thus when the current free period will end) has become important. For example, anticipating Java 21โ€™s release in 2023 allowed proactive planning to migrate off Java 17 or prepare a budget if needed.
  • Compliance Audits and Documentation: Teams maintained detailed records showing which Java installations were under NFTC (including version numbers and patch levels with dates) to be audit-ready. If Oracle inquired, the company could demonstrate that its use of Java 17, for example, was within the free update timeframe and thus no license fee was required. This kind of documentation was added to compliance checklists.
  • Communication to Stakeholders: IT departments needed to explain to finance and leadership why Java might now be โ€œfreeโ€ again in some cases. This helped prevent premature budget cuts for Java that might be needed later. Clear communication ensured everyone understood that the free status was conditional and might change.

Recommendations

In light of the 2021 Java licensing changes (NFTC introduction), enterprise technology leaders should consider the following action points:

  • 1. Upgrade to the Latest LTS deliberately: Make it standard practice to migrate applications to the latest Java LTS version (e.g., Java 17, Java 21) promptly. This ensures you can use Oracleโ€™s no-fee period and reduce immediate license costs. Plan upgrades well before the free-update period lapses.
  • 2. Track Java Version End Dates: Maintain a schedule of when the free update period ends for each Java LTS. For example, if using Java 17, mark the date one year after the next LTS release (Java 21) and treat it as a deadline for action (upgrade or license). This avoids accidentally running past the free window and falling out of compliance.
  • 3. Use Oracle JDK Free Period to Transition: If you adopt Oracle JDK under NFTC, use the breathing room it gives to evaluate long-term options. For instance, during the free period, assess whether you will stay on Oracle JDK with a subscription later or switch to an OpenJDK distribution when the free ride ends.
  • 4. Segregate and Document Java Usage: Keep clear records distinguishing which systems are on free Oracle Java (under NFTC) versus which are on older versions requiring a subscription. This helps ensure you only pay for what you absolutely must. If Oracle initiates an audit, you can demonstrate your compliant usage of NFTC terms.
  • 5. Consider OpenJDK for Stable Workloads: For applications that cannot frequently upgrade Java versions, consider moving to an OpenJDK distribution with long-term support from a vendor. This way, you can get security updates for 5+ years on a version without Oracleโ€™s free window limitation. The cost of third-party support may be lower than Oracleโ€™s subscriptions.
  • 6. Donโ€™t Skip Security Patches: Avoid staying on an LTS release beyond Oracleโ€™s free update window without patches. If you canโ€™t upgrade in time, either obtain a Java SE Subscription for coverage or seek a supported OpenJDK build. Security is paramount; do not leave critical systems on an unpatched Java to save costs.
  • 7. Train Teams on NFTC Terms: Ensure your developers and IT staff understand that โ€œJava is freeโ€ only applies to certain versions and conditions. Provide internal guidelines, such as โ€œItโ€™s okay to use Oracle JDK 17 in production now, but we must upgrade to 21 by next year,โ€ or โ€œUsing Oracle JDK 8/11 in production still requires a license.โ€ This prevents misinterpretation that could lead to compliance issues.
  • 8. Budget for Future Changes: Recognize that NFTC is an evolving policy decision by Oracle. While Java 17 and 21 are free for their respective periods, Oracle could alter the terms. Keep a contingency in your IT budget for Java licensing in case Oracle tightens the rules or if you find you cannot adopt new versions as fast as needed.
  • 9. Leverage the Free Period in Vendor Negotiations: If youโ€™re in talks with Oracle (for Java or other products), use the existence of NFTC to your advantage. You cannot buy Java licenses immediately, which can be a bargaining chip. Oracle may offer more favorable terms, knowing you could just use the free license and walk away, especially if youโ€™re a large customer.
  • 10. Explore Containerized and Cloud Environments: If you deploy Java in the cloud or containers, ensure your approach aligns with NFTC usage. Oracleโ€™s free use applies regardless of environment, so consider standardizing container images on the free Oracle JDK for the latest LTS and be ready to swap them out when the time comes. This can streamline the process of staying current since containers can be replaced wholesale with a new Java version.

FAQ: 2021 Java Licensing Changes

What is the NFTC license introduced in 2021?
Oracle introduced the No-Fee Terms and Conditions (NFTC) license, which allows free commercial use of Java starting with JDK 17.

Which Java versions are impacted by the NFTC license?
The NFTC license applies only to Java 17 and newer versions.

Does the NFTC license apply to Java versions 1-16?
No, Java versions 1-16 are unaffected by the NFTC license, but do not receive free updates.

Are older Java versions still supported?
Older Java versions, like Java 8 or Java 11, do not receive free updates. Organizations must pay for extended support.

What are the conditions for using Java 17 under NFTC?
Java 17 is free for commercial use under NFTC, but security patches after October 2024 require a subscription.

Do I need a license to apply security patches to Java 17?
Yes, starting October 2024, a license will be required to apply security patches for Java 17.

What happens if I continue using Java 17 without patches?
Continuing without security patches could leave your systems vulnerable, which is a significant risk for production environments.

What options do I have after October 2024 for Java 17?
Under the NFTC license, you can purchase a license for ongoing security updates or upgrade to a newer version of Java.

Is Java 17 completely free under NFTC?
Java 17 is free under NFTC, but future security updates after the deadline require a subscription.

Why is Oracle making these licensing changes?
Oracle aims to encourage the adoption of newer Java versions while maintaining a business model for long-term support.

What are the compliance requirements for Java 17 under NFTC?
Companies must ensure they only use Java 17 within the NFTC license terms and decide how to handle updates post-October 2024.

How does the NFTC license affect my security policies?
You must consider licensing costs for security patches or ensure timely upgrades to newer versions to remain secure.

What are the licensing costs if I need Java 17 updates post-2024?
Licensing costs vary depending on the number of installations and support agreements. You should discuss these directly with Oracle.

Should I upgrade to Java 18 instead of paying for patches?
Upgrading to Java 18 or newer versions could help you maintain free use and receive security updates without a subscription.

How can my organization prepare for the Java licensing changes?
Conduct a Java inventory, evaluate your current Java usage, and create a plan for updating or licensing by October 2024.

Read more about our Oracle License Management Services.

Do you want to know more about our Oracle License Management 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