Part Two of a Three-Part Series
By Joel T. Muchmore and Arthur Beeman, Founding Partners, Beeman & Muchmore, LLP
The phrase “to have one’s head in the clouds” is often used to convey that someone does not know the facts of a situation or is otherwise out of touch with reality.
In our first blog post dedicated to reviewing Oracle’s Java licensing terms through the lens of the nine “Principles of Fair Software Licensing,” we urged customers to—in a manner of speaking—get their heads out of the clouds when managing Oracle Java. To that end, we highlighted two foundational principles: that licensing terms be clear and intelligible and that licenses cover reasonably expected software uses.
In this second blog post, we encourage Java users to put their heads right back in the clouds – or, more precisely, into the mindset of “cloud computing” when navigating the pitfalls of software licensing in the cloud.
Traditional on-premises computing is being left behind. Over half of business’ workloads are in the public cloud today, according to Flexera’s 2024 State of the Cloud Report.
Given the growing presence of cloud computing and its capacity for seemingly unlimited growth, the Coalition for Fair Software Licensing has dedicated four of its nine principles to assuring freedoms in the cloud:
- The freedom to bring previously purchased software to the cloud;
- The freedom to run on-premises software on the cloud of your choice;
- The freedom from retaliation for cloud choices; and
- The freedom for software licensing fees in the cloud to receive equal treatment.
Over the last several years, Oracle has all but ensured that Java customers have few of these freedoms—undermining the autonomous future of the cloud. The purpose of this blog is to shine another light on Oracle’s Java licensing practices, this time with a focus on the interplay between the cloud and CFSL’s four “freedom” Principles. To be clear, this interplay is complex, and its application to actual deployments is not intuitive. The savvy and diligent Java user should seek legal counseling regarding their intended Java use on the cloud to ensure license compliance and/or containment of risks.
Using Oracle Java in the Cloud
There are essentially two Java licensing models currently in play: (1) Oracle Java SE Subscription and Oracle Java SE Desktop Subscription (“legacy” or “processor-based”) and (2) Oracle Java SE Universal Subscription (“employee-based”). The legacy model, primarily offered by Oracle between April 2019 and January 2023, measures the number of Java installations, offering term licenses on those metrics. Despite the official retirement of the legacy model, many customers are currently licensing Java through this model by way of multi-year term agreements.
Conversely, the employee-based model mandates a license for (at least) every single employee, regardless of whether they use Java or not. This model replaced the processor-based model in January 2023 and continues to be Oracle’s sole public general-use commercial Java offering.
In Oracle’s License Definitions and Rules, both Java subscription models contain similarly opaque clauses regarding use in the cloud:
Your right to use the specified Oracle Java SE Subscription Program(s) for Your internal business operations includes using the Oracle Java SE Subscription Program(s) to run Your Java applications as a cloud service, subject to the terms of the Master Agreement. For the avoidance of doubt, You shall not make the Oracle Java SE Subscription Program(s) themselves available as a cloud service.
From this skeletal grant, one can glean that there is at least some right to use a current Java term license “as a cloud service,” albeit with restrictions. Practically, this limited allowance presents as many questions as it answers.
For example:
- What is a “cloud service”? Is it less than simply permitting Java deployment in a cloud?
- What constitutes “Your Java applications”? Is it limited to proprietary Applications developed by the customer (such as in the OTN License)? Or does it also include separately licensed third-party applications?
- Does this equally apply to public clouds and internally hosted clouds?
- Where is the line drawn between running “Java applications as a cloud service” and making Java “available as a cloud service”?
- Does the limitation on making the programs “available as a cloud service” impose a greater restriction than with regard to on-premises deployment? In other words, if Java is deployed on-prem, is there a comparable restriction on making those installations available for internal use outside the context of running apps?
Pricing Oracle Java in the Cloud
Oracle has created a policy document entitled “Licensing Oracle Software in the Cloud Computing Environment.” While Oracle acknowledges that its policies are merely “for educational purposes only,” the document should be read as a road map as to how Oracle will leverage cloud deployment with Java users, especially in regard to pricing.
Oracle’s cloud policy runs afoul of the most fundamental freedom articulated in CFSL’s Principles – the freedom to run software on the cloud of your choice. In its cloud policy, Oracle designates only two cloud providers – AWS and Microsoft – as “Authorized Vendors” and further circumscribes deployment to certain “Authorized Cloud Environments” (namely, Amazon EC2 and RDS, and Microsoft Azure). This policy does not appear to be based on technical restrictions but rather Oracle dictating which cloud customers can and cannot use.
Oracle also reveals discriminatory fees in its cloud policy: “When counting Oracle Processor license requirements in Authorized Cloud Environment, the Oracle Processor Core Factor Table is not applicable.” In other words, the standard 0.5 multiplier that reduces the core count by half is removed from the equation, resulting in twice the number of needed licenses in the cloud as opposed to on-premises.
Importantly, this is styled as a grant permitting users to deploy Java licenses in the selected clouds at an increased price. Oracle is silent regarding Google Cloud Platform as well as offerings by Alibaba, IBM, and Salesforce (just to name a few). And, while the price hike only applies to the legacy, processor-based, licensing model, the policy itself is fatally unclear whether a customer licensing Java on the employee-based model is similarly limited to deploying in “Authorized Cloud Environments.”
Oracle is not, however, silent regarding the availability and benefits of deploying Java licenses in the Oracle Cloud Interface (OCI). Oracle enshrines favorable processor/license ratios, but only for its own cloud.
In other words, in Oracle’s world, legacy Java software licenses do not operate the same in and out of the cloud. Java users negotiating terms for a software license in the cloud are vulnerable. Going forward, and remembering that Oracle’s cloud policy is not binding, Java users should bear in mind the Principles of Fair Software Licensing in negotiations.
The foundation of the Principles is grounded in the single most important issue for businesses as they enter the cloud – cost management and containment. In Flexera’s 2024 State of the Cloud Report, respondents stated that their current public cloud spending was 15 percent over the original budget and is expected to grow by 31 percent in the next 12 months. Escalating costs will only worsen in the cloud if Java users are deprived of the Principles of Fair Software Licensing.
Cloud computing is changing not just how we do business but how we live and view the world. Its potential for cost savings, safety, system mobility, improved data insights, and superior collaboration remains boundless. Sunny days lay ahead in the cloud, but only if freedom and fairness prevail for those relying on cloud technologies, including Java users.
Joel T. Muchmore and Arthur Beeman are the founding partners of Beeman & Muchmore, LLP, a law firm providing tailored software licensing and audit defense counseling.