In early 2023, Oracle announced significant changes to its Java licensing model that mean even long-time customers need to take another look at what they’re paying for. However, the new terms aren’t as straightforward as they could be, something that works in favor of the provider and often against the customer.
Java is one of the most versatile and popular programming languages, used by 30.49% of professional developers and 30.55% of developers at all skill levels. As such, it might be more practical for some companies to understand the changes and decide how to address them rather than jump ship.
Timeline of Oracle Java license changes
The 2023 announcement is the latest in a long line of changes to Java, going back to before it ever had a license. The most significant changes thus far are as follows:
- 1991: A team of three engineers at Sun Microsystems develop Java for embedded systems. They realize its potential for other areas, specifically the internet, and spend the next few years refining it for broader applications.
- 2006: Sun Microsystems releases Java 6 as open-source software under the GNU General Public License.
- 2009: Oracle buys Sun in a deal valued at $7.4 billion.
- 2010: Oracle introduces the Binary Code License (BCL) model for Java SE to recoup its investment.
- 2019: Oracle replaces the BCL Agreement with the Oracle Technology Network (OTN) License Agreement. Java also remains available under the GPL.
- 2021: Oracle introduces the No-Fee Terms and Conditions (NFTC) License.
All these changes have brought us to the present day, where Oracle announced it’s switching over to an employee-centric metric for licensing Java.
What’s new with the Oracle Java license in 2023?
Here’s a look at the changes that Oracle introduced to its licensing model for Java in 2023.
1. Licensing metrics
The biggest change is the switch to the employee metric. How much you pay depends on how many employees you have. There’s a lot to the metrics side of things, but the exact terms you should be aware of in this area are:
- You’re licensing it for all your employees, not just the ones that work with Java.
- “Employees” means the people you’ve employed on a full-time, part-time, and temporary basis, as well as all the employees of your contractors, consultants, agents, and companies you’ve outsourced to.
- The minimum amount you’ll need to pay for a Java SE subscription is calculated based on your employee numbers at the time you made your order.
- You can only license it for internal business operations. You’re allowed to grant access to third parties, like contractors and consultants, along with their employees, but only if they’re working on operations for your own business.
There’s also a separate metric that calculates your subscription costs by the number of processors on which you “install and run” the programs, with the following terms:
- “Processors” doesn’t include the ones on laptop and desktop computers.
- Oracle determines what counts as a processor, using a formula that multiplies the number of cores by a predetermined “core processor licensing factor.”
For both employee and processor metrics, you can only install and/or run the programs you subscribe to on a maximum of 50,000. Beyond that number, you’ll need to contact Oracle for a separate license.
2. Status of old licenses
Pricing models that relied on the older Processor and Named User Plus (NUP) metrics have been discarded as of the latest update.
The only way you can renew a license you got under these models is by letting Oracle’s Global License Advisory Services (GLAS) examine your subscription to see if it fits in with the new model. If you fail the criteria for qualification, you’ll need to pay for a new subscription.
If you look at these changes from a cynical point of view, you might decide that the evaluation is just smoke and mirrors designed to make it look like you have a real shot at renewing your existing subscription. In that case, you might benefit from Spinnaker Support’s Oracle license compliance assurance and audit defense services, which give you a fighting chance.
3. Status of existing licenses
Licenses like NFTC, BCL, and OTN remain valid depending on which version of Java SE you got them for. For instance, the BCL Agreement covers Oracle Java SE versions from before it was phased out in 2019 with no commercial features.
How much does an Oracle Java license cost?
Like a lot of software licenses, how much they cost varies between customers, depending on how and where they intend to use the software. In Oracle’s case, the size of your company determines the cost.
The company’s updated price list for Oracle Java licensing uses brackets grouped by total employee count as follows:
- 1 to 999 employees: $15 per employee per month
- 1,000 to 2,999 employees: $12 per employee per month
- 3,000 to 9,999 employees: $10.50 per employee per month
- 10,000 to 19,999 employees: $8.25 per employee per month
- 20,000 to 29,999 employees: $6.75 per employee per month
- 30,000 to 39,999 employees: $5.70 per employee per month
- 40,000 to 49,999 employees: $5.25 per employee per month
Companies with 50,000 or more employees will need to contact the company directly for an additional license.
Impact of the Oracle Java license change
As you might have put together by now, every major Oracle Java license change since the Sun acquisition has been an effort to get returns on the $7.4 billion investment. For this reason, the most significant effects of the recent updates are financial.
The new terms from Oracle could cost you between two and five times what you’re currently paying for Java SE. Oracle is also expected to ramp up software audits, and one in five companies using Java SE can expect an audit — which often carries hefty noncompliance fees — in the next five years.
Moreover, Oracle is reportedly employing aggressive strategies to get customers to switch over to the new model. One such tactic includes sending out unsolicited emails offering a chance to go over deals on subscriptions. Here, the company could uncover details about its customers’ businesses and use them to gain the upper hand during negotiations and audits.
Thankfully, we can get you through the application vendor’s deliberately obscured licensing terms and help you manage the financial effects of these changes. Our change management services can see you through the transition period if you have to move to a different version of Java SE.
Additionally, aside from the aforementioned compliance assurance and audit defense services, Spinnaker Support’s third-party support can cut down your software maintenance costs by half. This also means you’re not at the mercy of Oracle’s first-party support, where you might deal with slow response times and high maintenance fees.
What versions of Oracle Java require a license?
The current active license agreements for Oracle Java SE are:
- No-Fee Terms and Conditions (NFTC)
- GNU General Public License, version 2 with the Classpath Exception (GPLv2+CPE)
- My Oracle Support (Oracle Customers Only)
- Oracle Technology Network (OTN)
The company then applies these licenses to different versions of Java.
The GPLv2+CPE license covers:
- Oracle OpenJDK releases of Java 21 through January 2024
- All six-month Oracle OpenJDK releases of Java 18 and later
- Oracle OpenJDK releases of Java 17 through January 2022
The NFTC license covers:
- Oracle JDK releases of Java 21 through September 2026
- All six-month Oracle JDK releases of Java 18 and later
- Oracle JDK releases of Java 17 through September 2024
- All Oracle JDK releases of Java 11
- All Oracle JDK 8u211 releases of Java 8 from April 2019 and later
The My Oracle Support and OTN licenses cover:
- All Oracle JDK releases of Java 11
- All Oracle JDK 8u211 releases of Java 8 from April 2019 and later
OpenJDK as an alternative
If you’re feeling frustrated with Oracle’s licensed version of Java SE, then you might be interested in OpenJDK, a free and open-source variant of the platform.
Oracle JDK and OpenJDK differ in the following key areas:
- License and pricing: OpenJDK is free and open source, whereas Oracle JDK is, for the most part, paid software that requires a license.
- Development and release: Oracle develops and puts out new versions of Oracle JDK on a slow release schedule. While Oracle also develops OpenJDK, it does so alongside the JDK Project developer community and Red Hat, and new releases go out roughly every six months.
- Performance: Older versions of Oracle JDK receive long-term support, so they’re more stable. Older versions of OpenJDK become obsolete with new releases, so they’re less stable.
- Features: OpenJDK only comes with standard Java SE features, whereas Oracle JDK provides premium features like better rendering, Flight Recorder, and class data sharing.
- Supported platforms: OpenJDK runs natively on slightly more operating systems than Oracle JDK, most notably FreeBSD for servers. However, you can get Oracle JDK running on some of these platforms in compatibility mode.
Recommendations for your business moving forward
Now that you have a workable distinction between the two platforms, some factors you need to consider before making your decision are:
- Cost: Oracle JDK is more expensive but might be worth it for large companies, especially considering the premium features, stability, and longer lifespans.
- Expertise required: OpenJDK needs more hands-on teams and doesn’t have as much support as Oracle JDK.
- Scale: Oracle JDK is more reliably scalable out of the box because it’s designed to accommodate upwards of tens of thousands of users.
OpenJDK is underpowered when compared to Oracle JDK, yes, but you don’t need to submit to the whims of Oracle just to get the full power of its platform. Halfway between the two is Spinnaker Support’s third-party support services for companies running Oracle. They have you covered in every sense, from resource optimization to maintaining custom installations when Oracle won’t.
Oracle recently announced changes to its Java licensing model that could see companies’ licensing costs skyrocket to between two and five times what they currently are.
The biggest change includes switching over to an employee-based metric, where you pay to license Java SE for all your employees, including part-time and temporary employees, not just the ones that actually use it. Moreover, companies with existing licenses are now facing audits, which open them up to noncompliance fees.
These changes are in line with the vendor’s history of complex licensing terms that are more beneficial for Oracle than they are for the customer. Thankfully, Spinnaker Support’s compliance assurance and audit defense services and third-party support can help you navigate these changes with minimal risk.
Your license should work for you and not the vendor — contact us today and take charge of your company’s Java applications.