Editorial photograph of a corporate banking office tower under a clear sky
Oracle / Java Case Study

Oracle Java at an Australian bank. From per employee to per need.

An Australian bank received an Oracle Java proposal priced per employee across its entire workforce, far beyond the teams that actually used Java. We mapped real use, built an OpenJDK migration, and cut the exposure to what the bank needed.

Contact Us Oracle Practice
500+Enterprise clients
$2B+Under advisory
Industry Recognized
500+ Enterprise Clients
$2B+ Under Advisory
11 Vendor Practices
100% Buyer Side Independent

An Australian bank faced an Oracle Java employee metric bill across its whole workforce. Mapping real use and migrating to OpenJDK cut the exposure to what it needed.

Key takeaways

  • An Australian bank received an Oracle Java proposal priced on the employee metric across its full workforce.
  • Actual Java use was concentrated in a small set of application and engineering teams, not the whole bank.
  • The employee metric ignores who uses Java. It counts every employee, contractor, and temporary worker.
  • We inventoried real Java deployment and separated Oracle Java from already free OpenJDK builds.
  • A phased OpenJDK migration removed Oracle Java from the bulk of the estate.
  • The residual Oracle footprint was small, and the per employee exposure was avoided.

This case follows an Australian bank through an Oracle Java proposal. Details are anonymized, but the metric, the levers, and the outcome are exactly as run.

Oracle priced Java on the employee metric, which counts the whole workforce regardless of use. For a large bank, that number was enormous and disconnected from reality.

How does the Oracle Java employee metric work?

Oracle Java SE moved to a Universal Subscription priced per employee in 2023. The count includes every full time, part time, temporary, and contract worker, whether or not they ever touch Java.

Oracle sets out the model on its Java SE subscription pages. For a bank with a large workforce, the employee count dwarfed the population that actually ran Java.

Why the metric hurts large employers

  • It counts headcount, not Java users.
  • Contractors and temporary staff are included.
  • The bill scales with the company, not the deployment.

Oracle Java exposure: as proposed versus as resolved

DimensionOracle proposalAfter mapping and migrationEffect
ScopePer employee, whole bankReal Java systems onlyScope collapses
OpenJDKCounted in scopeExcluded, already freeNo obligation
Oracle JavaAcross the estateResidual workloads onlyFootprint shrinks
ExposureWorkforce wide billSpecific and smallCost avoided

How did the bank map its real Java use?

The first step was an honest inventory. We catalogued every Java runtime across servers and endpoints, then separated Oracle Java builds from OpenJDK distributions already in use.

Much of the installed base was already free OpenJDK, such as builds documented by the Eclipse Adoptium project. Those installations carried no Oracle obligation and should never have been inside the proposed scope.

What the inventory revealed

  • Java use concentrated in specific application and engineering teams.
  • A significant share of runtimes were already OpenJDK.
  • Oracle Java sat on a minority of systems, not the whole estate.

How did the bank migrate off Oracle Java?

With real use mapped, the bank ran a phased migration to OpenJDK on the systems that still carried Oracle Java. OpenJDK shares the same core code base, so most workloads moved with little change.

Oracle and the OpenJDK community document the shared lineage through the Java SE FAQ. The bank tested workload behavior before each cutover and kept a short list of exceptions.

How the phased move ran

  • Migrate low risk systems first to prove the pattern.
  • Test each workload before cutover and document exceptions.
  • Retire Oracle Java from each system as it moved.

What did the bank achieve on Java?

The phased migration removed Oracle Java from the large majority of the estate. The residual Oracle footprint was small and specific, tied to a few workloads with a genuine dependency.

The outcome was that the bank avoided a per employee subscription scoped to its entire workforce. It paid, where it paid at all, for real and specific need rather than for headcount. Each migrated runtime was validated against the JDK release notes before cutover.

Where the common advice on the Oracle Java metric is wrong

The standard advice when the employee metric proposal lands is to negotiate the per employee rate down and sign, treating the metric as unavoidable. We disagree. In roughly 30 to 40 Java engagements we ran, the employee proposal priced 5 to 20 times the population that actually used Oracle Java, and much of the installed base was already free OpenJDK wrongly pulled into scope. Negotiating the rate still leaves you paying per head for software most heads never run. The buyer side move is to inventory real use, strip OpenJDK out of the scope, and migrate the residual Oracle Java to OpenJDK so the metric never applies to the whole workforce. Change the scope, not just the rate.

Bank engineering team reviewing a Java runtime inventory before an OpenJDK migration
The decisive move was separating Oracle Java from the OpenJDK builds already running free across the bank.
5 to 20x
Proposal vs real Java users
70 to 95%
Estate moved to OpenJDK
30 to 40
Java engagements benchmarked

Source: Redress Compliance advisory engagement file, 2024 to 2025.

The bank was quoted for every employee. It used Java on a fraction of its systems. The gap between those two numbers was the entire negotiation.

What to do next

  1. Inventory every Java runtime across servers and endpoints in the estate.
  2. Separate Oracle Java builds from OpenJDK distributions already in use.
  3. Exclude the free OpenJDK installations from any Oracle scope discussion.
  4. Map remaining Oracle Java to the specific workloads that depend on it.
  5. Run a phased OpenJDK migration, testing each workload before cutover.
  6. Reduce the Oracle footprint to genuine need before any subscription decision.

Frequently asked questions

How does the Oracle Java employee metric work?

Oracle Java SE is priced per employee under the Universal Subscription introduced in 2023. The count includes every full time, part time, temporary, and contract worker, regardless of whether they ever use Java.

Why is the employee metric so expensive for a bank?

Because it counts the entire workforce rather than Java users. A large bank has far more employees than Java users, so a per employee subscription prices software against headcount that has no relationship to actual use.

Is OpenJDK free to use?

Yes. OpenJDK distributions such as Eclipse Temurin from the Adoptium project are free for commercial use. Installations of free OpenJDK carry no Oracle obligation and should not appear in an Oracle Java proposal scope.

Can workloads move from Oracle Java to OpenJDK?

In most cases yes. Oracle Java and OpenJDK share the same core code base, so the large majority of workloads migrate with little change. Test each workload before cutover and keep a short exception list.

What was the result for the Australian bank?

A phased migration removed Oracle Java from the large majority of the estate, leaving a small residual footprint tied to specific dependencies. The bank avoided a per employee subscription scoped to its entire workforce.

Should I just negotiate the per employee rate?

Negotiating the rate alone still leaves you paying per head for software most employees never run. The stronger move is to change the scope by inventorying real use and migrating residual Oracle Java to OpenJDK.

How do I start reducing Oracle Java exposure?

Begin with a full inventory of Java runtimes, separate Oracle builds from OpenJDK, and exclude the free OpenJDK from scope. Then map the remaining Oracle Java to the workloads that genuinely require it.

Does migrating off Oracle Java create compliance risk?

Migrating to a supported OpenJDK distribution removes the Oracle subscription obligation for those systems. Keep evidence of which runtimes are OpenJDK and test workloads before cutover to manage operational risk.

Oracle ULA Decision Framework

The full oracle ula decision framework from the Oracle Practice.

Oracle Java audit defense posture, the employee metric, OpenJDK exit paths, and the buyer side moves across the Oracle estate.

Used across more than five hundred enterprise engagements. Independent. Buyer side. Built for procurement leaders running the next renewal cycle.

No spam. We will only email you about this download. Privacy.
Run the Oracle Java license calculator against your estate in under five minutes.
Open the Tool →
Per employee
The metric
OpenJDK
Free path
Real use
The anchor
Scope
Change it
100%
Buyer Side
Related reading

More from the Oracle Practice

Oracle Practice →
Talk to an advisor

Put a buyer side advisor on your side of the table.

We sit on your side when you negotiate with the major software publishers. Independent, benchmarked, and built for the renewal in front of you.

Contact Us
Newsletter

Oracle Java licensing case study at an Australian bank and the moves that follow it.