Oracle Changes Java Licensing: again!

Paul Bullen
Version 1
Published in
8 min readSep 16, 2021

Updated: 24 January 2023; Oracle have changed the metric for Oracle Java SE subscriptions. The principles laid out below are still valid (as to what requires a subscription) but it is best to take a look at our updated page here)

Today Oracle released Java 17 as per its usual schedule. Typically this would only be of interest to Java developers and the like, and certainly nothing exciting for those of us interested in licensing — after all, we’ve known about the move away from the Binary Code License (BCL) agreement since 2017. However, this time there were two changes which everyone should be aware of:

  1. The ‘cadence’ for releasing Long Term Support (LTS; basically, stable and suitable for production) releases of Java is moving from every 3 years to every 2 years (here).
  2. Oracle has introduced Oracle Java 17 under a new ‘no-fee license agreement (here).

Initially, these don’t seem to relate to each other, however as we will see, there is a connection.

TL;DR

If you don’t want to read this whole article, here’s the short version:

When you get to Oracle Java 17 (LTS release), you won’t need to pay for a subscription (for any ‘normal’ usage) until you want updates when it is more than 3 years since release. Beyond this point you will need to use the OTN / subscription license. Earlier versions are not affected.

If you use commercial features, you still need a subscription.

LTS Cadence

The adoption of a two-year cadence between LTS releases ( here) allows organisations to allow currency and reduce the incremental jumps between LTS releases (fewer features/changes can be made in between LTS releases) as well as knowing there’s more regular stable supported releases to adopt. This fits well with what we see in organisations: no one wants to run production workloads on non-LTS releases but the ‘jump’ between LTS versions is too large.

Stating the obvious, what this doesn’t help is the majority of organisations who still have legacy Java 7/8 environments with little or no uptake of Java 11 and beyond: these organisations have a ‘big enough’ task to keep Java 8 patched (if they even try!).

Please note that this 2-year cadence has been proposed to the Java community and so isn’t 100% confirmed yet, but very likely.

No-Fee Terms and Conditions License

So — the big news: Java 17 has been released under the No-Fee Terms and Conditions License (NTFC, here). This is crucially different from the OTN Java License ( here) in that the Rights allow not only “ developing, testing, prototyping and demonstrating your applications, and running the Program for Your own personal use or internal business operations”: i.e. you can use it in production, for commercial use under the agreement without paying. To say that again, you do not need to buy a subscription for Java 17 (as released) for any standard use. In Oracle’s words:

“Java 17 LTS is the latest long-term support release for the Java SE platform. JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions License.”

You must still buy a subscription for Java 17 if you want to use any commercial features (etc Advanced Management Console, MSI installer)

What’s the catch then? Have Oracle decided that there was a problem with the OTN Java license and subscription? No (it still remains): instead, I think enticing businesses to adopt later LTS versions of Oracle Java (rather than another provider) without cost is a good thing for the longevity of Oracle Java as a product and revenue stream, with reduced overheads for Oracle to provide support. As we will see, NTFC has its restrictions: not all businesses will be able to meet these and will still have to pay.

Customers using Oracle Java 17 (or any LTS) for more than 3 years will need to pay for a subscription to continue to receive updates.

  • It was released today (14 September 2021)
  • It will be provided on No-Fee Terms and Conditions until 1 year after the next LTS, Oracle Java 21, is released in September 2023.
  • After September 2024 (release of Java 21+1 year), Oracle Java 17 will be provided under the OTN / subscription basis used for Oracle Java 8 u211 and Oracle Java 11 and above.
  • Oracle Java 21 and all subsequent LTS releases will repeat the cycle.

Oracle phrase this slightly differently and state that they will provide free updates for one year after the next LTS release (i.e. the release of version 21): you have a period of 1 year to upgrade from one LTS to the next before you pay.

Sounds a bit complicated, so here’s a simplified diagram. I’ve removed all non-LTS releases from this as well as the quarterly security patches. The green bars show the period of no-fee license coverage, dark orange shows the requirement to pay for a subscription / use the OTN Java license, lighter orange shows the same but under extended support (a fee plus potentially an uplift will apply).

  • Java 17.0.0 to Java 17.0.12 will be under the NFTC
  • Java 17.0.13 to Java 17.0.32 (or higher) will be under the OTN / subscription

Let’s work through a specific example with Oracle Java 17:

  • It was released today (14 September 2021)
  • It will be provided on No-Fee Terms and Conditions until 1 year after the next LTS, Oracle Java 21, is released in September 2023.
  • After September 2024 (release of Java 21+1 year), Oracle Java 17 will be provided under the OTN / subscription basis used for Oracle Java 8 u211 and Oracle Java 11 and above.
  • Oracle Java 21 and all subsequent LTS releases will repeat the cycle

What versions do I need to look out for?!

If you’ve spent any time looking at Oracle Java licensing, you’ll probably be thinking “fine, but what does this mean in relation to release numbers?”. With a vast array of version/update information to filter in any enterprise, strings such as “Java 8 u251”, “Java SE 1.4.2 Update 18”, “Oracle Java Runtime Environment, 10.0.1”, surely working out the new filters will be complex? Thankfully not: effectively, due to clearer versioning information from Java 9, you’ll be looking for anything between the ‘.13’ and ‘.32’ (inclusive) versions, so for Java 17:

Note that technically the ‘.0’ and also the trailing release number could change; this hasn’t happened since 9.0.0 was released, however.

To explain further: an LTS is expected to be in existence for 8 years, with an initial release followed by quarterly patches — i.e. a total of 32 patches. If an LTS is released every 2 years with a 1-year overlap using the NFTC, 3 out of the 5 years (3 years of quarterly patches) gives release 12 as the last covered.

The diagram below shows the release schedule and ‘class’ of the license application. Full version information has been omitted but by way of an example, ‘0.19’ under the 17 column would be Java 17.0.19 and we can see that this release would require OTN / subscription coverage.

License Coverage

Taking a step back and looking at all versions and updates, what licenses could be used to cover each? The below table summarises this:

Note that the table above simplifies the license type applicability and may not apply to your usage, e.g. if you have commercial features with Java 8 earlier than update 201 or the BCL is not appropriate for your use (e.g. embedded or for distribution). Also — worth reminding yourself that some Java 7 releases need a subscription (a lot of people forget that in our experience), as well as ensuring you understand the VMware policy and how it could affect your license requirement.

Summary

There’s a lot to take in here but I think Oracle is trying to do this to increase adoption of stable Oracle Java longer-term: I don’t think there’s an element of ‘regret’ for introducing the OTN license and subscription model, this isn’t backtracking. Instead, more time on a no-cost license potentially helps customers continue using Oracle Java as well as reducing the overall legacy estate that Oracle may have to provide very long term support for (Java 8 was first released in 2014 and will be in extended support until 2030 with no support uplift!).

The reality is that most customers are far from adopting Oracle Java 11 en-masse and instead reliant on legacy Java releases, in particular Java 8. Perhaps the OTN / subscription model was designed to encourage people to ‘move along’ from 8 onto later supported versions: maybe LTS versions under the NFTC license is the target that Oracle wants customers to aim for. The reality will be a sluggish/clumsy move to either try and eradicate Oracle Java to another Java implementation or continued pain for customers who remain on Java 8 and who need security patches.

Many customers will not be affected by this change for potentially years: a serious amount of migration / upgrade work lies ahead to get out of the Java 8 rut, coupled with continued license confusion. This change won’t suddenly affect Oracle’s Java subscription revenues, which means it won’t immediately save you money.

For now, continue ‘as was’, pay attention to your Java estate, know-how the OTN / subscriptions apply and are to be counted, ensure you don’t rush into an unlimited subscription. Be aware that as your estate (hopefully) evolves, there may be some changes down the line.

About Version 1

Our independent and experienced SAM and licensing consultants to provide expertise to customers globally, ensuring customers get the best value from their assets.

The scale of Version 1 means we can help you with all aspects of your software strategy moving from on-premise to XaaS? Do it with experienced cloud architects and economists at your side we can provide a one-stop-shop for moving to the cloud.

Version 1 proves that IT can make a real difference to our customers’ businesses. Established in 1996 and headquartered in Dublin, Ireland, Version 1 is trusted by customers to deliver IT services and solutions which drive customer success. Our 1,300 strong team works closely with our technology partners to provide independent advice that helps our customers navigate the rapidly changing world of IT. Our customers include top global banks, many FTSE listed companies in the Financial Services, Utilities (incl. Oil & Gas, pan-European energy companies and major domestic water companies) and Commercial sectors as well as Public Sector organisations across local and central government. Our greatest strength is balance in our efforts to achieve Customer Success, Empowered People and a Strong Organisation, underpinned by a commitment to our values. We believe this is what makes Version 1 different and more importantly, our customers agree.

About The Author
Paul Bullen is a Principal Consultant with Oracle Licensing here at Version 1.

Originally published at https://www.linkedin.com.

--

--

Paul Bullen
Version 1

Version 1 Oracle Principal License Consultant