The Oracle Technology Network Licence Agreement for Oracle Java SE — OTN for
short — is the free Java licence Oracle introduced in April 2019, replacing the
older Binary Code Licence. It matters more than its age suggests, because it is
the licence that governs the Java most organisations are actually running: Java
SE 8 from update 211 onwards, and Java 11.
Oracle’s later No-Fee Terms and Conditions licence (NFTC) arrived with JDK 17 in
September 2021 and grants materially more. This post is about OTN — what it
permits, and the point at which it stops being free.
When does the OTN Java licence become chargeable?
Read the OTN Licence Agreement for Oracle Java SE and you will find the terms
that make Oracle Java free. They are narrow, and they are worth reading in
Oracle’s own words rather than a paraphrase.
Licence Rights and Restrictions Oracle grants you a nonexclusive, non
transferable, limited license to use the Programs, subject to the restrictions
stated in this Agreement and Program Documentation, only for:
I. Personal Use,
II. Development Use,
III. Oracle Approved Product Use, and/or
IV. Oracle Cloud Infrastructure Use.
Each of those four is then defined.
Personal Use refers to an Individual’s use of the Programs solely on a
desktop or laptop computer under such Individual’s control only to run Personal
Applications.
Development Use refers to your internal use of the Programs to develop,
test, prototype, and demonstrate Your Applications. For clarity, the “to
develop” grant includes using the Programs to run profilers, debuggers, and
Integrated Development Environments (IDE Tools) where the primary purpose of the
IDE Tools is profiling, debugging, and source code editing Applications.
Oracle Approved Product Use refers to Your internal use of the Programs only
to run: (a) the product(s) identified as Schedule A Products at Java.com/oaa;
and/or (b) software Applications developed using the products identified as
Schedule B Products at Java.com/oaa by an Oracle authorized licensee of such
Schedule B Products. If you are unsure whether the application you intend to run
using the Programs is developed using a Schedule B Product, contact your
application provider.
Oracle Cloud Infrastructure Use refers to Your use of the Programs on
Oracle’s Cloud Infrastructure with the Oracle Cloud Infrastructure products
identified in the Oracle PaaS and IaaS Universal Credits Service Descriptions,
during the period in which you maintain a subscription for such Oracle Cloud
Infrastructure products.
Every host running Java under the OTN agreement has to fall into one of those
four. If it does not, the use is chargeable. That is the whole test, and it is
why the answer is almost never “we only use Java on a few servers” — the
question is what each of those servers is doing.
How OTN terms get accepted
Installing Oracle Java requires acceptance of the relevant terms and conditions.
Specific versions of Oracle Java are tied to the OTN licence agreement, and where
that applies, installing the software constitutes agreement to the terms.
Once installed, a license.txt file sits in the software location. It contains a
link to the OTN licence agreement the user has accepted. Nobody reads it. It is
binding anyway.
What is an Oracle BCL?
Before OTN came the BCL — the Binary Code Licence. It was a free licence covering
“computers, including desktop and laptop computers, or servers, used for general
computing functions under end user control (such as but not specifically limited
to email, general purpose Internet browsing, and office suite productivity
tools)”.
Under the BCL, Oracle Java only became chargeable when “commercial features” were
used. That is a much broader free grant than OTN, and it is the reason older
deployments are sometimes in a better position than newer ones. Which licence
applies depends on which version and update level is installed — not on when you
bought the hardware or what you assume your entitlement covers.
OTN and NFTC: what is the difference?
The material change between OTN and the NFTC is a single phrase Oracle added to
the scope of the grant: internal business operations.
OTN’s four permitted uses are personal use, development use, running Oracle
approved products, and use on Oracle Cloud Infrastructure. General production
workloads supporting the running of your business are not in that list. The NFTC
grant, by contrast, permits running the program “for your own personal use or
internal business operations” — which covers the ordinary case OTN excludes.
For most organisations that means the cost position improves on moving from an
OTN-governed version to an NFTC-governed one, irrespective of what the host is
used for. Where a fleet can be standardised on JDK 17 or later, the saving can be
substantial.
Two caveats keep that from being automatic. The NFTC grant is time-limited —
each release is free only until a year after the next Long-Term Support release
ships, so it requires a standing upgrade programme rather than a one-off
migration. And hosts using Oracle’s commercial features remain chargeable under
either licence.
What you actually have to be able to prove
The licensing question is not difficult in principle. It is difficult because
answering it requires knowing, for every host, which Java version and update
level is installed, what that host does, and whether anyone has used it in the
last quarter. Most organisations cannot produce that list, which is why the
conversation with Oracle starts from Oracle’s numbers rather than theirs.
CerteroX SAM is built for that specific problem. Software recognition resolves
installed binaries against the Software Recognition Database — 3.5 million or
more normalised publisher, product and version titles — so a Java install is
identified by version and update level rather than appearing as an unrecognised
executable. The Software Recognition Service adds release, end-of-support and
extended-support dates, which is how you find the hosts sitting on a version
whose free-use window has closed.
Java also runs where discovery tools tend to stop. The native inventory agent
covers Windows, macOS, Linux, IBM AIX, HP-UX and Oracle Solaris on one schema,
alongside agentless and command-line inventory for locked-down systems and
standalone inventory for air-gapped ones. The AIX frames are usually where the
expensive surprises live.
Usage is the other half. AppsMonitor meters software at file level with
first-used and last-used tracking and a % Used figure over a rolling 90-day
window, so you can separate hosts that genuinely run Java from hosts that merely
have it installed. That distinction is what turns a defensible reduction
programme into a plan rather than a hope.
The output is an effective licence position — purchased, used, available,
required, variance and exposure — computed continuously rather than assembled
when the letter arrives. Governance Policies then stop the position drifting
back: unauthorised software prevention and application blacklisting will flag a
chargeable Java version reappearing on a host you have just cleaned up.
Certero is a verified third-party tool vendor with Oracle License Management
Services. In Certero’s own published wording: being a verified third-party
toolset means that Oracle’s audit team can accept data from Certero during an
official audit, as an alternative to installing Oracle License Management
measurement tools. That is a conditional rather than a guarantee — but it is a
different starting position from arriving with a spreadsheet.
Certero also runs a SAM managed service for Oracle Java, where in-house Oracle
licensing consultants do the analysis alongside the tooling: establish where Java
is, identify the hosts that carry risk, and work through the mitigation options —
upgrading to a version covered by the NFTC, moving to OpenJDK or another
non-Oracle distribution, or buying the licences you genuinely need and no more.