The honest answer is: it depends entirely on which Java you run, which version, and which licence it falls under. Here is the independent, jargon-free version.
“Java” is two different things, and conflating them is the single most expensive mistake in enterprise licensing. Java as a language and platform specification is, and always has been, free and open — anyone may write, compile, and run Java code without paying a cent. Oracle's distribution of Java, the Oracle JDK, is a commercial product governed by whichever licence Oracle attached to the specific build you downloaded.
So the question “is Java free?” has no single answer. It depends on three things: which vendor's build you run, which version of it, and which licence that version was published under. Get those three facts right and the cost is either zero or entirely predictable.
Regardless of what Oracle charges, there is always a free, production-grade option: OpenJDK builds from providers such as Eclipse Temurin, Amazon Corretto, Microsoft Build of OpenJDK, Red Hat, and Azul Zulu. These are the same Java, built from the same source, free for commercial production use with no Oracle subscription. If cost is the only concern, Java can always be free.
Free and open, always
Free for production use
OTN licence — paid for commercial use
Free only inside the release window
Java SE Universal Subscription — paid
Any OpenJDK distribution
Oracle Java is free in a handful of specific situations: when you run an OpenJDK build instead of the Oracle JDK; when you use the Oracle JDK strictly for personal use, development, or testing under the relevant licence; and when you run an Oracle JDK release that is still inside its No-Fee Terms and Conditions (NFTC) free-use window.
Oracle Java costs money the moment you run the Oracle JDK in production or for internal business operations under a licence that requires payment. That covers Oracle JDK 8 updates from 8u211 onward, Oracle JDK 11 under the OTN agreement, and any Oracle JDK release used commercially once its NFTC free window has closed. Since January 2023 the paid route is the Java SE Universal Subscription, priced per employee — counting your entire workforce, not the people who use Java.
Thousands of enterprises ran Oracle Java free for years and reasonably assumed that would continue. It did not. Oracle changed the licence three times — BCL to OTN, OTN to NFTC, NFTC to the employee-based subscription — and each change reclassified previously free use as paid. Past free use creates no entitlement. What matters is the licence on the exact binary running today.
Oracle JDK and OpenJDK are different products with different licences. “We use Java, and Java is free” tells you nothing about your actual exposure.
Downloading the latest Oracle JDK update to stay secure can silently move a build from a free licence to a paid one. The patch is free; the licence may not be.
The Universal Subscription is priced on total employee headcount. Estimating cost from the number of people who “use Java” understates the bill, often by an order of magnitude.
We identify every Oracle JDK in your estate and tell you exactly which installs are free and which are not.
MigrateWe move you to free, fully compatible OpenJDK so that Java genuinely is free again — with zero business disruption.
DefendIf Oracle is already asking questions, we defend the claim — a 68% average reduction, with a money-back guarantee.
If we take on your Oracle Java audit and cannot reduce the claim, we refund our fees. See how the guarantee works →
We map every Oracle JDK in your estate to its licence and show you the free, compliant path forward.
Weekly Oracle Java updates, audit alerts, and negotiation intel.