The old saw 'the easier, the better' just got stood on its head by Oracle, specifically concerning licensing Java.
Businesses that over the past several years have been subject to the uncertainties and vagaries of licensing Oracle’s Java recently heard what seemed to be good news: licensing Java has, on paper, become simpler. Unfortunately, that good news comes wrapped in some very bad news. As of earlier this year, Oracle appears to have put in place metrics for Java licensing. While potentially more predictable for business consumers, the new metrics present a degree of uncontrollable financial exposure previously unimaginable.
On January 23, 2023, Oracle released a new Global Price List for licensing Oracle’s Java. The sole Subscription Metric is listed as “Employee for Java SE Universal Subscription”, and the listed “Monthly Subscription Price” decreases in increments as the “Volume” of employees increases. The new metric is a defined term:
Employee for Java SE Universal Subscription: is defined as (i) all of Your full-time, part-time, temporary employees, and (ii) all of the full-time employees, part-time employees and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations. The quantity of the licenses required is determined by the number of Employees and not just the actual number of employees that use the Programs. For these Java SE Universal Subscription licenses, the licensed quantity purchased must, at a minimum, be equal to the number of Employees as of the effective date of Your order. Under this Employee metric for Java SE Universal Subscription Programs(s), You may only install and/or run the Java SE Universal Subscription Program(s) on up to 50,000 Processors, If Your use exceeds 50,000 Processors, exclusive of Processors installed and/or running on desktop and laptop computers, You must obtain an additional license from Oracle. (Bold font added for emphasis.)
While there is a lot to unpack here, first and foremost, the number of licenses required for Java use is completely divorced from the number of actual users. Lest there be any confusion about this, Oracle provided the following example:
Pricing Example ($USD): Your company has a total employee count of 28,000 as detailed in the Employee for Java SE Universal Subscription definition below. This includes 23,000 full-time, part-time, and temporary employees plus 5,000 agents, contractors and consultants. Therefore, the price would be 28,000 X $USD 6.75/month X 12 months = $USD 2,268,000/year.
The surprises do not stop there. The net Oracle casts with the use of the term “employee” is spectacularly broad. Not only does it include full, part-time and even temporary employees (regardless of whether any individual uses Java), it also includes “all of the full-time employees, part-time employees and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations.”
Much like a guillotine, Oracle’s changes are simple and to the point. A few observations:
This is the only licensing metric for new Java purchases. The “per user/per processor” metric is gone, entirely replaced by the new employee-based metric.
A single employee user triggers the entire scope of this new licensing model. If your company has a single employee that is using a commercial version of Java for business purposes, your company must purchase Java licenses pursuant to this metric.
There is no limitation on type of employee that must be licensed. Per these terms, for example, if your company is a massive retail chain, a temporary employee hired to ring up customers during the busy holiday season must be counted in the number of required licenses. Further, there are no apparent geographical limitations. On its face, a single commercial use in the United States mandates a complete licensing tally of all world-wide employees.
“[A]ll of the full-time employees, part-time employees and temporary employees of Your agents, contractors, outsourcers, and consultants that support Your internal business operations” is hopelessly confused and impossible to comply with. If your company outsources any of its “internal business operations” (an undefined term), your company’s yearly Java price tag must, in some material fashion, account for employees of the companies you retain. But which employees? The narrowest possible read (only those that directly provide services to your company) would be nearly impossible to calculate on behalf of an entirely separate company. The broader read (and the one that a facial reading of the contract appears to suggest) demands that your company license all of the outsourcing company’s full-time, part-time and temporary employees.
Suggesting the latter, broader, read is the correct one, this clause is followed by: “The quantity of the licenses required is determined by the number of Employees and not just the actual number of employees that use the Programs.” Notably, there is no indication that the foregoing sentence is only intended to apply to “your employees.” As such, Oracle appears to be mandating that a 100-employee company that outsources mail operations to Pitney Bowes may be at risk for licensing that company’s 10,000+ employees when using Java.
Finally, we note that this definition differs from the “Employee” definition contained in the most recent iteration of Oracle’s Oracle License Definitions and Rules Booklet which specifically includes only employees of outsourcing entities that have “access to, use or are tracked by” Oracle software. The fact that Oracle removed this restrictive clause for the Java Global Price List indicates an intent to mandate the inclusion of a much broader range of employees when licensing Java.
For several years, Oracle has been struggling with how to best monetize Java.
Back in 2018, around the time that Oracle announced it would stop providing non-commercial updates to Java, we published an article in Bloomberg Law that identified ongoing misconceptions in Java licensing. Entitled “INSIGHT: Understanding Your Oracle/Java License–Not Everything is as it Seems”, we pointed out the (now outdated) misconception that Java was open source and free to use. We wrote:
Oracle’s Java is one of the most – if not the most – prevalent programming languages used today. However, accompanying this ease and popularity, Java-based programming may involve murky and unexpected licensing concerns.
We noted that many industry analysts predicted a coming deluge of Oracle audits targeting Java, stating that “according to some reports, Oracle has not only begun targeting Java licensees, it has hired a team of near two dozen employees that are specifically charged with enforcing Java licensing terms.” Other contemporary sources concurred, some surmising that while Oracle Java audits had yet to materialize, “given Oracle’s history with auditing it’s only a matter of time before they move to monetize Java.”
By October of 2020, we noted that the predicted onslaught of Java audits still had not materialized. We speculated that Oracle’s unexpected successes in the titan-on-titan Google v. Oracle litigation may have played a role:
[I]t is our speculation that Oracle refrained from launching a wave of Java audits pending the resolution of Google v Oracle. There can be little doubt that fostering a bad public reputation for recklessly leveraging its Java copyright against hapless licensees (many of whom still thought it was open-source) could be used to sway any court against taking over measures to strengthen Oracle’s copyright in Java.
No one was as surprised as we were to learn that on April 5, 2021, a 6-2 majority of the United States Supreme Court granted Google’s appeal and held that Google’s use of the Java APIs was within the bounds of fair use. While we were wildly in favor of that decision, we noted that it might usher in a new era of Java audits:
[N]ow that the slug fest is over, will Oracle cease fretting over public perception of its handling of Java licensees and launch the wave of Java audits that has long been anticipated? The next several months will be very revealing for the perplexed Java licensee.
In just a few short months, the answer to our question was a resounding “yes.” In early 2022, we saw an increase in Java users who were on the receiving end of what we dub “soft audits” characterized by aggressive and, at times, threatening sales tactics. Next, we began to hear about Oracle audits including Java, which was confirmed by a March 2022 article in the The Register reporting that Oracle “has begun to include Java in its software licensing audits as part of a classic move set to catch customers on the fringes of non-compliance and beyond.”
Several months prior to the January 2023 launch of this new metric, certain Oracle sales reps were giving their licensees the opportunity to utilize the new employee-driven metric to address Oracle’s allegations of past due licensing fees. Still, this was no preparation for Oracle’s shocking decision to change the model as it did.
What follows are the headlines for business consumers of Java in the wake of Oracle’s freshly minted punitive metrics, which have created new legal peril and financial exposure:
* * *
As always, Beeman & Muchmore remains available to discuss your company’s particular issues regarding licensing Java, including the developments enumerated above.
Published on March 15, 2023
Software licensors are known for vague contracts—they’ve made a business of it.
Read the latest industry news.