Short answer

According to a Tactical Law Group article published on Mondaq in April 2026, Oracle's formal Java audit letters request global employee counts, Java deployments by version, installation inventories, and virtualization and cloud details. Before answering anything, build your own inventory of every Java install by vendor and exact version, work out which Oracle builds are under the OTN license, and involve counsel. This guide is not legal advice.

Oracle's questions about Java use tend to arrive as an email that sounds routine. Whether it's an informal review or a formal audit, the answer depends on facts you may not have gathered yet: which Java runtimes you run, where, and from which vendor. This guide covers what reviews ask for, according to published sources, and how to build that fact base before anyone sends anything to Oracle.

Key facts: Oracle Java license reviews
What formal audit letters requestGlobal employee counts, Java deployments by version, installation inventories, virtualization and cloud environments, and other data relevant to the employee metric (per Tactical Law Group, April 2026)1
Oracle's own descriptionLicense Management Services performs "software license reviews" and gathers usage data "via multiple agreed-upon methods of data collection"2
Subscription metricJava SE Universal Subscription is priced per employee; "Pricing starts at $15/employee per month"4
Who counts as an employeeAll full-time, part-time and temporary employees, plus those of agents, contractors, outsourcers and consultants supporting internal operations3
Builds that need a subscription for commercial productionOracle JDK under OTN: 8u211 and later9, all of JDK 11, 17.0.13 and later10, JDK 21 updates from the October 2026 CPU (planned)8
Builds that don'tOpenJDK builds from any vendor; Oracle JDK under NFTC6 or the old BCL

What a review or audit asks for

Pamela Fulmer of Tactical Law Group describes a shift in 2026 from "friendly" outreach to formal audit notices. According to the article, formal letters cite the audit clause, set a response window (the article mentions 45 days), name a third-party auditor, and request:1

  • global employee counts;
  • Java deployments by version;
  • installation inventories;
  • virtualization and cloud environments;
  • any other data Oracle considers relevant to calculating the employee metric.

The article also claims Oracle tracks Java download activity in detail. That is the firm's account, not something Oracle publishes, so treat it as a reason to know your own downloads rather than as a verified fact.1 Oracle's own License Management Services page describes reviews that gather and validate usage data across hardware and software through agreed-upon collection methods.2

Why the version number decides so much

Oracle's license depends on the exact update, not the product name. Oracle JDK 17.0.12 is under the No-Fee Terms and Conditions, which allow commercial and production use;6 17.0.13 is under the OTN license,10 which allows development and personal use but requires a license for other use.5 Oracle's FAQ says you may continue using a release under the license you downloaded it under.7 An inventory that says "Java 17" can't tell those apart; one that records Oracle JDK 17.0.12 with its full JAVA_RUNTIME_VERSION string can.

How to prepare the inventory

1. Agree the scope with counsel

Decide which legal entities, networks, clouds and device classes are in scope before collecting anything, and who will see the results. Collect facts about software, not personal data.

2. Collect facts from every host type

Cover servers, VMs, desktops and laptops, container images and CI. For each Java home record the path, the release file keys and the runtime name reported by java -version. The commands for each OS are in how to find Oracle Java installations; a minimal dated capture looks like this:

Dated, facts-only capture for one host
# Linux/macOS, one host: facts only, into a dated file
$ { date -u +%FT%TZ; hostname; uname -sr
  for r in /usr/lib/jvm/*/release /usr/java/*/release /opt/*/release /Library/Java/JavaVirtualMachines/*/Contents/Home/release; do
    [ -f "$r" ] && echo "== ${r%/release}" && grep -E '^(JAVA_VERSION|JAVA_RUNTIME_VERSION|IMPLEMENTOR|BUILD_TYPE)=' "$r"
  done; } > "java-inventory-$(hostname)-$(date -u +%F).txt" 2>/dev/null

3. Classify each install against Oracle's pages

Use one row per install and cite the Oracle page behind each classification. Anything with conflicting signals, bundled inside another product, or newer than the date you checked the terms is needs review, not a guess.

Suggested inventory columns
ColumnExampleWhy
Host, environmentapp-02, productionDevelopment use and production use are treated differently under OTN
Path/usr/lib/jvm/jdk-17-oracle-x64Lets anyone re-check the finding
Vendor and runtime nameOracle, Java(TM) SE Runtime EnvironmentSeparates Oracle JDK from OpenJDK builds
Exact version17.0.14Decides NFTC vs OTN
License and sourceOTN, Oracle JDK 17.0.13 release notesCited, dated reasoning
How it got thereGolden image, auto-update, CI stepStops it coming back after removal
Bundled byVendor application name, or noneSome vendors' agreements cover their Java
Checked on2026-09-11Oracle's terms change; dates matter

4. Understand the employee count, separately

Because the subscription metric counts employees, not installs, a single OTN-licensed production install can have a cost out of proportion to its footprint.3 Employee numbers usually come from HR and finance, and whether and how to share them is a question for counsel, not for the infrastructure team.

5. Decide remediation, and keep records

Typical options are replacing Oracle JDK with an OpenJDK build of the same major version, moving to an Oracle JDK release under NFTC, or buying a subscription. Whatever you choose, keep the dated inventory, the change records and the Oracle pages you relied on together.

Things to avoid

  • Answering Oracle's questions before counsel has seen them.1
  • Reporting counts without versions: "lots of Java installs" says nothing about which license applies.
  • Assuming IMPLEMENTOR="Oracle Corporation" means Oracle JDK; Oracle's GPL OpenJDK builds use it too.
  • Claiming installed NFTC builds became paid. They didn't; the license follows the build.7

How RuntimeClear helps

RuntimeClear covers step 2 and most of step 3. The free, read-only scanner collects installs and references on Linux, macOS and Windows into one JSON file per host without network calls, and the report tool classifies each against cited Oracle pages in your browser. The paid report produces a dated PDF with the rules version, each finding's license and reason, and a list-price estimate that is clearly labeled as an estimate. It is an inventory for you and your counsel, not a position to send to Oracle.

Sources

  1. Pamela Fulmer, Tactical Law Group LLP, via Mondaq: “2026 — The Year Oracle's Java Audits Get Real” (April 23, 2026) Checked 2026-09-11.
  2. Oracle License Management Services (LMS) Checked 2026-09-11.
  3. Oracle Java SE Universal Subscription global price list (PDF) Checked 2026-09-11.
  4. Oracle Java SE Subscription FAQ Checked 2026-09-11.
  5. Oracle Technology Network License Agreement for Oracle Java SE (OTN) Checked 2026-09-11.
  6. Oracle No-Fee Terms and Conditions (NFTC) Checked 2026-09-11.
  7. Oracle JDK License General FAQs Checked 2026-09-11.
  8. Oracle Java SE Support Roadmap Checked 2026-09-11.
  9. Oracle Java SE 8 archive: 8u211 and later (OTN) Checked 2026-09-11.
  10. JDK 17.0.13 release notes: first JDK 17 update under OTN (Oct 15, 2024) Checked 2026-09-11.