Saturday, January 18, 2025

Demystifying Oracle Java Licensing: Navigating Complexity, Costs, and Audits

Organizations using Java are facing a significant rise in licensing fees with Oracle’s new subscription pricing for Java SE. Forrester noted that Oracle’s Java SE Universal Subscription could ease the process of monitoring installations, but the financial impact might be heavy.

To manage this shift, companies must inventory all Java installations and track their licensing agreements. Now more than ever, effective software asset management is crucial. Forrester warns that missing these details could lead to unexpected licensing fees.

IT departments need to utilize asset management tools to ensure compliance with Java licensing. Gartner revealed that over half of Oracle’s compliance and audit interactions in 2022 involved Java, highlighting an ongoing issue since Java has been integrated into enterprise applications for nearly three decades.

Where is Java used? A study from New Relic showed that in 2020, Oracle dominated the Java Developer’s Kit (JDK) market, holding nearly 75%. However, following Oracle Java 11’s restrictive licensing, many organizations began to transition away. Although Java 17 is more open, New Relic’s data reflects a steady decline in Oracle JDK usage—from 34% deployment in 2022 to around 21% in 2024, marking a 28% drop in just a year. The rising cost of software licensing is a major driver behind this shift.

Oracle presents three different licenses for Java, along with various Java products requiring licenses such as Java SE and Oracle Java SDK. There’s also the Java Runtime Environment (JRE) and OpenJDK, the open-source option, which adds complexity to audits. Simon Ritter, author of OpenJDK Migration for Dummies, highlights the intricacies: the Oracle binary code license (BCL) allows free embedded use but only applies to versions before April 2019.

The Oracle Technology Network license demands a subscription for enterprise-level use and can become expensive, as fees depend on employee count. Then there’s the no-fee terms and conditions license (NFTC), which permits free use for internal applications for a limited time, but it only lasts for three years. Transitioning back to the Oracle Technology Network license can create budgeting headaches, as organizations must stay updated every two years to avoid fees.

Why stick with Java? Java 21, released in September 2023, introduced significant enhancements like virtual threads and improved libraries, making it more competitive with modern languages. Its runtime environment optimizes performance through just-in-time compilation, allowing applications to leverage the latest processor advancements.

New Relic’s report for the first half of 2024 shows a swift uptake of Java 21, with a 380% increase in its adoption compared to Java 17’s launch. Java 17 has seen impressive growth too, climbing from 9% to 35% usage in just one year, a feat that took Java 11 years to achieve.

Organizations looking for alternatives to Oracle Java have options like Azul, Amazon, Microsoft, Red Hat, and SAP. These alternatives provide TCK-certified JDKs, ensuring compliance and performance consistency, as Ritter points out: switching from Oracle to another OpenJDK distribution won’t change how applications run.