In 2021, Oracle made a significant change by releasing Java 17 under its No Fee Terms and Conditions (NFTC) license, a response to the backlash from the 2019 decision to charge for Java licenses. While this move offered temporary relief by making Java 17 "free" again, the fine print indicated that this would only last until one year after the release of the next Long-Term Support (LTS) version.
With the release of Java 21 LTS in September 2023, that one-year period has ended, and as of September 2024, Java 17 is no longer covered under the NFTC license for any new releases. But what does that really mean for your organization, and do you need to license Java 17 right away?
It’s important to note that only new releases of Java 17 (post-September 2024) will no longer be under the NFTC license. Any version of Java 17.0.0 through 17.0.12 is still covered under NFTC, meaning they remain free as Oracle originally intended. If you’re using Java 17.0.12 or earlier release, you still comply with the NFTC terms and do not need to license Java 17 immediately. If you plan on upgrading to newer versions of Java 17, beyond 17.0.12, these versions will fall under Oracle’s Java SE Subscription or Oracle Technology Network (OTN) license, which may require a commercial license.
While older versions remain free under the NFTC license, there are critical considerations around security and support. Staying on free versions (Java 17.0.12 or earlier) means you will no longer receive the security patches and updates provided in newer releases, which could leave your applications vulnerable to threats.
It’s essential to weigh the risks of staying on outdated versions against the costs of upgrading. Although there’s no immediate need to scramble for Java licenses if you’re on older versions, it’s important to understand your licensing obligations as you plan for future updates or audits. In certain cases, specific versions may still require a Java SE Subscription license. These tend to be exceptions based on your usage or environment.
Businesses should look at current usage and anticipate future growth, as licensing is often based on metrics like employee count or virtual CPUs (vCPUs). By implementing strong compliance tracking, businesses can minimize risk.
Ensuring compliance as part of your broader cloud strategy can prevent unnecessary licensing costs or surprises. Regular reviews of your Java strategy, especially in cloud environments like AWS or Azure, can help ensure compliance without overpaying for licenses you don’t need.
For businesses managing Java deployments, ongoing compliance monitoring is key. Tools like OpsCompass provide real-time insights into your licensing compliance, ensuring you stay within Oracle’s licensing rules across cloud and on-prem environments.
There’s no immediate licensing emergency if you're running older versions of Java 17 (17.0.12 or earlier), but careful planning is required for future upgrades. Consider your security posture, licensing needs, and whether sticking to an older version is worth the potential risks. Staying proactive about compliance can save significant costs in the long run.