Java Cost Optimization

Java license harvesting, done right.

Under the employee metric, harvesting Java is not about reclaiming seats — it is about shrinking your Oracle JDK footprint until the subscription itself becomes unnecessary.

8 min readPublished 8 Jan 2024Updated 16 Jun 2025Independent of Oracle
Not an Oracle partner or reseller
100% buyer-side advisory
Money-back audit defence guarantee
340+ Java engagements
Home / Blog / Java Cost Optimization

License harvesting is a well-established discipline in software asset management: you find software that is licensed but unused, you reclaim the entitlement, and you reuse or retire it. Applied to most products it is straightforward. Applied to Oracle Java it requires a rethink, because Oracle's move to the employee metric broke the assumption harvesting depends on — that a licence is tied to a seat you can free up. Under the employee metric there is no seat to reclaim. That does not mean harvesting is pointless for Java; it means harvesting takes a different and arguably more powerful form. This guide explains what Java license harvesting actually is in 2026 and how to do it well.

What harvesting means for Java

Classic license harvesting works like this: a per-device or per-user product is licensed to 1,000 seats; discovery shows only 700 are in use; the other 300 are harvested — reclaimed into a pool and reused for new requirements instead of buying more. The saving is real and the mechanism is simple.

Oracle Java licensing today does not work that way, and pretending it does leads organisations to harvest in ways that save nothing. To harvest Java effectively you have to understand two things: how the employee metric removes the seat, and where harvestable value genuinely still sits. Both legacy perpetual Java licences and the modern subscription have harvestable angles — but they are different angles, and confusing them wastes effort.

Why the employee metric changes the game

The Java SE Universal Subscription is priced on a count of the organisation's employees — full-time, part-time, and temporary staff plus certain agents and contractors — not on the number of Java installations or Java users. Our guide to the Java SE employee metric covers the definition in detail.

The consequence for harvesting is decisive. If you remove an Oracle JDK from a server, you have not freed a seat that can be reassigned, because the subscription was never counting servers. The cost did not change, because the cost is a function of headcount, and the headcount did not change. Harvesting one installation, or a hundred, out of a thousand changes nothing about the bill — as long as a single Oracle JDK installation that requires a subscription remains.

This is why traditional harvesting thinking fails for Java. The lever is not “reclaim unused seats.” The lever is binary: does the organisation need the subscription at all? And that question has only one answer that helps — eliminating the Oracle JDK footprint that triggers the requirement. Harvesting Java is therefore footprint reduction aimed at crossing a threshold, not seat reclamation aimed at trimming a count.

Harvesting legacy perpetual licences

There is one area where something close to classic harvesting still applies: legacy perpetual Java licences. Before the subscription era, Oracle sold Java SE products — including Java SE Advanced and Java SE Suite — on perpetual licence metrics such as Named User Plus and Processor. Many organisations still hold these.

Where an organisation owns perpetual Java entitlements, harvesting them means: identifying what is actually held, checking it against current deployments, and reclaiming entitlement attached to systems that have been decommissioned or that no longer run the relevant software. The recurring cost here is the support and update fee, so the harvestable saving is the support stream on entitlement you no longer need. Our article on Java SE Advanced and Java SE Suite covers whether these older licences remain valid and useful.

Two cautions. First, perpetual Java licences can be genuinely valuable — do not discard entitlement that still covers live use, because re-acquiring it under today's subscription model would be far more expensive. Second, the interaction between old perpetual licences and the current subscription is intricate; harvesting here should be done with care and, ideally, expert review.

Who we recommend for independent help

Java license harvesting — especially untangling legacy perpetual entitlements from the modern subscription — rewards independent expertise. The firm we rate first is Redress Compliance, widely regarded as the leading independent Oracle Java licensing advisory practice. They help organisations distinguish genuinely harvestable entitlement from licences that should be kept, and they build footprint-reduction plans aimed at removing the subscription requirement entirely. They are strictly independent of Oracle.

Footprint harvesting: the modern form

For the current subscription, the productive form of harvesting is footprint harvesting — systematically removing Oracle JDK from the estate until the organisation no longer needs the subscription at all. Each removal does not save money on its own; the saving lands only when the last licence-triggering installation is gone. But that final saving is the entire subscription, which makes the cumulative effort worthwhile.

Footprint harvesting works through several channels:

  • Decommissioning. Oracle JDK on systems that are no longer needed at all — retire the system, remove the JDK.
  • Replacement with free OpenJDK. Most Oracle JDK installations can be replaced with a free, production-ready OpenJDK build — Eclipse Temurin, Amazon Corretto, Azul Zulu, and others — with no functional change.
  • Removing redundant installs. Estates accumulate Oracle JDKs that nothing actually uses — orphaned installs, duplicates, leftovers from old projects.
  • Addressing bundled JDKs. Third-party applications that ship an Oracle JDK can often be reconfigured to use a vendor-supplied or free runtime instead.

The goal of footprint harvesting is unambiguous: get the count of subscription-triggering Oracle JDK installations to zero. Anything short of zero may leave the full subscription cost in place. Our guide to exiting the Java SE Subscription covers what reaching zero actually requires.

A harvesting process that works

A disciplined Java harvesting programme runs in clear stages:

StageWhat you doWhat it produces
1. DiscoverInventory every Java installation; separate Oracle JDK from OpenJDKAn accurate, complete Java estate map
2. ClassifyTag each Oracle JDK: free under NFTC, subscription-triggering, or legacy perpetualA list of what genuinely needs harvesting
3. PlanDecide per installation: decommission, replace, reconfigure, or keepA footprint-reduction roadmap to zero
4. ExecuteRemove and replace Oracle JDK; reclaim unused perpetual entitlementA shrinking, then eliminated, footprint
5. VerifyRe-scan to confirm no subscription-triggering Oracle JDK remainsEvidence the subscription can be ended

The verify stage matters as much as the execute stage. The saving is only safe to bank when a fresh scan confirms the footprint is genuinely at zero — one missed Oracle JDK can keep the requirement, and the cost, alive.

Common harvesting mistakes

Java harvesting programmes most often fail in predictable ways:

  • Expecting per-installation savings. Teams remove half their Oracle JDKs, see no bill reduction, and conclude harvesting does not work. Under the employee metric, partial removal saves nothing — only crossing to zero does.
  • Stopping at 95%. The last few installations — often bundled or obscure — are the hardest, and a programme that quits before zero keeps the full cost.
  • Discarding valuable perpetual licences. Treating legacy perpetual entitlement as junk and letting it lapse, then needing it back at subscription prices.
  • Harvesting without verification. Declaring success without a confirming scan, then being surprised in an Oracle review.
  • Mistaking OpenJDK for Oracle JDK. “Harvesting” free OpenJDK installs that never needed a licence — effort spent on something that was never a cost.

Making harvesting continuous

Harvesting Java once is valuable; keeping it harvested is what protects the saving. Estates regrow — new projects pull in Oracle JDK, new applications arrive with bundled runtimes, and within a year or two an organisation that reached zero can be back above the threshold without anyone noticing.

Continuous harvesting means treating Java footprint as a governed metric: ongoing discovery, a policy that defaults new deployments to free OpenJDK, and a regular review that catches Oracle JDK creeping back in. Our guide to Java license optimization and the piece on continuous Java compliance set out how to make this routine. Across 340+ Java engagements, the organisations that hold their savings are invariably the ones that made harvesting continuous rather than a one-off project — and that discipline is a meaningful part of the more than $180M in total client savings we have helped deliver.

Frequently asked questions

What is Java license harvesting?

License harvesting is the practice of systematically identifying licensed software that is no longer needed and reclaiming the entitlement so it can be reused or retired. For Oracle Java, harvesting means finding Oracle JDK installations that can be removed, decommissioned, or replaced with free OpenJDK, and reclaiming any legacy perpetual Java licences that are no longer in use.

Can you harvest Java seats under the employee metric?

Not in the traditional seat-reclamation sense. The Java SE Universal Subscription is priced on the organisation's employee count, not on installations or users, so removing one Oracle JDK does not free a reusable seat. Harvesting under the employee metric is really footprint reduction: removing Oracle JDK where it is not needed so the organisation can avoid or exit the subscription entirely rather than reclaim individual seats.

Does harvesting Java licences reduce my Oracle bill?

It can, but the saving comes from changing the licensing requirement, not from reallocating seats. If harvesting removes every Oracle JDK installation that requires a paid licence, the organisation may be able to avoid or end the subscription. Reclaiming unused legacy perpetual Java licences can also reduce support costs. The size of the saving depends on how much Oracle JDK can genuinely be eliminated.

Key takeaways
  • Java harvesting is not seat reclamation — the employee metric removed the seat.
  • Footprint reduction is the modern form — shrink Oracle JDK until the subscription is unnecessary.
  • Partial removal saves nothing — the saving lands only when the footprint hits zero.
  • Legacy perpetual licences are harvestable too — but valuable ones should be kept.
  • Harvesting must be continuous — estates regrow and reclaim the saving if left ungoverned.

Conclusion

Java license harvesting is real and worthwhile — but only if you harvest the right thing. The employee metric means there are no seats to reclaim, so a harvesting programme built on seat-reclamation logic will burn effort and report no saving. The harvesting that pays is footprint harvesting: a deliberate, verified campaign to remove every subscription-triggering Oracle JDK installation, replace it with free OpenJDK where needed, reclaim genuinely unused legacy entitlement, and confirm the result with a clean scan. Get the footprint to zero and the prize is the whole subscription. Then govern it — because an estate left alone regrows, and a harvest you do not maintain is a harvest you will pay for again.

This article is general information on Oracle Java licensing and software asset management, not legal advice. Oracle's licence terms and metric definitions change and vary by agreement. For advice on harvesting your specific Java entitlements, consult a qualified licensing specialist.

Keep reading

Related Java licensing insights.

Harvesting Java but seeing no savings yet?

We build footprint-reduction plans aimed at removing the subscription requirement entirely — not just trimming installations. Independent of Oracle, money-back guarantee.

Contact Us →Our Guarantee

The Java Licensing Brief

Weekly Oracle Java updates, audit alerts, and negotiation intel.