Is Oracle Java Still Free?
Many companies still ask this every week — and for good reason. Oracle keeps changing the rules around Java licensing. It’s hard to keep up. Here’s what “free” really means for Java in 2025, without the Oracle spin or legal fog.
We’ll break down what’s free, what’s not, and who needs to pay — so CIOs, IT leads, and developers can understand exactly where the line is between free and licensed use.
Pro Tip: “Oracle Java isn’t free anymore — but Java still is.”
Read our overview guide, Oracle Java Licensing FAQs & Myth-Busting.
The Short Answer
No — Oracle Java is not free for business use. After 2019, Oracle’s Java (Oracle JDK) stopped being universally free for commercial purposes. It’s only free under very limited conditions:
- Personal use (running Java at home for non-commercial purposes).
- Development, testing, or prototyping inside your organization.
- Internal evaluation of Java (trying it out in non-production scenarios).
Anything beyond that — running Java in production, using it for internal business applications, or in customer-facing systems — requires a paid Oracle license.
In essence, if you’re a business using Oracle’s Java to make money or run operations, assume it’s not free and you’ll need a subscription.
Why Everyone Is Confused
Oracle has changed Java’s licensing model several times in recent years. Each time, “free” meant something slightly different (often with a footnote). Many companies still operate under outdated assumptions.
For example, some remember when Java 8 was free for commercial use (which changed in 2019), or they heard that Java 17 was offered with “no fee” terms but missed the fine print on how long that lasts.
The result: many IT departments are unsure about current Java obligations, and some are inadvertently out of compliance by following outdated rules.
Pro Tip: “Oracle’s version of ‘free’ always has a footnote.”
The Major Licensing Shifts
Over the years, Oracle introduced new Java licensing models that tightened the definition of “free.”
Here’s a quick timeline of the major shifts and what each meant:
| Year | Licensing Model | What “Free” Meant |
|---|---|---|
| Before 2019 | BCL (Binary Code License) | Java was free for general use (including commercial use) under Sun/Oracle’s BCL, with only a few exceptions (e.g. commercial redistribution or embedding required a separate agreement). |
| 2019–2021 | Java SE Subscription | Oracle’s first paid Java model. Licenses were required per user (for desktops) or per processor (for servers). Essentially no free updates for commercial users anymore; after Java 8 update 202, any later updates or newer versions (Java 9–16) needed a paid subscription. |
| 2021–2023 | NFTC (No-Fee Terms & Conditions) | A new license introduced with Java 17. Oracle Java could be used for free in personal and development environments, and even in production temporarily. However, this was a limited-time free period: LTS versions like Java 17 were only free to use (with updates) for three years, until one year after the next LTS release. After that window, using them in production required a subscription or an upgrade to the next version. In short, not free for long-term production use. |
| 2023 onward | Java SE Universal Subscription (“Per-Employee” Licensing) | Oracle’s newest model is a paid subscription based on total employee count. If any Oracle Java is used in your organization (outside the free-use scenarios), you must license every employee, contractor, and temp in the company – not just the developers using Java. This “all employees” metric can lead to huge costs, effectively charging a fee for each employee even if only a few machines run Java. It replaced the old per-user/processor subscriptions entirely. |
Pro Tip: “Every Oracle Java license change removes one more definition of ‘free.’”
What’s Free Right Now (2025)
So what uses of Oracle Java are free today? You can still use the Oracle JDK at no cost under a few specific conditions:
- Personal or non-commercial home use: Running Java on your personal devices for games or personal projects is allowed at no charge.
- Internal development, testing, or POC (proof-of-concept): Using Oracle Java within your company for development work, testing, or trial runs is free. This covers activities such as writing and debugging code, running QA tests, and evaluating Java internally before going to production.
- Workloads on Oracle Cloud Infrastructure (OCI): If you run your Java applications on Oracle’s cloud platform, Oracle allows the use of Oracle Java there at no extra cost. An Oracle Cloud (OCI) subscription includes Java SE licensing as a perk, so Java is effectively free when used on OCI (Oracle’s way of incentivizing you to use their cloud).
Everything else — deploying Java in production environments, running internal business applications on Oracle JDK, or bundling Oracle Java with software you ship to customers — requires a paid Java SE subscription.
In other words, if Java is running as part of your business operations (on-premises or on another cloud), Oracle expects you to buy a license for it.
Read more myth busting, Oracle Java Licensing Myths vs Facts (2026).
What’s Not Free
You must pay Oracle (i.e., have a Java SE subscription) for uses that fall outside the “free” list. In practical terms, Oracle Java is not free if you:
- Run Java in any business or production system. If your applications in production use Oracle’s JDK or JRE, that’s commercial use and requires a license.
- Use Oracle JDK in internal enterprise tools or apps. Even if an application is internal (used by your employees), if it’s part of business operations and it runs on Oracle’s Java, it’s not covered by the free-use allowances.
- Include Oracle Java in the software you distribute. For example, packaging the Oracle JRE with an installer for your product, or embedding Oracle Java in a device or application you ship to customers, requires a license (the old “no commercial redistribution” rule).
- Deploy Oracle JDK widely across the company’s hardware. Installing Oracle Java on a fleet of servers, VMs, or employee desktops en masse for general business use is not free. At that point, even if some instances are not actively used, the presence of Oracle Java in a business context can trigger licensing requirements if it’s beyond the OTN/NFTC allowances.
In summary, if Java is being used to drive revenue or operations, assume it’s not free. If money moves through the system, Oracle wants a license.
Pro Tip: “If money moves through the system, Oracle wants a license.”
Free alternatives
Oracle’s JDK may now require a paid subscription, but Java itself remains free.
The good news is you don’t have to use Oracle’s build of Java at all. Several 100% free, open-source Java distributions are enterprise-ready and drop-in replacements for Oracle JDK:
- OpenJDK (Adoptium) – The open-source reference version of Java. This is essentially the same core code as Oracle JDK (minus a few proprietary tools), released under an open license. The Eclipse Adoptium project provides free builds that are TCK-tested and ready for production use.
- Amazon Corretto – A free distribution of OpenJDK maintained by AWS. Corretto is production-certified and comes with long-term support from Amazon. It’s used internally at Amazon and made available for anyone, with no fees.
- Red Hat OpenJDK – Red Hat provides its own build of OpenJDK (the one included with Red Hat Enterprise Linux). If you’re a Red Hat customer, you get support for their Java at no extra cost. Even outside RHEL, Red Hat’s builds are open source and can be used for free.
- Azul Zulu – Azul Systems offers the Zulu OpenJDK, a free-to-use build of OpenJDK, and sells optional commercial support. Many organizations use Azul’s Java builds to get timely updates and support at a lower cost than Oracle’s fees.
Switching to one of these alternatives avoids Oracle’s paid licensing model entirely while keeping full compatibility with Java standards. They all pass the same test suites and will run your Java applications just like Oracle’s JDK.
In fact, Oracle’s own Java is built on the OpenJDK codebase, so using a free OpenJDK distribution means you’re running the same Java platform, just without the Oracle logo (or the price tag).
Checklist – How to Know If You’re Paying When You Shouldn’t
Worried you might be paying Oracle for Java when you don’t have to? Here’s a quick checklist to regain control:
- ✅ Identify which JDK builds your teams use. Conduct an inventory to determine whether you’re using Oracle JDK on servers or desktops. You might find you’re already using some OpenJDK in places.
- ✅ Stop downloading Oracle JDK by default. Update your documentation and pipelines to pull from open-source JDK sources (Adoptium, etc.) so you don’t accidentally introduce Oracle JDK where it’s not needed.
- ✅ Replace Oracle JDK with OpenJDK where possible. For existing systems, replace Oracle’s Java with a free alternative. In most cases, it’s a like-for-like switch with minimal or no code changes.
- ✅ Confirm whether your use qualifies as “personal” or “development.” If you believe you fall under Oracle’s free-use categories, double-check the fine print. For example, running Java on an employee’s desktop for a business app is not “personal use”oracle.com. Make sure you’re truly in a free-use scenario.
- ✅ Keep records proving you switched away from Oracle. Document the steps you took to remove Oracle JDK and what you replaced it with. If an Oracle auditor comes knocking, having proof that you use OpenJDK (and where you stopped using Oracle JDK) will help demonstrate that you owe $0.
Pro Tip: “The easiest savings come from uninstalling Oracle JDK.” In many companies, Java was installed everywhere back when it was free.
Performing a cleanup to remove Oracle JDK from systems that don’t need it can immediately eliminate needless licensing exposure. (One study found Java was only truly needed on about 25% of the servers where it was installed – the rest were just legacy installations doing nothing!)
Example Scenario – Two Companies, Two Outcomes
Company A: Uses Oracle JDK on every production server — unaware that the “free” period for Java 8 and 11 ended years ago.
Result: A $1.2 million licensing exposure after an Oracle audit (a very expensive surprise).
Company B: Migrated all their Java workloads to an OpenJDK distribution and documented the change.
Result: $0 owed in license fees, zero audit pressure from Oracle, and full control over Java updates on their own schedule.
These two scenarios highlight a simple truth: if you stick with Oracle’s Java without understanding the current licenses, you risk a nasty bill. If you take charge and use free alternatives, you avoid that trap.
Final Take
Oracle Java isn’t free for most businesses anymore—but Java itself still is.
The key is knowing which Java you’re using and under what terms. If you’re running Oracle’s JDK in 2025 and it’s not strictly for personal or development use, assume you need to pay for it.
The safest route for many organizations is to switch to an open-source Java (or any non-Oracle distribution) and sidestep Oracle’s licensing entirely. You’ll still be running the same applications, just on a free platform.
In short, Java remains free; only Oracle’s branded releases carry a price tag for commercial use.
Pro Tip: “If it says Oracle, assume it’s billable.”
Read about our Java Advisory Services.