In January 2023 Oracle announced a huge change to the licensing terms for Oracle Java by switching to employee count licensing. Since then, ITAM managers have been asking themselves how they can remove Oracle Java from their organization.
Make no mistake; this change is probably the biggest ever threat to your IT budget from a single publisher. Previously, certain versions of Oracle Java were licensed on a usage-based metric, either Per Processor or Per User (Named User Plus). Oracle Java is now licensed per employee, regardless of whether that employee uses it. Furthermore, according to Oracle’s definition employees include permanent, temporary, and contract workers directly employed, plus employees from third parties who support an organization’s business activities.
This change will result in a considerable increase in costs for many organizations. ITAM Review has heard real-world estimates of between 2x – 10x cost increases. Oracle Java is now a multi-million-dollar line item in your IT budget and therefore requires immediate attention and action.
Furthermore, there is no hiding from this charge. Oracle simply needs to detect a download of a fee-payable version by your organization and to have knowledge of your employee count to invoice you. No audit, no discovery, no negotiation required.
Read on to learn practical tips about dealing with this licensing change, including how best to minimize the cost impact. To find out your potential financial exposure, use our calculator to compare costs under legacy and current licensing terms.
This seismic change requires a multi-stakeholder approach to response and resolution. In discussions with large organizations ITAM Review has heard that the announcement led to an immediate activation of senior leadership teams in IT, Finance, Legal, IT Security, and Procurement as they look for ways to reduce or remove Oracle Java from their estate. For many organizations this may well be a board-level event due to the scale of the financial exposure. So how should you act?
Our best advice is to activate your software audit response plan if you have one and initially present the scale of the problem to the person responsible for signing off IT spend. Given the cost exposure involved this may also require escalation beyond them.
To set the scene for stakeholders, we recommend you take the following steps.
Unless you have watertight control over your Java environment the scope will be the number of employees (by Oracle’s definition of the term) in each legal entity which comprises your organization. This information will be available from your HR, Finance, or personnel departments. In the absence of an exact figure, it is reasonable to take a user count from an IT source such as Active Directory or your ITAM tool. Remember that this will be a low-ball approximation due to Oracle’s definition of what constitutes an employee. Multiply this figure by Oracle’s list price for Per Employee licensing.
Armed with an estimate of the scope the next step is to activate the required stakeholders and form an Oracle Java Response Committee.
Core stakeholders required to form a response committee include:
The ITAM Team is responsible for advising the committee on licensing terms, usage, and exposure.
IT Senior leaders must be engaged as outcomes from this process are primarily technology decisions and additional costs will require their authorization.
Procurement is responsible for engaging with Oracle and alternative vendors commercially.
Finance may need representation in order to discuss financial impacts of a large increase in unexpected and un-budgeted cost.
Architects and similar roles are best placed to advise the committee on what’s technically possible when it comes to removing Oracle Java, including providing an understanding of technical debt, version constraints, the value of Oracle Java to the organization, and so on.
Optional stakeholders should include IT Security and Legal.
IT Security need to be involved, particularly if a decision is made to remove Oracle Java from the environment. They will own the tools and processes necessary to make that happen.
The input of legal may be required to advise on company structures and options for limiting scope of the per-employee charge – for example to a subset of affiliates or divisions.
Utilize the usual decision-making process in your organization. Assign responsibilities for key deliverables. The role ultimately responsible should have signing authority for the estimated cost exposure. Define the meeting frequency and ensure commitment to the process by the key stakeholders. At the first meeting present the estimated scale of the issue to all present and discuss the following options.
Organizations have six options to respond to this change. There is no “do nothing” option.
In limited circumstances the shift to per employee licensing may result in a cost saving, particularly for organizations with low employee counts and relatively high server counts. For most, however, there will be a cost increase which will need to be authorized and budgeted for. Whether this increase is acceptable to your organization is a business decision, based on the level of disruption caused by taking action to avoid it and the value that Oracle Java provides to your organization.
Existing Oracle Java SE licenses using the Processor and NUP metrics remain valid and Oracle state that they may be renewed under existing terms. However, at time of writing, it is not clear if this extends to increasing the quantities of Processor or NUP licenses, nor is it clear how long Oracle will permit renewal under existing terms. At best, assume that this option simply buys time.
Oracle Java 17 and later versions are licensed under the Oracle No Fees Terms and Conditions (NFTC) license. Versions 17 and above are not in scope for the per employee charge. However, as noted above, a single install of a Java version not covered by the NFTC and not covered under Permitted Use under the OTN license makes your organization liable for the per employee license charge, meaning that an upgrade program may not mitigate the risk.
Licensing is included for installation and usage of any version of Oracle Java when deployed to Oracle Cloud Infrastructure (OCI).
As noted throughout this article, a single production installation of an Oracle Java version prior to Release 17 and not covered under Permitted Use rights means that you must pay the appropriate level of per-employee charge under the Oracle Java Universal Subscription terms. Therefore, to avoid paying this charge technical measures and controls must be deployed to prevent such an installation, once fee-payable installations have been eliminated from your environments.
Several commercial and free alternative Java builds based on the Oracle OpenJDK build are available. Discussion of the technical merits and pricing of these alternatives is beyond the scope of this guide, but they may provide a viable alternative to commercial licensing of Oracle Java under the new Universal Subscription terms. However, to benefit from them, all instances of Oracle Java covered by Universal Subscription terms must be removed from the environment.
All options presented above require a multi-stakeholder approach to implementation. Migration away from Oracle Java installations licensable under Universal Subscription terms is a long-term project. For organizations with existing Oracle Java license agreements the best option is to renew under those terms and keep a tight control of license compliance against the Processor and/or NUP metrics. It’s reasonable to assume that Oracle will prioritize auditing such customers with the aim of uncovering excess consumption under those legacy metrics and requiring a switch to Universal Subscription terms.
Initial preventative measures are similar to those deployed when a license audit is initiated.
ITAM Review have been informed that Oracle’s Sales organization has already activated on this license change and has begun contacting customers. Treat any contact from Oracle as you would if faced with a licensing audit. That means controlling the conversation and any flow of information. Appoint an authorized representative and require that Oracle communicate solely with them. Alert key stakeholders of this change.
Work with IT Security to deploy technical measures and controls to limit download of Java binaries from Oracle sites. All Java downloads require registration, meaning that Oracle is alerted when your company downloads a version covered by the Universal Subscription terms. Optionally, back up the technical measures with a communication program to alert all employees to the dangers of installing unauthorized software. Where possible, restrict computer administration rights to authorized users.
With preventative measures in place the next step for the committee is to evaluate the options. When setting milestones for the project note the renewal date for your existing Processor/NUP licenses, if you have them. However, in many organizations migrating away from Oracle Java, if that’s the chosen option, may well be a multi-year project. At time of writing this guide limited information is available about interactions between Oracle Sales and customers but an approach to consider may be to engage proactively with your Account Manager, particularly if your organization is on good terms with Oracle. Explain that this change jeopardizes the relationship between the companies and start negotiating accordingly. We cover Oracle’s potential motives for this change below.
This section provides a brief guide to the background of this change.
Oracle acquired Java as part of their acquisition of Sun Microsystems in 2010. Since 2018 Oracle have provided two builds of Java – the proprietary and commercial offering Oracle JDK and the free open-source OpenJDK.
Since that change many companies have begun providing and maintaining OpenJDK builds. Some of these are paid-for offerings, others are free to use, including for commercial use.
OpenJDK builds are not always functionally-equivalent to Oracle JDK builds, meaning that Oracle Java code may not necessarily run on an OpenJDK build. However, as pointed out to us by Azul, this isn’t always the case, since Azul Zulu Builds of OpenJDK are certified as compliant with the OpenJDK reference implementation, so it’s worth checking the certification of your own implementation of OpenJDK.
Oracle Java is licensed under the following license agreements. The following provides a high-level guide, as always with licensing there are caveats, exemptions, and so on. Always read your agreements and seek expert advice.
The Binary Code License (BCL) applies to Oracle Java versions prior to version 8 patch level 211. If this patch level has been applied, then the Oracle Technology Network License Agreement (OTN) applies.
OTN license terms apply to Oracle Java versions from Oracle Java 8 patch level 211 and prior to Oracle Java 17. Prior to January 23rd 2023 metrics used to define license entitlements under OTN were Processor and Named User Plus (NUP). On and after 23/1/23 the metric is Employee, as defined by Oracle.
An entitlement/subscription is not required to use OTN-licensed installs in the following cases:
NFTC applies to Oracle Java 17 onwards. As the name suggests, no fee is payable. Oracle has stated that updates to Oracle Java 17 will be provided free for one full year after the next Long Term Service (LTS) branch is released. This means that Oracle reserves the right to charge for updates to prior versions (including version 17) in the future. The next LTS is due for release in September 2023, meaning that NFTC terms should apply to version 17 until at least September 2024.
Universal Subscription is since January 23rd 2023 the product required to acquire Java versions under the OTN license. Prior to January 23rd 2023 the product was Oracle Java SE Subscription, licensed per Named User Plus (NUP) or Processor. The metric used for the new Universal Subscription is Employee.
Oracle’s definition of an employee is
(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 following is a worked example for a mid-sized organization of 5,000 employees, previously licensed Per Processor for 500 processors, or under NUP with a 1:1 ratio between employees and NUPs. To calculate your own estimates, download our free Oracle Java calculator (Excel spreadsheet, no macros or code).
List Price under Per Processor: 500 processors x $20 x 12 months = $120,000
List Price under Per Employee: 5,000 employees x $10.50 x 12 months = $630,000
List Price under Named User Plus (NUP): 5,000 employees x $1.75 x 12 months = $105,000
Which equates to just over a 5-fold (or 525%) price increase over Per Processor licensing, or a 6-fold (600%) price increase over NUP licensing.
Oracle claim that this licensing change provides “a simple, low cost, monthly subscription” which “greatly simplifies tracking and management of your licensed environment”.
As the figures above note, this may well be far from the case for many customers, although the burden of managing NUP & Processor entitlements should not be understated, in particular given Oracle’s interpretation of what constitutes a Processor.
The view of ITAM Review is that in the short term this change will generate considerable license revenue for Oracle, particularly if organizations don’t take early action or seek to remove Oracle Java entirely. The clock is very much ticking. At time of writing ITAM professionals have advised ITAM Review that they forecast anything from a 2x – 10x cost increase because of this change.
In the longer term we believe that Oracle’s plan is to drive customers to Oracle Cloud Infrastructure (OCI), where Java usage is effectively free. Oracle CEO Safra Catz noted this in an earnings call in June 2022:
“In addition, of course, in technology, we also have our leading Java business, which on-premise[s] is an extensive use and in the cloud is at no charge. So customers can be motivated to bring their Java to the Oracle Cloud and to use it at no charge, their Java program and to use it at no charge”
Source: Oracle Corporation (NYSE:ORCL) Q4 2022 Earnings Conference Call June 13, 2022 5:00 PM
Oracle’s focus on OCI has been growing since a slow start and it is now undoubtedly gaining traction. This seismic change in Java licensing will undoubtedly support that growth, growth which is very popular with shareholders.
This change is probably the biggest ever threat to your IT budget from a single publisher. It’s vital that you act now to assess the risk and potential financial exposure. Start with this guide, use the calculator, talk to your peers, and consider engaging an Oracle expert.
It’s still early days and we’re waiting for key data and guidance, such as what Oracle’s sales tactics will be, and under which terms renewals of existing licenses are possible. ITAM Review will continue to track this during the rest of 2023 and beyond. Contact ITAM Review via support@itassetmanagement.net if you have a story or insight to share regarding this topic. Indeed, if you succeed in your attempts to remove Oracle Java from your estate, please share your experience with us.