Oracle in January announced a change to its Java license that bases pricing on the number of employees in an organization, rather than on instances in use like they have in the past.
“The new Java SE Universal Subscription was developed based on feedback from our customers with Java workloads running in increasingly diverse environments. It no longer requires customers to count every single Processor, Desktop, or Named User that may be using the subscription, and the permitted use is universal across desktop, servers, and cloud infrastructure,” said Mike Ringhofer, SVP of Worldwide Java Business at Oracle.
Scott Sellers, CEO of Azul, which provides its own Java runtime, says this is a pretty dramatic change in how Java is licensed and supported.
“It’s really one of the first times I’ve ever seen that the price you pay is completely decoupled from the value that you’re deriving from the software,” he said.
Previously, though users may not have liked the price they were paying per core, at least it made sense in that the more you use, the more you pay, Sellers explained.
According to a blog post written by Neil Stewart, senior research director at IDC’s Sourcing Advisory Service, a company with a small number of installs but a lot of employees may be paying millions per year for this license.
“As an example, a customer with 20,000 employees utilizing JAVA SE in any capacity under the new subscription terms would need to purchase JAVA SE Universal Subscriptions for all 20,000 Employees, at a monthly rate of $6.75, total $1.62M per annum,” he explained in the post..
According to a document released by Oracle, the monthly cost of each individual subscription is higher for smaller companies and lower for larger companies. For example, companies with less than 999 employees pay $15/employee/month, while a company with 40,000 to 49,000 employees will pay $5.25/employee/month.
Though Oracle is the company behind Java, the releases it is putting out are just based on OpenJDK, which is an open-source Java project.
“It’s not like OpenJDK is some reimplementation of Java, and Oracle has all this secret sauce that they’re doing. No, it’s all one and the same,” said Sellers.
There are a number of other companies that provide enterprise support for Java based on OpenJDK, one of which is Azul. Based on a survey from New Relic last year, Oracle only held 34% of the market share of JDK distributions, which was still the biggest share, but much less than its 2020 share of 75%. Following behind Oracle at the time of the 2022 survey were Amazon at 22%, Eclipse Adoptium at 11%, Azul Systems at 8%, and Red Hat at 6%.
“And so we already see a shift happening away from Oracle Java onto OpenJDK- based Java runtimes. There’s no doubt that this change will further accelerate that shift. There’s now even more motivation for developers to move to OpenJDK based distributions,” Sellers said.
IDC’s Stewart echoed this, saying that in order to avoid higher costs, customers may need to look into third-party alternatives that meet their requirements. A good first step is to gather employee and partner counts and assess their processor requirements to determine what their costs might be.
He also noted that because Oracle’s licensing terms are accepted when software is downloaded, companies not interested in taking part in the new licensing will need to set strict controls on permission, access, download, and installation of Oracle Java.
Sellers says this may entail having security teams block Oracle downloads and work with the security team to ensure there are no instances of it running in your organization.
“All it takes is one copy of Oracle Java downloaded into your enterprise, and now you have the full financial liability of running that … I mean, if that happened before, okay, whenever Oracle comes in and audits me, I pay for the few rogue developers that accidentally downloaded Oracle Java. Now, it’s a totally different deal. The liability is significant,” he said.