An 85,000 employee retailer faced a 20 million dollar Java claim built on download logs. The evidence said otherwise. Oracle closed the file at zero.
Oracle opened with the employee metric across 85,000 staff and an implied cost past 20 million dollars over three years. The audit closed with no purchase, no backdated fees, and closure in writing. This page examines what a zero cost close requires, and when it is realistic.
Zero cost closes are the boundary condition of Java audit defense. They mark what is achievable when the evidence is complete and the discipline holds, which makes this case the clearest available benchmark for deciding what your own letter is actually worth.
The claim rested on years of recorded JDK downloads tied to corporate email domains, priced at the employee metric across roughly 85,000 staff worldwide. At list, the implied exposure ran past 20 million dollars over a three year term.
The retailer had no Java SE subscription history. Like most enterprises, it had accumulated installs across stores, warehouses, and back office estates over a decade, with no central record of what ran where.
Soft audit letters are drafted to feel heavier than they are. Three phrases recur, and each signals the opposite of its plain reading:
Download logs prove someone fetched an installer. They do not prove deployment, commercial use, or the version actually running. The Oracle JDK licensing FAQ itself separates the license terms by version and use, and that distinction became the spine of the defense.
Note the channel, too. This was a commercial approach, not a contractual audit. Oracle's formal audit machinery, Global Licensing and Advisory Services, formerly LMS, operates under an audit clause with 45 days written notice. A letter without that clause compels nothing, a distinction we unpack in GLAS vs LMS and what changed in Java enforcement.
Four things, all at once: an evidence advantage over Oracle, a lawful licensing home for every install found, a dated migration commitment covering whatever remains, and communication discipline that concedes no fact prematurely. Remove any one of the four and the realistic outcome shifts from zero to a scoped purchase.
Money never solved this audit. Evidence did. That distinction is worth dwelling on, because most companies negotiate the price of Oracle's assumptions instead of testing whether the assumptions are true.
Finding an install answers where. The license terms answer whether it costs anything, and the terms changed repeatedly: OTN restrictions from 2019, NFTC freedom for Java 17 and later from 2021, and paid terms again once an NFTC version ages past its window.
Mapping every install to its version and its terms turned one undifferentiated claim into three piles: free by license, covered by a vendor's entitlement, and genuinely commercial. Only the third pile ever needed an answer, and the migration plan answered it.
Retail estates are dense with vendor software that ships its own Java runtime under the vendor's Oracle agreement. Those installs belong on the vendor's paper, not the retailer's. Each one removed from scope shrank the claim without costing anything, and the burden of proof stayed on the evidence, not on goodwill.
Evidence wins nothing if the communication channel leaks concessions. Every exchange with Oracle ran through one named owner, and every substantive statement was made in writing against the inventory. Four rules governed the channel:
The zero outcome was robust but not unconditional. Any of four missteps would have converted it into a negotiation about price:
Closed means Oracle confirms in writing that the review is concluded with no purchase required and no retroactive fees claimed. A verbal assurance from a sales team is not a close. This retailer held out for the written confirmation, and that document is now the first exhibit against any future letter.
Oracle's Java outreach is cyclical, and personnel change. Without written closure, a new account team can restart the same conversation from the same download logs two years later. With it, the reply is one page long and the file closes again.
Treat the letter like a compliance certificate. File it with the inventory that earned it, and refresh both on the same schedule, because together they are the estate's proof of position.
The least visible benefit of a zero close is the absence of a renewal cycle. A subscription bought under pressure comes back every year with a price review attached, and the employee metric rides every acquisition and headcount increase upward.
Closing at zero means there is no baseline to reprice and no anniversary on Oracle's calendar. The cost avoided is not one payment but the compounding series behind it.
Zero is realistic when the estate genuinely contains no unlicensed commercial use of Oracle JDK, or when what exists can be removed faster than Oracle can force a purchase decision. It is not realistic when patched Oracle builds sit in production doing revenue work, and pretending otherwise wastes leverage that a scoped settlement needs.
Conditions that decide the realistic outcome
| Condition | Points to zero | Points to a paid close |
|---|---|---|
| Production footprint | NFTC versions, vendor bundled runtimes | Patched Oracle JDK 8 or 11 doing revenue work |
| Evidence position | Dated inventory the buyer controls | No inventory, Oracle's logs stand unchallenged |
| Channel | Soft letter through the sales organization | Formal GLAS audit under a signed audit clause |
| Migration feasibility | OpenJDK move achievable on a short dated plan | Vendor support terms lock the estate to Oracle builds |
| Prior commitments | No Java subscription history | A lapsed subscription Oracle can point back to |
Run the conditions table against your own estate before deciding the goal. Chasing zero with commercial installs in production invites escalation, while paying with a clean estate donates money. The estate, not the ambition, picks the strategy.
In our engagement file, roughly one estate in three could credibly pursue zero on first inspection. The rest needed either a migration quarter to become eligible or a scoped settlement honestly negotiated. Both are wins against a workforce priced letter.
Where real commercial use exists, the right outcome is a scoped forward subscription on a verified population, never a workforce wide capitulation. Our Illinois manufacturer case study dissects exactly that kind of paid close, and the contrast between the two outcomes is instructive.
The elegance of the zero path is that the population argument becomes moot. Where a paid close haggles over which of 85,000 people count, the zero close establishes that no subscription is required, so no population exists to price. The workforce number, the frightening part of the letter, simply exits the conversation.
That is also why sequence matters so much. Arguing headcount first legitimizes the metric. Establishing the install and version position first means headcount may never come up at all.
Zero was not free. It consumed a discovery effort across thousands of endpoints, legal review of version terms, and a migration program with dates the business had to honor. The honest comparison is that internal cost against a recurring subscription in the tens of millions, which is not a close call.
Budget owners should plan for three internal lines: tooling and people for discovery, counsel or advisory time for the terms analysis, and engineering capacity for the migration itself. Each is bounded and one time. The subscription alternative is neither.
The transferable lesson is that an Oracle Java claim is an evidence contest the buyer is positioned to win, because the buyer owns the deployment data. Every dollar in the opening number depends on assumptions about installation and use that only the customer's estate can confirm or refute.
Timing compounds the advantage. This retailer engaged advisors before responding, so the first formal reply already carried the inventory position. Replying first and scoping later reverses the leverage permanently.
A well run defense produces durable artifacts, not just an outcome. Three of them now anchor this retailer's ongoing Java governance:
Nothing in the method is retail specific. The same sequence closes Java matters in logistics, insurance, and manufacturing, because the claim structure is identical everywhere: downloads asserted as deployments, a workforce priced as a population. What varies is only where the installs hide and which vendors' entitlements cover them.
The standard reseller advice is to quietly buy a small Java SE subscription when the letter lands, on the theory that a paying customer is left alone. We disagree. In roughly 15 of the 40 Java matters Fredrik Filipsson handled in 2024 to 2025, an early small purchase anchored the employee metric and became the basis for a far larger renewal claim, because it conceded that the metric applied at all. The buyer side move is to establish the install and version evidence first and only then decide whether any subscription is needed. Most estates we measured could reach a fully supported position with no Oracle Java spend.
Source: Redress Compliance advisory engagement file, 2024 to 2025.
The download log is not a deployment record. The estate you can prove beats the estate Oracle can imply, every single time.
Whether or not a letter has arrived, the zero cost playbook starts with the same moves. Here is what to do next, sequenced so each step protects the ones after it.
Start with the Oracle Java license calculator to size your exposure, or go deeper in the Oracle knowledge hub and the Oracle advisory practice. More client outcomes sit in our case studies.
Yes. This retailer closed with no subscription and no backdated fees because install evidence, NFTC version carve outs, and an OpenJDK migration removed the commercial basis of the claim. Zero cost outcomes require the buyer to hold better deployment data than Oracle.
Not by itself. A download proves acquisition, not deployment or commercial use. Obligations depend on the version, the license terms it shipped under, and how the install is actually used.
The Java SE Universal Subscription prices by total employees and qualifying contractors, not by users or installs. That is why Oracle opening claims scale with headcount and why contesting the metric population matters more than the rate.
Java 17 and later were released under the No Fee Terms and Conditions, which permit free use including commercial use for current versions within the NFTC window. Older versions and extended use cases fall back to paid terms, so version mapping is essential.
Usually no. A small early purchase concedes that the employee metric applies and anchors the next renewal. Establish the install and version evidence first, then decide if any subscription is genuinely required.
Only if it is written. A closure letter naming the entity, the period reviewed, and the absence of any required purchase gives you a one page answer to the next approach. A verbal assurance protects nothing once the account team changes.
Formal audits run under Global Licensing and Advisory Services, formerly LMS, with 45 days written notice under an audit clause. Most Java approaches are soft audits from sales teams with no contractual force, which changes what you are obliged to share.
A dated install inventory across endpoints, servers, and containers, a version map tying each install to its license terms, and a register of third party products that bundle Java under their own entitlement. Those three documents decide whether your realistic outcome is zero or a scoped settlement.
The discovery scripts, NFTC and OTN version map, third party entitlement carve outs, and the response letter sequence that closed this audit at zero.
Used across more than five hundred enterprise engagements. Independent. Buyer side. Built for procurement leaders running the next renewal cycle.