ORACLE BCL AGREEMENT
The BCL covers versions (including updates) released before April 16, 2019, from version 5 to 10 (excluding version 8 following update 211, then we will see in detail).
The Oracle BCL provides for a "restricted use" concept and thus requires payment of a subscription to use Oracle Java, except in cases where:
- there are "General Purpose" conditions.
The BCL defines "Software," "General Purpose Desktop Computers and Servers," "Programs," and the relationships between these terms. Within the BCL, we read that Java is free in cases where "general purpose computing" conditions are met (the cases of "general purpose use" such as viewing content via browser, using email or productivity applications such as may be a suite for delivering streaming webinars)
"General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to e-mail, general purpose internet browsing and office suite productivity tools)
- re-entries into the development environment for internal (and not third-party) applications.
"Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and use internally the complete and unmodified software for the purpose of designing, developing, and testing your programs."
At the same time in the BCL Oracle also defines that:
"You may not use the Commercial Features for running programs, Java applets or applications in your internal business operations or for any commercial or production purpose, [...]. If you want to use the Commercial Features for any purpose other than as permitted in this Agreement, you must obtain a separate license from Oracle."
In other words, you must pay for a commercial license to use any Commercial Features. It sounds simple, but it is surprisingly easy to inadvertently activate and use the commercial features of Java. Downloading Java software from the Oracle Web site, which features a mix of free and commercial functions, requires attention as to what additional functions are required to be licensed.
In fact,you must be aware of what commercial features are automatically included in Java SE by reading the Oracle website and additional terms. These include:
- Java Flight Recorder
- Java Mission Control
- Java Advanced Management Console
- MSI Enterprise JRE Installer
- JRockit Flight Recorder
- JRockit Mission Control Console observability
- JRockit Mission Control Memory Leak Detector observability
- JRE Usage Tracking
- JRockit Real Time, Deterministic GC
So, if the downloaded version is among those under BCL, you have to check if the usage falls under "General Purpose", for which no license is required.
But the latter lapses if: 1) The April 2019 update is applied and if 2) commercial features are used outside of Test and Development for internal applications.
ORACLE OTN AGREEMENT
Beginning in April 2019, Oracle changed the licensing policy for JDK8: since there were no longer free public updates for Java 8 (which was the most popular version among developers), companies had to start paying for commercial support or look for a replacement for Oracle Java.
As of this "critical patch update," JDK licenses downloaded from the Oracle site fall under the OTN contract, i.e., from the update following 8u202. Licenses under BCL, once the security update is done, also fall under OTN.
This agreement is substantially different from the BCL: the concept of "General Purpose" is dropped but free uses are provided such as:
- personal use (e.g., for gaming)
- development use (provided the application is not in production and therefore developed for internal use only)
- Oracle-approved product uses (we can find them here)
- use on the Oracle Cloud Infrastructure (OCI)
ORACLE NFTC AGREEMENT
With the release of Java17 in 2021, Oracle changed the licensing terms and introduced the NFTC Oracle No-Fee Terms and Conditions license, based on feedback from developers who wanted to have Java free again for commercial use.
As mentioned earlier, with the new LTS Java SE 21, version 17 does not require subscription only if it has updates prior to update 13.
If you use a version with later updates, it is licensed with OTN and thus commercial uses are prohibited (subject to the exceptions provided under "License Rights and Restrictions")
The switch to the Java SE 17 version until recently was one of the solutions that could be envisaged to reduce the budget impact related to the new metric. Now we need to evaluate under which contractual arrangement it falls (whether OTN or NFTC).
We can still work to migrate to Java SE 21 or envision other countermeasures, such as removing Java or switching to open source versions or even providing for cases where use is free, but remember that at any time an employee or contractor could install Java without the appropriate license, and then you would no longer be compliant.
Il problema non è solo la compliance: i costi di migrazione, aggiornamento o supporto (es. OpenJDK non lo prevede) potrebbero essere superiori al mantenimento dello status quo.
In WEGG we deal with optimization of licensing-related spending with the strategies best suited for your business to ensure the value of Java and its compliance at all times.
If you need support in navigating Oracle Java licensing and contracting contact us at [email protected]