Oracle Java Licensing Changes and How to Solve Them in 8 Steps
Oracle made a major Java licensing change in 2019 when they announced that public security updates for Java 8 would no longer be available without a subscription.
Most organisations started to review if they needed security updates or not.
Most organisations overlooked that Java has been released under a commercial licensing agreement, BCLA, since 2010. The agreement specifies what Java is allowed to be used for. To summarise, "general-purpose computing", defined as office suite productivity tools and internet browsing, is free. But using Java in applications or solutions that provide dedicated functionality will require a paid license agreement from Oracle.
Most Java users should have purchased a license many years ago. But nobody paid attention to this product from a commercial or a licensing perspective because Oracle did not have Java salespeople or auditors until 2019.
Java licensing change in 2021 – a rollback?
In 2021 Oracle made another Java licensing change. They announced that starting with Java 17, Java would again be free, and no license would be required.
Eight steps to review your Java licenses
Scan your environments for all Java deployments. Any inventory tool should suffice.
Match all your Java deployments per the applicable licensing agreement.
Review if you have used Java Commercial Features or not. (licensable)
You will find that you have Java on servers and clients, but you cannot find out why. Hint: most of it has been deployed because your IT thought Java was free.
You will find that you have Java on VMware, which is the biggest challenge for Java users.
Calculate the licensing requirements for both servers and desktops.
Start optimising Java by consolidating to clusters, and uninstalling Java, so you reduce the licensing requirements for Java.
Only now should you contact Oracle because if you contact Oracle sales about any question, they will initiate a Java audit (soft audit), and you will struggle to purchase any licenses.
Oracle has different agreements for you to purchase Java. They have Java ULA, Java employee-based metric, and volume purchase. The discounts for Java are non-existent and are based on the purchase volume.