Java Licensing

Oracle Java NFTC Licensing Change: What CIOs & CFOs Need to Know

Oracle’s 2021 Java NFTC Licensing Change: What CIOs & CFOs Need to Know

In September 2021, Oracle revised its Java licensing model once again by introducing the “No-Fee Terms and Conditions” (NFTC) license with Java 17. This change reinstated free use of Oracle’s Java Development Kit (JDK) for commercial use, after a few years of requiring paid subscriptions​.

However, CIOs and CFOs must understand that “no fee” does not mean “no strings attached.” The NFTC license is not a return to the unlimited, free-for-all of the past; it comes with specific conditions, time limits, and compliance obligations that differentiate it from Oracle’s previous Java licenses, such as the Oracle Binary Code License.

This advisory article provides a straightforward breakdown of the NFTC license – what it allows, what it restricts, the financial and compliance impacts, and the risks of misinterpreting “free Java” under NFTC. We focus solely on the 2021 NFTC change (Java 17 and later) and its implications, without delving into older 2019 licensing metrics or Oracle’s newer 2023 subscription model.

What is the NFTC License and How Is It Different?

The Oracle No-Fee Terms and Conditions (NFTC) license is a Java SE licensing model that allows free use of the Oracle JDK for all users, including businesses, under specific terms. It was introduced with Java 17, an LTS release, in September 2021.

Under NFTC, organizations can deploy Oracle’s JDK in both production and development environments without paying license fees, a significant shift from the prior Oracle Technology Network (OTN) license, which required a paid subscription for commercial use.

Key differences between NFTC and Oracle’s previous Java licenses include:

  • Commercial Use: Under older licenses, free use was limited. The classic Oracle Binary Code License (BCL) allowed free internal use only on “general purpose” computers, covering most common business applications. But in 2019, Oracle’s OTN license ended free commercial use entirely, restricting free usage to personal or development purposes and requiring a subscription for production​. NFTC, by contrast, allows free commercial production use of the latest JDK version for anyone​. In essence, Oracle JDK became free to use again for day-to-day operations – but only for the current release and within a limited timeframe (described later).
  • Time Limit on Free Updates: Previously, under the BCL, Java versions didn’t have an explicit “license expiration” – you could use a given Java version indefinitely (though Oracle would eventually stop providing public updates)​. NFTC introduces an explicit time limit: Oracle will provide free updates for an LTS release only until one year after the next LTS is released. After that window, the license for further updates of that version reverts to a paid model (the OTN terms), meaning you’d need to pay for a Java SE subscription to continue getting updates. This is a crucial “catch” that did not exist under the older free-license paradigm.
  • Support and Patches: Under both the old BCL and the new NFTC, Oracle’s standard free license includes no Oracle support or indemnification.* In the past, companies could run Java for free but had to purchase support contracts for assistance or extended updates. NFTC continues this approach: using Java under NFTC is “at your own risk” with no support guarantee​. The difference is that under OTN (2019–2021), you were effectively required to pay for support if you ran Java in production at all; NFTC, at least, allows running the latest Java without support fees for a while.
  • Redistribution Rights: The older BCL allowed redistribution of the JDK/JRE with your applications under certain conditions (you couldn’t charge specifically for Java and had to include Oracle’s license text, etc.). NFTC similarly permits redistribution only if you do not charge a fee for the Java software​. In other words, you can bundle Oracle JDK with your product or service only if it’s provided as a free addition. You cannot resell Oracle Java or charge licensing fees for it as part of your product​. (If your business model involves embedding Java in a commercial device or software and monetizing it, Oracle would likely consider that outside the NFTC free use – a separate license or subscription would be required.)

To summarize these differences, the table below contrasts Oracle’s previous Java licensing (pre-2021) with the NFTC license introduced in 2021:

AspectOlder Oracle License (Pre-2021)NFTC License (Java 17+, 2021)
Production UseRestricted: Under the 2019 OTN license, any commercial production use required a paid Java SE subscription​. (The earlier BCL allowed free use on general-purpose PCs/servers, but Oracle ended that for new releases in 2019.)Allowed: Oracle JDK 17 and later can be used free in production and commercial environments by any user under NFTC​. No upfront license fees for running the latest LTS release in business operations.
Free Update DurationNo guaranteed free updates: Oracle historically provided public updates for a limited time (e.g. free Java 8 updates ended Jan 2019​). After that, patches required a subscription. No explicit “license period,” but older versions simply stopped getting free patches.Time-limited free support: Updates for each LTS release are free under NFTC until 1 year after the next LTS release​. After that (~2-3 years total), Oracle stops free updates and reverts to paid terms for further patches​. (E.g. Java 17 was free until Sept 2024; beyond that, updates need a subscription​).
Oracle SupportNot included: Free use came with no Oracle support; businesses could purchase support contracts separately.Not included: No Oracle support or warranties are provided under NFTC​. If you need help or extended support for an NFTC-covered JDK, you must pay for a support subscription.
RedistributionAllowed with restrictions: Permitted to bundle the JDK/JRE with applications only if not sold separately (BCL/OTN forbid charging for Java itself). Special agreements required for embedding in hardware or non-general-purpose devices.Allowed with restrictions: **Permitted to redistribute Oracle JDK only if you do not charge a fee for it​. You can include it with your software or service free of charge, but you cannot monetize Oracle’s Java directly. (Using Oracle JDK in a paid product or appliance may violate NFTC without a separate license).
Cost ModelPay-to-stay-current: After 2019, businesses had to pay per user or processor for Java SE subscriptions to get updates for new releases​. Essentially a continuous subscription cost for commercial Java use (unless you stayed on old versions with no updates).Free-for-latest: No license or subscription fees to use the latest Java version under NFTC during its free period​. This can eliminate Java licensing costs temporarily. However, once the free period ends, you must either upgrade to the next version or start paying for a subscription to remain compliant​.

In short, the NFTC license brought back free Java usage for companies, but with a built-in timer. Oracle essentially traded the old perpetual free license (which they had curtailed in 2019) for a model that says: “You can use our newest Java release for free, but only until the next major version is out, plus a grace period. After that, pay up or move on.” This is a very different risk profile compared to “free forever” open-source Java, and CIOs and CFOs need to grasp these nuances.

NFTC Usage Rights – What You Can Do for Free

Under NFTC, Oracle grants broad usage rights for the Oracle JDK (Java SE) without fees, covering development, testing, and production deployments.

Key usage permissions include:

  • Commercial Production Use: You are allowed to run Oracle JDK in production environments for internal business operations at no cost​. This means your servers and applications can use Java 17+ (Oracle’s distribution) without needing to buy a license, as long as you adhere to NFTC terms. This was a major relief for many organizations, effectively making Java “free for commercial use” again.
  • Development, Testing, and Personal Use: All traditional free use cases, including development workstations, QA/test environments, and personal or educational use, continue to be allowed. These were always free under Oracle’s policies; NFTC extends the free allowance to production as well. There is no obligation to purchase anything for using Java in dev/test or individual use scenarios under NFTC.
  • Hosted Services and SaaS: NFTC explicitly permits “hosted use” of Oracle Java. This means if your organization provides a service (e.g., a SaaS application or cloud-hosted platform) that runs on Java, you can let external users interact with your Java-based service without violating the license. Oracle considers that part of your internal business use, even if third parties indirectly use the Java runtime via your application. You may charge fees for your application or service (e.g,. subscription fees to your SaaS product) – this is allowed under NFTC. The key distinction is that third parties are not given the Java software itself; they’re just using your services that Java powers.
  • Internal Distribution: You can freely install Oracle JDK across your organization (on servers, VMs, developer laptops, etc.) without worrying about counting licenses. There’s no license tracking needed for NFTC-covered versions, since Oracle isn’t charging per installation. (This is a change from 2019–2021, when companies had to count users or processors for Java licensing, which is not required under NFTC.)
  • Redistribution with Applications: You are allowed to include Oracle’s JDK with your software or device and distribute it to others, provided you do not charge them specifically for the Java. For example, if you have an enterprise application that requires Java, you can package the Oracle JDK with your installer so your customers can run the app. This is allowed under NFTC as long as your software license or fees do not separately price or monetize the Java component. Essentially, Oracle Java can be passed along “for free” to end-users as part of a larger solution. (If you do want to charge for a Java bundle or need to embed Java in a proprietary device, you’d need a separate arrangement – see limitations below.)

It’s worth noting that Oracle’s NFTC applies to the Oracle JDK binaries. Oracle continues to offer OpenJDK builds (the open-source Java), which are free under the GPL license anyway​.

NFTC means you can choose the Oracle-branded JDK (with Oracle’s longer update timelines) without paying. In contrast, previously, many companies avoided Oracle’s build due to licensing costs and stuck to open-source builds. With NFTC, using Oracle’s official JDK binary is no longer a financial decision, at least for the short term.

NFTC Limitations and Obligations – The “No-Fee” Conditions

While NFTC makes Oracle JDK free to use initially, CIOs and CFOs must be keenly aware of the limitations and obligations that come with this license. Failing to adhere to these terms can nullify the “no-fee” benefit and create compliance issues.

Key limitations include:

  • Time-Limited Free Updates: Perhaps the most critical condition – the NFTC free-use period is not indefinite. Oracle will provide security updates and bug fixes for a given Long-Term Support (LTS) release only for one year after the next LTS release. In practical terms, this is roughly a two-year free support window, since Oracle now releases new Long-Term Support (LTS) versions every two years. After that window, if you want further updates for that Java version, you must purchase a subscription or enterprise support from Oracle​. The license itself reverts to the paid Oracle Technology Network (OTN) license for any updates released after the cutoff date. Obligation: Your teams must plan to upgrade to the next Java Long-Term Support (LTS) release promptly or budget for a Java SE subscription once the free period ends. (We delve more into this timeline in the next section.)
  • No Oracle Support or Warranty: Using Java under NFTC means you do not receive Oracle’s official support services. There is no support contract, no SLA, and no right to call Oracle for help simply by using their JDK. Oracle explicitly states that NFTC comes with no support and no guarantees – it’s essentially “use at your own risk”. For many enterprises, this is a significant limitation: if a critical Java issue occurs in production, you cannot turn to Oracle unless you separately pay for support. Obligation: Ensure your organization has a plan for supporting Java internally or through a third party if you choose the NFTC route, since Oracle won’t be there to help under this free license.
  • Security Patch Availability: Oracle will issue quarterly Critical Patch Updates (CPUs) for each supported Java version. Under NFTC, you get those for free only during the allowed period. After that, Oracle will continue to issue patches, but only under a paid license. You are not entitled to those patches for free once the NFTC term expires. For security compliance, you either stop patching (which is insecure), upgrade your Java version, or pay – there’s no free lunch beyond the term. This obligation means CIOs must track the calendar – missing the upgrade window could leave the company running unpatched software or scrambling to buy a license.
  • Limited Redistribution (No Fee-Based Distribution): While you can share Oracle JDK freely, you cannot redistribute it for profit or as a fee-bearing offering​. If your company provides software to customers, you must ensure you’re not charging those customers in any way for the Java runtime. Even bundling Oracle JDK with a paid product could be problematic if Oracle determines that Java is a component of the value they’re paying for. Oracle’s FAQ makes it clear: redistribution is fine “as long as it is not for a fee”. Obligation: Ensure that your product management and sales teams are aware that the Oracle JDK itself cannot be sold or licensed as part of your product bundle under NFTC. If you need to embed Java in something you sell, consider using an OpenJDK distribution or obtaining a separate OEM license from Oracle. Also, avoid “charging” indirectly for Java (for example, do not offer premium support specifically for the Java component unless you have the right to do so).
  • No “Commercial Features” or Add-Ons: Oracle used to offer certain Commercial Features in Java, such as Flight Recorder and Mission Control in older versions, that required a license. Most of those have since been open-sourced or removed, but Oracle still offers additional Java tools and services not covered by NFTC. For instance, the Oracle Java Management Service (JMS) and Oracle’s GraalVM Enterprise are not included under NFTC – they require separate licensing or a Java SE Subscription. The NFTC license only covers the base Java Development Kit (JDK). Obligation: Ensure your teams are not inadvertently using Oracle add-ons, assuming they’re free. If they enable something like the Advanced Management Console or any feature Oracle labels “Commercial,” that could put you out of compliance unless you have a paid subscription.
  • Compliance with License Terms: NFTC is still a formal license agreement, just with no cost. That means all the usual license boilerplate applies: you can’t remove Oracle’s copyright notices, you can’t modify and redistribute the Oracle binary, you accept that jurisdiction is in California, etc. While these may not impact day-to-day use, your legal and IT teams must be aware that using the Oracle JDK implies accepting those terms. One notable point: if you violate the NFTC terms (for example, by charging fees improperly or exceeding the usage limits), you will lose license protection, effectively making your Java use unlicensed.

In summary, NFTC gives you free Java, but with conditions: you get a limited update window, no support, and some restrictions on how you can use or distribute the software.

The next section explains the biggest condition – the ticking clock on NFTC’s “free” period tied to Oracle’s release cycle.

The Two-Year Window: What Happens After the Next LTS Release

One of the most crucial aspects of NFTC is that it only covers a Java LTS release for a limited time. Oracle intends for organizations to use the current LTS version of Java for free, but when a new LTS is released, the clock starts ticking for the old one.

CIOs and CFOs must understand this cycle to avoid falling out of compliance or incurring unexpected costs. Here’s how it works:

  • Oracle’s LTS Cadence: Java LTS (Long-Term Support) versions now arrive every two years. Java 17 (LTS) was released in September 2021; Java 21 (next LTS) is scheduled for release in September 2023; the next LTS (Java 25) is expected in 2025, and so on. Under NFTC, Oracle promises that each LTS will receive free updates for one year after the next LTS is released. This effectively means approximately 3 years of free updates per LTS (since 2 years until the next LTS, plus an extra year of overlap).
  • Java 17 Example – NFTC in Action: Oracle JDK 17 (released 2021) was free under NFTC from its launch. Java 21 (the next LTS) was released two years later, in September 2023. Oracle continued to provide Java 17 updates for one additional year, until Sept 2024, under NFTC terms. After September 2024, Oracle will no longer provide free Java 17 updates – the NFTC period for Java 17 has ended. At that point, any new Java 17 update (e.g., 17.0.9, 17.0.10) is released under the paid OTN license. Companies still on Java 17 now have two choices: upgrade to Java 21 (which is free under NFTC as the new Long-Term Support release), or purchase a Java SE subscription to continue receiving Java 17 updates​legally. In other words, the “free ride” on Java 17 ended one year after the release of Java 21​.
  • Reversion to Paid License: Once an LTS’s NFTC window closes, Oracle flips back to the traditional licensing. The FAQ states that Oracle “intends to use the OTN License… for subsequent updates” after the free period. The OTN license is the one used for Java 8/11 in recent years, meaning commercial use requires a subscription at that point. So, any company that did not move off the old LTS would suddenly need to start paying to stay current or risk running unsupported software. This cycle will repeat: Java 21 is free under NFTC until one year after Java 25 is released (expected in 2025), so you’ll have free updates until September 2026. After that, Java 21 updates will require a payment, and Java 25 will be free, and so on.
  • Non-LTS Releases: Oracle also releases feature versions (e.g., 18, 19, 20) on a 6-month cadence. NFTC covers those as well, but they only receive updates until the next release, which is just months away. Most enterprises stick to long-term support (LTS) versions for stability. Under NFTC, non-LTS Java versions are effectively free but short-lived – they are replaced quickly. If used, the expectation is you’ll jump to the next version or back to an LTS. There’s no cost, but also no long-term support for those by design​.
  • End of Free Use = Compliance Risk: It’s essential to note that after the NFTC window, continuing to use Oracle JDK and applying new updates without a license will put you out of compliance. For example, if an organization continued to use Java 17 and downloaded update 17.0.13 in late 2024 without a subscription, that would violate Oracle’s license terms. Even using Oracle’s patches beyond the free period counts as unauthorized use unless you have paid. Oracle’s audits would treat that similarly to any other software license violation, potentially resulting in penalties or back maintenance fees.

Bottom line: NFTC essentially forces a decision every two years – upgrade or pay. Oracle is giving everyone a free runway on the latest LTS, but only until the next one has been out for a year.

This is Oracle’s strategy to encourage frequent upgrades, keeping Java users on the newest version, while still allowing those who can’t keep up to continue using older versions.

From a budgeting perspective, CIOs and CFOs should treat NFTC as a two- to three-year free period that will eventually require investment in either an upgrade project or a subscription.

Financial Implications of Using Oracle JDK Under NFTC

The NFTC licensing change has significant financial implications – both positive and negative – for organizations. On the plus side, it offers potential cost savings; on the flip side, it can introduce new costs or risks if not managed properly.

Key financial considerations include:

  • 💰 Immediate Cost Relief (No License Fees): Under NFTC, you do not pay Oracle licensing fees for Java 17+ during the free period. Companies that were previously paying for Oracle Java SE subscriptions (because they needed Java 11 or 8 in production) found that by upgrading to Java 17, they could temporarily avoid those subscription costs​. For a large enterprise, this could mean substantial short-term savings, such as tens or hundreds of thousands of dollars per year in avoided Java licenses. CFOs saw NFTC as an opportunity to cut a recurring expense – effectively, Oracle gave a “free pass” for the latest version of Java.
  • 🔄 Upgrade Costs and Resource Investment: The flip side of “free Java” is that to stay free, you must upgrade your Java version regularly (at least every 2-3 years to the new LTS). Upgrading enterprise applications to a new Java version can incur significant costs, including testing and QA efforts, code modifications for compatibility, and deployment planning. These are internal costs that might increase with Oracle’s model of frequent LTS upgrades. Some organizations may find the operational cost of adopting a new Java version every two years outweighs the savings on license fees. In other words, NFTC shifts the cost from Oracle’s balance sheet to your engineering teams – you save money, but your IT staff has to spend time keeping Java up-to-date. CFOs should budget for periodic Java upgrade projects as a cost of sticking with the free model.
  • 🗓️ Potential Subscription Costs (If You Fall Behind): If an organization cannot or does not upgrade within the NFTC window, they will need to purchase a Java SE subscription for continued support and updates. Those subscription costs can be material. Oracle’s current subscription pricing (post-2023) is often higher than the old model, sometimes scaling by the total number of employees, which can lead to significantly larger bills for enterprise-wide Java use. While we won’t delve into those models here, the point is that failing to plan could force a costly true-up. A company that suddenly realizes its Java version is no longer under free support might have to quickly sign a paid support agreement with Oracle, losing leverage to negotiate a price. This can result in unplanned expenditure mid-cycle. Thus, the “free” period should be treated as a timeline with a bill at the end if action isn’t taken. Always consider the worst-case cost: what if you had to subscribe to Java for your whole environment? Is that budgeted or at least known?
  • ⚖️ Risk of Non-Compliance Penalties: From a compliance standpoint, using Oracle JDK under NFTC requires vigilance. Oracle has shown in the past that it is willing to audit Java usage and charge fees for unlicensed use. If a company mistakenly continues using Oracle Java outside the NFTC terms (for example, using an outdated version without paying), and Oracle audits them, the financial penalties could include backdated support fees or even contractual penalties. This is a financial risk: an unexpected audit finding could significantly impact the IT budget. CIOs and CFOs must weigh the “compliance cost” of NFTC – i.e., the internal effort needed to track and ensure compliance – against the savings. It might be prudent to invest in Software Asset Management tools or services for Java to avoid an audit surprise.
  • 📉 Opportunity Cost of Staying with Oracle vs. Alternatives: NFTC’s free use applies only to Oracle’s distribution. Some organizations may consider whether sticking with Oracle’s JDK, given this upgrade treadmill, is worth it, versus adopting other free OpenJDK distributions that come with longer-term support. For example, some vendors provide free updates for older LTS releases for 4 years or more. While this strays from Oracle-specific analysis, it is a financial consideration. Depending on the company’s ability to upgrade or appetite for risk, an alternative Java source might reduce costs by avoiding future forced subscriptions or expensive migrations. CIOs should ensure that the decision to use Oracle’s free JDK is cost-effective in the long run, not just in the current budget year.
  • 🔍 Administrative & Tracking Costs: Under NFTC, the license management is simpler (no need to count users or cores for licensing). However, the onus is on your organization to track version dates and usage. There’s a small but non-zero cost to maintaining compliance records: documenting that you only deployed Java 17 updates up to 17.0.8 (the last free version, for example), and not beyond. If challenged, you may need to demonstrate that you stayed within the free terms. This is more of a governance cost than a direct fee, but it’s something to keep in mind – someone in the IT asset management or compliance team needs to own Java license tracking in the NFTC era.

In summary, NFTC can eliminate direct licensing fees for Java in the short term – a welcome relief for budgets – but it introduces new indirect costs and potential future expenses.

It shifts the financial burden to regular upgrades and careful compliance management. The true cost savings of NFTC will depend on an organization’s discipline in staying on the upgrade path.

If that discipline falters, the costs can come back with a vengeance— in the form of rushed subscription purchases or, in the worst case, an audit settlement.

Compliance Considerations and Risks for CIOs/CFOs

The NFTC change might sound like “Java is free again,” but assuming it’s free for all uses forever is a dangerous mistake. There are several compliance risks that IT leaders should guard against, especially if their teams are under the impression that “Oracle JDK is free now, so we don’t have to worry.”

Below are specific risks if the NFTC license is misunderstood or mismanaged:

  • Assuming “Free Forever” and Missing the Time Limit: Perhaps the biggest risk is if your developers or IT staff deploy Java 17 or 21, thinking it’s free, and then fail to upgrade or license it when required. The team might continue using an LTS release well past its NFTC free-update period, inadvertently violating Oracle’s terms. For example, a DevOps engineer might innocently apply Java updates (which are no longer free) to company servers, not realizing that these updates now require a paid license. The organization could end up running non-compliant Java installations. In an audit, Oracle would consider this unlicensed use – resulting in hefty fees or legal exposure​. CIOs should treat the NFTC expiry like an end-of-license date, not just a vague concept, and ensure everyone is aware of it.
  • Using Older Java Versions Under NFTC Misconception: NFTC only applies to Java 17 and later. A risk arises if teams think Oracle has made Java free in general and thus start using older Oracle JDK versions (such as 8 or 11) without a subscription. In reality, Java 8 and 11 are not suddenly free for commercial use; they remain under the old licensing (which requires a paid subscription for business use beyond certain update levels)​. If, for example, a legacy application is running on Java 8 and the team interprets NFTC news to mean “we’re in the clear,” they could inadvertently overlook the need for a Java SE subscription for those older installations. This creates a compliance gap. Risk mitigation: segregate which Java versions are covered by NFTC and which are not, and ensure that no one deploys Oracle JDK 8 or 11 in production, thinking it’s free (unless they only use very old builds that were free, which carry security risks).
  • Redistribution and Third-Party Use Missteps: Developers might decide to bundle the Oracle JDK with a product installation or include it in a Docker image delivered to customers, under the impression that “it’s free now, so no problem.” However, if the product is paid software or if the Docker image is part of a service that clients pay for, this could violate NFTC’s prohibition on charging fees for Java. Oracle’s terms could be interpreted to mean that your customer is indirectly paying for Java as part of your offering. This is a nuanced area and a trap for the unwary. If your company ships any form of Oracle JDK outside the organization, you need to double-check compliance. Risk mitigation: consider using OpenJDK for any redistributable packages, or ensure that your legal counsel approves the distribution of Oracle JDK under NFTC, with clear no-fee provisions.
  • Reliance on Oracle’s Free Updates Without a Contingency: Some organizations might drop their Java support subscriptions (to save cost) because “NFTC has us covered,” but then fail to plan for what happens after the free updates stop. If they hit an issue or a security vulnerability after Oracle’s free support period, they might find themselves stuck: no more patches unless they suddenly purchase a support contract. This scenario could lead to emergency spending at premium prices or running vulnerable software. CIO/CISO risk: running into a critical security hole (say a JVM vulnerability) after the NFTC window and not having a current contract in place means delays in patching or scrambling to negotiate one under duress.
  • Lack of Internal Monitoring and Awareness: Another risk is more organizational. If nobody is actively tracking Oracle’s announcements or the Java roadmap, the team might not realize a license obligation has kicked in. Oracle’s terms are quite specific, but busy development teams might not read the fine print. By the time someone notices (“hey, is Java 17 still free?”), The company might already be several months into using it non-compliantly. Oracle did provide FAQs and even a reminder in 2023 about Java 17’s free period ending​, but you cannot count on every admin seeing that. Mitigation: Assign responsibility to an asset manager or architect to monitor Java licensing timelines.
  • Oracle’s Audit and Enforcement Tactics: Oracle is known for its rigorous audit practices in all its product lines, and Java is no exception. Post-2019, they ramped up Java compliance audits. With NFTC, one could imagine Oracle will audit customers after the free period ends to ensure they either move on or pay up. If your company operates under the false belief that “Java is free, we’re fine,” an audit could be a rude awakening, with auditors pointing out where NFTC no longer applies. The financial fallout and reputational damage of a non-compliance finding are risks that top executives would want to avoid.

In essence, the biggest risk is complacency – thinking, “We have free Java now,” and not actively managing the lifecycle and license conditions.

CIOs and CFOs should instill a healthy skepticism: NFTC is free today, but always ask, “Under what conditions and for how long?” Ensuring that your engineering and asset management teams are aware of those specifics is critical to avoid costly mistakes.

Recommendations

To safely navigate Oracle’s NFTC licensing and avoid unpleasant surprises, CIOs and CFOs should take a proactive approach.

Here are specific, actionable recommendations for managing the 2021 Java NFTC license change in your organization:

  1. Educate Your Teams on NFTC Terms: Ensure that your IT, development, and procurement teams clearly understand what the NFTC license permits and prohibits. Circulate a brief outlining that Oracle JDK 17 and later are free only within a certain timeframe and under specific usage conditions, including the requirement to upgrade by a deadline. Emphasize that “free” doesn’t mean “permanently free for any scenario.” This will prevent misconceptions at the engineering level.
  2. Maintain an Inventory of Java Installations: Conduct an audit of all Java versions in use across the company. Identify which systems use Oracle’s JDK and what versions they are. This is crucial to know which installations fall under NFTC (Java 17+ within the free window) versus older ones that might require a paid license. Keep this inventory updated and flag any Oracle JDKs that will soon expire from NFTC. This way, you won’t be caught with an outdated Java in production unknowingly.
  3. Track LTS Release Dates and Plan Upgrades: Treat Oracle’s Java release roadmap as part of your IT project planning. Mark the next Java LTS release date plus one year on your calendar for each version you deploy. For example, if you adopted Java 17, know that its free period will end​by September 2024. If you’re on Java 21, note that you’ll need to upgrade by around late 2026. Well in advance of those dates, kick off upgrade projects to migrate your applications to the latest Long-Term Support (LTS) version. By planning upgrades proactively, you can stay within the free-license zone continuously and avoid last-minute scrambles. Allocate resources (such as developers and testing time) for Java version upgrades as a recurring task every two years.
  4. Budget for Java Upkeep (or Potential Subscription): Even though NFTC has no license cost, ensure you have a budget and contingency for Java-related needs. This includes the internal cost of performing upgrades (which may involve refactoring code or purchasing test tools) as well as a contingency for purchasing support if needed. Have a fallback plan: for instance, if a critical third-party app cannot move off Java 17 in time, be prepared to purchase Oracle Java SE subscriptions for the servers running it. It’s better to have a line item in the budget for this scenario than to be caught off guard. Remember, Oracle’s subscription costs post-NFTC could be significant, so do the math for your environment size and set aside funds accordingly.
  5. Consider Alternative Java Distributions for Stability: If your organization knows that frequent upgrades will be challenging (perhaps due to having many legacy systems), evaluate using OpenJDK distributions from other vendors that offer longer support for Long-Term Support (LTS) releases. For example, some open-source providers or OS vendors back-port security fixes for Java LTS for several years without charge. While this is outside Oracle’s NFTC, it’s a valid strategy to reduce licensing risk: many companies mix Oracle JDK (for latest features) and OpenJDK (for older versions) or switch entirely to open-source builds to avoid Oracle’s time limits. The goal is to ensure you’re not solely reliant on Oracle’s free window if that model doesn’t suit your IT lifecycle. This evaluation should be done by the architecture team and weighed for pros and cons (e.g., support, compatibility) – it’s an option to keep on the table for the CFO when considering risk mitigation.
  6. Establish Internal Policies for Java Usage: Create or update your company’s software asset management policies to include Oracle Java. For instance, mandate that no Oracle JDK 8 or 11 be deployed in production without a management review, since these likely require a paid license. Similarly, set a policy that any packaging of Oracle JDK with products must be approved by compliance/legal to ensure it meets NFTC terms. By having formal policies, you reduce the chance of a well-intentioned engineer accidentally violating the license. Regularly review these policies as Oracle updates its FAQs or terms.
  7. Monitor Oracle Announcements and Roadmaps: Assign someone (or a team) the responsibility of keeping up with Oracle’s Java licensing news. Oracle often publishes blog posts or FAQs when a change occurs, such as the introduction of the 2021 NFTC or when an NFTC period ends​. Staying informed will give you more time to act. You can subscribe to Oracle’s Java newsletter, follow credible Java licensing blogs, or engage with a software licensing advisor. The key is to be aware of changes before they affect your environment. For example, suppose Oracle were to modify the NFTC terms or introduce a new model (as they did in 2023 with an enterprise subscription model). In that case, you want to evaluate the impact promptly, rather than reacting after receiving an audit notice.
  8. Decide on Support Needs: Oracle vs. Third-Party – Assess how you will handle support and updates for Java. Since NFTC doesn’t include support, if your systems are mission-critical, you might want a support contract from someone, whether that’s Oracle or a third-party support provider. Evaluate the cost/benefit of Oracle’s Java SE Subscription (which would give you support and longer updates for a fee) versus relying on community support or in-house expertise. Some organizations choose to pay Oracle for a subset of important systems while keeping others on NFTC. Others might contract companies that specialize in OpenJDK support. CFOs should weigh the risk cost of not having support (downtime, slower issue resolution) against the subscription cost. Making an informed decision here will help align your spending with your risk tolerance.
  9. Document and Demonstrate Compliance: Maintain clear documentation of your Java usage under NFTC – what versions you have, when they were installed, and proof that you didn’t use Oracle updates beyond the free period (if applicable). For instance, keep a record that “Our servers run Oracle JDK 17 up to update 17.0.8 (which was released within the free period)”. If an audit happens, having this data organized can show that you respected the license terms, potentially avoiding further scrutiny. Essentially, treat Java like any other licensable software: have your compliance evidence ready.
  10. Engage Expert Help if You’re Uncertain: Oracle’s licensing can be complex and arcane. If your organization is large or heavily dependent on Java, consider consulting with a software licensing expert or Oracle license specialist. They can help interpret NFTC vs OTN nuances, perform a compliance health check, or advise on contract negotiations if you do need to buy subscriptions. Sometimes, an upfront investment in expert advice can save a lot by optimizing your strategy, ensuring you don’t overpay or undercomply.

By following these recommendations, CIOs and CFOs can turn the NFTC license change to their advantage – leveraging free Oracle Java where it makes sense, while avoiding the pitfalls that could lead to compliance issues or surprise costs.

The key is active management: Oracle’s NFTC made Java licensing easier in some ways, but not effortless. With proper governance, you can enjoy “free Java” and still sleep at night knowing you won’t get an ugly true-up bill from Oracle.

In conclusion, the 2021 switch to the NFTC license presents both opportunities and responsibilities for enterprises. It offers a return to free use of a critical technology (Java) under Oracle’s umbrella, which is great for innovation and cost-saving. But that free use comes on Oracle’s terms – terms that executives must stay up to date on.

Understanding the NFTC license in depth and preparing your organization accordingly, you can avoid risks and make informed decisions about your Java strategy moving forward.

Always remember the adage: Trust, but verify – or in this context, “Free, but verify the fine print.” With that mindset, you can confidently guide your teams in the post-2021 Java licensing landscape.

Author

  • Fredrik Filipsson

    Fredrik Filipsson brings two decades of Oracle license management experience, including a nine-year tenure at Oracle and 11 years in Oracle license consulting. His expertise extends across leading IT corporations like IBM, enriching his profile with a broad spectrum of software and cloud projects. Filipsson's proficiency encompasses IBM, SAP, Microsoft, and Salesforce platforms, alongside significant involvement in Microsoft Copilot and AI initiatives, improving organizational efficiency.

    View all posts