An Australian bank is a hard case for the Oracle Java employee metric: a large domestic workforce, a New Zealand subsidiary, an offshore captive, heavy labor hire, and a regulator with views on who runs your critical services. This is that case worked end to end.
An Australian bank is a hard case for the Oracle Java employee metric: a large domestic workforce, a New Zealand subsidiary, an offshore captive, heavy labor hire, and a regulator with views on who runs your critical services. This is that case worked end to end.
How to read this page. This is a modeled market scenario, not a client engagement. The bank is a composite of the structures we see in Australian financial services. Every Oracle rate is published. Every other figure is labeled as an assumption. There is no real institution, no logo and no quote here.
A subscription priced on the whole group, counted at 34,600 people, which is 2,366,640 USD a year at Oracle's published band rate. The Java that drives the requirement runs on a fraction of that population.
The metric counts employees rather than Java users, including part time staff, contractors, agents and consultants supporting internal operations. We treat that definition as settled in the employee metric decoded and in the Oracle Java 2026 pillar.
Scenario workforce, all figures assumptions
| Population | Head count | Counted by Oracle? |
|---|---|---|
| Australian entity, permanent, part time and casual | 22,000 | Yes |
| New Zealand banking subsidiary | 4,500 | Yes, as a group affiliate |
| Wholly owned offshore captive | 3,800 | Yes, group employees |
| Labor hire workers on bank systems | 2,900 | Yes, supporting internal operations |
| Offshore managed service staff on the provider's own platform | 1,400 | Arguable, and the only genuine exclusion |
| Total as Oracle opens | 34,600 | Band 30,000 to 39,999 |
Band rate 5.70 USD per employee per month, or 68.40 USD per year, from Oracle's Java SE Universal Subscription global price list. Totals calculated by Redress Compliance.
At 68.40 USD per employee per year the annual list cost is 2,366,640 USD, and a 36 month term commits 7,099,920 USD before any escalator. Oracle describes the subscription on its Java SE subscription page.
Group structure, labor hire, and a currency the price list is not published in. Those three things move the number more than anything a procurement team would normally look at.
The intuitive move is to narrow the contracting entity to the Australian licensed bank, dropping the New Zealand subsidiary and the offshore captive out of the count. On the face of it that removes 8,300 people.
It also costs money. Once separated, each entity that runs Oracle Java needs its own subscription, priced from the bottom of the ladder rather than the top.
Splitting the entity against staying together, annual list cost
| Structure | Counted people | Band rate per year | Annual list cost |
|---|---|---|---|
| Group counted together | 34,600 | 68.40 USD | 2,366,640 USD |
| Australian entity plus labor hire, separated | 24,900 | 81.00 USD | 2,016,900 USD |
| New Zealand subsidiary, separately subscribed | 4,500 | 126.00 USD | 567,000 USD |
| Offshore captive, separately subscribed | 3,800 | 126.00 USD | 478,800 USD |
| Split total | 33,200 | Mixed | 3,062,700 USD |
Splitting costs roughly 696,060 USD a year more. The split only pays if the separated entities need no Oracle Java at all.
The same arithmetic explains why removing 9,700 people from the count, 28 percent of the population, saves only about 15 percent. The reduced count lands in a more expensive band. We work that mechanic through in the 50 developers and 10,000 employees case and in the employee tier worked example.
Oracle publishes the Java price list in United States dollars while an Australian entity is often quoted in Australian dollars. Fix the conversion basis and the rate date in the ordering document, or a currency move reprices a commitment you thought was fixed.
On evidence, provide an attested aggregate head count signed by an officer rather than a payroll extract. There is no reason for personal information about bank staff to leave the institution to settle a software quantity, and an attestation is easier to defend and easier to reproduce at renewal.
Enough to make the subscription hard to avoid and nowhere near enough to justify it comfortably. Roughly 2,160 people genuinely need Java out of the 34,600 Oracle wants to count.
The Java estate, all figures assumptions
| Component | Scale | Runtime today | Can it move? |
|---|---|---|---|
| Vendor packaged core banking platform | 1 platform | Oracle JDK, vendor certified | No, until the vendor certifies an alternative |
| Dealer and markets desktop application | 1,900 desktops | Oracle JRE | Yes, with regression testing |
| Internal integration layer | 40 servers | Oracle JDK | Yes, low risk |
| Engineering teams with local JDKs | 260 people | Mixed | Yes, immediately |
| Data platform tooling | 300 servers | Eclipse Temurin already | No Oracle obligation at all |
Divide 34,600 counted people by 2,160 genuine Java users and the ratio is about 16 to 1. At the band rate that is 1,096 USD per Java user per year.
By the thresholds we set out in the ratio analysis, a bank at 16 to 1 is not an outlier. It is the case where the subscription is defensible while exit is blocked, and where the term length matters more than the rate.
The 300 servers already running Eclipse Temurin carry no Oracle obligation, and they should never appear in an Oracle scope discussion. That is a correctness point, not a savings point.
Under the employee metric the bill is set by people, not instances. While one Oracle JDK remains anywhere in the group, the subscription covers all 34,600 people, so isolating free builds reduces the size of the problem at the next renewal rather than the invoice at this one.
It turns a runtime swap into a governance event with a notification clock. Two prudential standards apply directly, and both have to be in the migration plan before the first cutover.
APRA's Prudential Standard CPS 230 Operational Risk Management commenced on 1 July 2026. It requires a register of material service providers, formal legally binding agreements with them, and provisions giving APRA access to documentation and data relating to the service.
APRA's Prudential Standard CPS 234 Information Security requires controls commensurate with vulnerabilities and threats, and requires the bank to assess the information security capability of any related party or third party managing its information assets.
Applied to Java, that means a move to a free distribution has to come with evidence of a security update cadence and a named owner for it. Eclipse Temurin publishes builds on the quarterly update cycle, and the bank's obligation is to show it consumes them, not merely that they exist.
Everything except the core banking platform, which is the whole problem. Four of the five components in the estate can move inside twelve months, and the fifth decides whether any of it removes the subscription.
Put runtime certification into the core banking vendor's next contract renewal. Written as a deliverable with a date, not as a best efforts statement, it converts a licensing dependency into a supplier obligation.
This is the highest value action on the page and it has nothing to do with Oracle. The bank does not control Oracle's metric. It does control what it buys from its core banking supplier, and that supplier wants a renewal.
It buys a short subscription on the widest possible entity, removes the one population it can genuinely remove, and spends its real energy on the core banking vendor. The subscription is not avoided. It is contained and dated.
Oracle Java position: as proposed against as resolved
| Dimension | Oracle proposal | Resolved position | Effect |
|---|---|---|---|
| Counted entity | Group, 34,600 | Group, 33,200 after the provider exclusion | Deliberately kept wide for the better band |
| Term | 60 months | 24 months, aligned to the vendor certification date | Commitment ends when the blocker ends |
| Recount | None | Annual, in both directions | Protects against restructuring |
| Divestiture | Silent | Carve out at completion | Relevant to any group disposing of a business |
| Currency | Quoted in AUD, basis unstated | Conversion basis and rate date fixed in the order | Removes a repricing risk |
| Legacy entitlements | Terminated on signature | Read, priced and consciously accepted | No surprise at exit |
| Core banking runtime | Out of scope for the licensing team | Certification written into the vendor renewal | The action that ends the subscription |
The common advice to a bank in this position is to inventory the estate, strip the free OpenJDK installations out of Oracle's scope, and watch the bill collapse. We disagree, and we think that advice does real damage because it sets an expectation nobody can meet. Under the employee metric the bill is a function of people, not instances, so removing free builds from a scope document changes the invoice by exactly nothing while a single Oracle JDK remains anywhere in the group. The inventory is still essential, but for a different reason: it tells you whether zero is reachable, and by what date. In a bank with a vendor packaged core system, zero is usually not reachable inside one subscription term. The honest strategy is therefore to buy the shortest term that reaches the date your blocking vendor can certify an alternative, keep the counted entity wide because the band rate rewards it, and put your negotiating energy into the supplier who actually controls the dependency.
Source: Redress Compliance advisory engagement file
The bank is quoted for every employee in the group. Java runs the business for about two thousand of them. The gap between those numbers is not the negotiation. The date the core banking vendor can certify an alternative is the negotiation.
No. It is a modeled market scenario built from the structures we see across Australian financial services, and it names no institution. Oracle's band rates are published figures. Every workforce and estate number is an assumption, labeled as such, so you can substitute your own.
Under a group level agreement, yes, because the count follows the contracting entity and the affiliates the agreement defines. Separating it is possible but usually costs more, since each separated entity is then priced from a smaller band. In this scenario splitting the group raises annual list cost by about 696,060 USD.
No. A wholly owned offshore captive employs group staff, so those people stay in the count regardless of where they sit. Only a genuine third party provider running services on its own platform under its own licensing offers a defensible exclusion, and that requires a written attestation from the provider.
Casual employees are counted like other staff, and labor hire workers on your systems generally fall inside the definition because they support internal operations. Casual employment was redefined on 26 August 2024, so a bank with seasonal contact center staffing should fix a measurement date in the ordering document rather than leave it open.
It makes the change a governance event as well as an engineering one. CPS 230 commenced on 1 July 2026 and requires a material service provider register, formal binding agreements with APRA access provisions, notification within 20 business days of entering a material arrangement, and prior notification for material offshoring. Plan that work ahead of the first production cutover.
Not by itself, but it creates an evidence obligation. CPS 234 requires information security controls commensurate with the threat and an assessment of any party managing your information assets, so you need a documented update cadence and a named owner for it. Temurin publishes builds on the quarterly cycle, and your obligation is to show that you consume them.
Because it does not change the bill. The employee metric prices people, not instances, so free builds already carry no obligation and removing them from a scope document saves nothing while any Oracle JDK remains in the group. Do the inventory anyway, because it tells you the date on which the subscription can end.
Writing runtime certification into the blocking vendor's next contract renewal as a dated deliverable. The bank cannot change Oracle's metric, but it can change what it buys from the supplier that creates the dependency, and that supplier wants the renewal.
How the employee based Java SE subscription really prices, where the count inflates, and how to size it honestly.
Used across more than five hundred enterprise engagements. Independent. Buyer side. Built for procurement leaders running the next renewal cycle.
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