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.
If you are using a version later than 17, there is no subscription required, so switching to this version is one of the solutions that can be envisioned to reduce the budget impact associated with the new metric.
Of course, we can work toward this or provide 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.
The problem is not just compliance: the costs of migration, upgrade or support (e.g., OpenJDK does not provide this) could outweigh maintaining the status quo.
Nel webinar “Conosci l’impatto della nuova metrica Oracle Java?” che si è tenuto il 6 aprile, abbiamo visto come ottimizzare la spesa legata alle licenze con le strategie più adatte per la vostra azienda, in modo da garantire il valore di Java e la sua conformità in ogni momento.
OTTIENI IL VIDEO!