Uncategorized

Oracle Java Licensing FAQs: Your Questions Answered

Oracle Java Licensing FAQs

Oracle Java Licensing FAQs

Oracleโ€™s Java licensing changes have raised many questions among IT executives and legal teams. In this FAQ, we address the most common queries with clear, fact-based answers as of 2025. This aims to demystify Java SE licensing, Oracleโ€™s subscription model, and compliance issues. Whether youโ€™re evaluating your Java licensing needs or addressing internal concerns, these Q&As offer a concise advisory perspective.

Read about Oracle Java Audits.

Q1: Is Oracle Java free for commercial use?

A: Not in most cases. Historically, Java was free for commercial use under Sun’s stewardship and even during Oracle’s early stewardship. However, since Oracleโ€™s policy changes, using Oracleโ€™s Java SE in a business or production environment typically requires a paid license or subscription. In 2019, Oracle stopped providing free updates for Java 8 for commercial users and introduced a new license (OTN) that permits free use only for development, testing, or personal use, not for running business applicationsโ€‹. Running Oracle JDK/JRE in production without a subscription is not free and is not allowed under Oracleโ€™s terms. Oracle introduced No-Fee Terms for certain versions (Java 17 and later), which allow temporary, free use of the latest Java release, but this is a limited exception. In general, if an organization wants to use Oracleโ€™s Java beyond development or personal use, it must pay for Oracleโ€™s Java SE subscription or be within a free-use grace period. The alternative is to use open-source Java implementations, such as OpenJDK, which are free; many companies opt for this route to avoid Oracleโ€™s fees.

Q2: What is the Java SE Universal Subscription?

A: Itโ€™s Oracleโ€™s current Java licensing model (launched January 2023), which is a subscription license covering Java SE use across an entire organization. The Java SE Universal Subscription replaced Oracleโ€™s older Java SE Subscription and Java SE Desktop subscriptions. The key aspect is an employee-based metric โ€“ companies pay per employee, rather than per device or named userโ€‹. By subscribing, you gain the rights to use Java SE on servers, desktops, and the cloud, as well as access to Oracleโ€™s Java updates and support services. The Universal Subscription is โ€œuniversalโ€ in that itโ€™s one license type for any environment (no separate desktop vs server licensing)โ€‹. It also includes support for any former โ€œcommercial featuresโ€ (such as Flight Recorder) that were in Java SE Advanced. In summary, the Java SE Universal Subscription is Oracleโ€™s all-encompassing Java license offering in 2025, bundling usage rights and support under a recurring monthly fee model.

Q3: How is the cost of Oracleโ€™s Java subscription calculated?

A: Oracleโ€™s Java SE Universal Subscription is priced based on the total number of employeesย in your organization. This means the cost depends on your headcount, not on the number of machines or Java instances you use. Oracle sets tiered pricing: for example, the list price starts at $15 per employee per month for organizations with 1,000 employees or fewer. The rate per employee decreases at larger headcounts (e.g., around $10.50 per employee for approximately 5,000 employees, and down to around $5-6 at very large scales). So, a company of 500 employees would pay roughly 500 ร— $15 = $7,500 per month (approximately $ 90,000/year) at the list price. Importantly, โ€œemployeeโ€ includes all employees, not just IT staff or Java usersโ€‹. Contractors and part-time workers who use the company’s systems are generally included as well. Oracleโ€™s official price list confirms these per-employee rates and tiersโ€‹. There is no smaller license you can buy just for certain servers โ€“ itโ€™s an all-or-nothing enterprise metric. Note that Oracle can offer discounts off the list prices, especially for large enterprises, but the model of charging per employee remains the same. The subscription is typically sold on a yearly term (even though it is priced monthly), meaning you commit to a certain number of employees for at least a year.

Q4: Do we have to license all employees, even if only a few use Java?

A: Under the current Oracle model, yes. The Java SE Universal Subscriptionโ€™s per-employee metric means if you need a license for any Java usage, it triggers a requirement to count every employee in your organizationโ€‹. Oracleโ€™s policy is that you cannot, for instance, just buy licenses for 50 servers or 20 developers. They eliminated the older metrics that allowed partial licensing, such as Named User Plus or per-processorโ€‹. So even if, say, only 10 out of 1,000 employees actively use applications on Oracle Java, Oracle still charges for 1,000 employees. This has been highly controversial because it often overcounts usage beyond what is needed. Oracle argues that this simplifies compliance (you donโ€™t have to track where Java is installed), but it results in many companies paying for far more โ€œseatsโ€ than they use. One exception: if your company is very small and has only 1 or 2 employees, Oracleโ€™s minimum might still require paying for a certain base (Oracleโ€™s price list starts at the โ€œ1 to 999โ€ employees tier). For all practical purposes, any use = license for everyone. Companies have found this out the hard way: even having one Oracle JDK installed can obligate licensing for thousands of staff. Therefore, to avoid this, many are removing Oracle Java entirely if they canโ€™t stomach licensing it for all users.

Q5: What uses of Java are allowed without an Oracle subscription (what are the โ€œfreeโ€ use cases)?

A: Oracle does permit some usage of Oracle Java without a paid license, under specific conditions:

  • Personal Use: Individuals can use Oracle Java on their devices for non-commercial purposes freeโ€‹of charge. For example, a developer tinkering with Java at home or someone using a Java-based app on their PC doesnโ€™t need a license.
  • Development, Testing, and Demonstration: Oracleโ€™s OTN license (applicable to Java 8 updates after 2019 and Java 11, etc., before NFTC) explicitly allows these uses for free. That means your companyโ€™s developers can download and use Oracle JDK on dev or test environments without a subscription. Only when moving that code or JDK into production would a license be required.
  • Oracleโ€™s โ€œNo-Fee Terms and Conditionsโ€ (NFTC): Introduced with Java 17 and applicable to later versions, NFTC allows free use of the Oracle JDK in production for the current Java version until one year after the next LTS releaseโ€‹. In practice, this meant Java 17 was free for production until September 2024. Now, Java 21 (released in September 2023) is under NFTC and free, at least until a year after the next LTS (Java 25) is released. So, companies can use Java 21 in production for a couple of years without incurring any costs. However, NFTC has two big catches: (1) once that free period ends, you must either upgrade to the new LTS or get a subscription to continue receiving updates on the old oneโ€‹, and (2) NFTC doesnโ€™t allow you to redistribute Oracle JDK to third parties as part of productsโ€‹.
  • Included with Other Oracle Products: If you are using Java solely as part of another Oracle software product that you licensed (like Oracle Database or WebLogic Server), you might not need a separate Java SE subscription. Oracle grants restricted-use Java licenses with many of its productsโ€‹. For instance, the Oracle DB includes rights to use Java (the embedded JVM) for database purposes only. Using Java for anything else would not be covered. So this is a conditional โ€œfreeโ€ use โ€“ itโ€™s free in the sense you donโ€™t pay extra beyond the other Oracle product license.

Anything outside of these scenarios is considered commercial use that requires a subscription. For example, using Oracle Java to run a customer-facing web application in your business would require a license, unless it is the current Long-Term Support (LTS) version under the New Feature and Technology Commitment (NFTC) policy (and even then, only until the free period expires).

Itโ€™s worth noting that free development and test use means some companies have tried to limit Oracle JDK to non-production environments and use OpenJDK in production, but mixing environments can be cumbersome. Most people either subscribe to production or remove the Oracle JDK to avoid accidental misuse. Always double-check the specific license text for your Java version. For instance, Java 8 and 11 use OTN (free for development and testing), while Java 17+ uses NFTC (free for production until the time limit is reached).

Q6: We have been running Java 8/11 on our servers for a while; do we now owe Oracle money?

A: It depends on the updates you have installed and when they were installed. If you were running Oracle Java 8 or Java 11 in production and kept applying Oracleโ€™s updates after the free public update period ended, then technically, you were required to have a subscription from that point on. For Java 8, free public updates for commercial use ended in January 2019โ€‹. For Java 11, Oracle never provided free long-term commercial updates beyond an initial 6-month window. Java 11 was released in 2018, and Oracle expected a subscription for updates after that short period. So, if you continued to download patches from Oracleโ€™s website after those dates and apply them, without a subscription, Oracle would consider you out of compliance. They could demand back payment for those years of โ€œunlicensedโ€ useโ€‹. In practice, Oracle has indeed gone after companies for running Java 8 updates in 2019 and 2020, among other years, without a license, citing their download records and seeking retroactive fees.

However, if you froze on an old build (say, you never installed any Oracle Java 8 update beyond January 2019โ€™s last public update), then you did not accept the new OTN license for later updates and might argue you stayed under the original license. Running that old build in production is not a license violation per se (it was acquired legally under the old terms), but itย isย out of support and no longer receives security fixes. Oracle canโ€™t charge you for using an old build that was free when you downloaded it. They might try to scare you that youโ€™re not supported (true) or that itโ€™s insecure, but not a license fee situation as long as you didnโ€™t take action that bound you to new terms.

In summary:

  • If you downloadedย or installed Oracleโ€™s Java updates after the cutoffย without a subscription, you were technically required to have one, and Oracle may claim you owe for that period.
  • If you never updated past the free versions, you donโ€™t owe Oracle license fees for those old versions. (You have other risksโ€”security vulnerabilitiesโ€”if you stayed on an old release, but not a licensing fee.)
  • If you did have a Java SE subscription that has since lapsed, and you kept using Java, Oracle would say you need to renew or cease use.

One more nuance: Oracleโ€™s OTN license (for Java 8u211+ and Java 11) doesnโ€™t allow production use. By installing any Java 8 update after 8u202, you clicked an agreement that essentially said, โ€œI wonโ€™t use this in production without a license.โ€ So Oracleโ€™s position is that you violated that agreement if you used it in production. Thereโ€™s no automatic โ€œowing money,โ€ but Oracle could pursue it legally as a license breach. In reality, they typically encourage you to buy a subscription in the future rather than litigating over past usage. They might propose a deal like โ€œbuy a 2-year subscription now and weโ€™ll waive the fees for the past 3 years.โ€ Each case can be a bit different depending on how Oracle approaches it. If you find yourself in this situation (using Java 8 or 11 after 2019 without a license), itโ€™s wise to consult a licensing expert about your exposure. And strongly consider either getting compliant (via subscription) or migrating to alternatives to stop the bleeding.

Q7: How can Oracle detect if we are using Java without a license?

A: Oracle primarily uses two methods:

  1. Download Records: Oracle keeps logs of downloads from its websites, including Oracle Technology Network and Oracleโ€™s Java download pages. These logs can be tied to user accounts or, at the very least, email domains or IP addresses. Oracle has explicitly said that they know which companies have downloaded Oracle Java installers or updatesโ€‹. For example, if someone in your company downloaded Java 8 Update 261 in 2020 from Oracleโ€™s site (perhaps using a company email login or just from a traceable IP), Oracle records show that. Oracleโ€™s LMS and sales teams have used this data to identify targets โ€“ companies that downloaded updates but never purchased Java. This often triggers the โ€œsoft auditโ€ outreach where they mention, โ€œWe have information that your organization has downloaded Oracle Java updatesโ€ฆโ€.
  2. Audits of Other Oracle Products: If your company is undergoing an audit for Oracle databases or middleware, the auditors often also check for Java usage. They may run scripts that detect installed software, and Java could show up. Even though Java wasnโ€™t historically a licensed item, now, auditors include it. So, a formal Oracle audit of any kind might double as a Java audit.

Oracle does not have a built-in call-home feature in the Java runtime that reports on you (at least, none is publicly known, and such a feature would raise privacy issues). Itโ€™s mainly these external clues. They might also rely on their sales teamsโ€™ knowledge โ€“ e.g., an Oracle rep talking to your IT staff might simply ask, โ€œAre you using Java SE?โ€ Many companies frankly admitted that they did not realize it would lead to a compliance issue later.

Additionally, Oracle can use an approach that asks you to run a Java usage script during an audit. If you cooperate, that script will list Java versions on the servers. In a formal audit scenario, you may be contractually obligated to run Oracleโ€™s measurement tools if you have auditing rights granted through a contract. Oracleโ€™s audit script or data request often includes collecting the output of commands like java -version on servers, etc.

So, in practice, Oracleโ€™s first line of detection has been their download recordsโ€‹. For instance, Oracle knows if you downloaded Java 11 in 2019 and youโ€™re not listed as a customer โ€“ thatโ€™s a red flag. They often initiate contact by referencing that kind of data. As a precaution, some companies have even blocked Oracleโ€™s Java download sites internally to prevent employees from inadvertently creating this trailโ€‹. They distribute approved OpenJDK internally instead.

Once Oracle is reviewing your company (via logs or audits), they may escalate to a deeper analysis. But if youโ€™ve never downloaded an Oracle JDK (maybe you only use OpenJDK or got Java pre-installed on something long ago), youโ€™re not on their radar unless found through an audit of another product.

Q8: Oracle emailed us about โ€œJava licensing discussionsโ€ โ€“ is this an audit, and how should we respond?

A: If Oracle has reached out via email to discuss Java licensing or โ€œJava compliance,โ€ it is likely the beginning of a soft audit (informal audit). Oracle often sends these emails as a precursor to an audit, as a way to engage with you on the topicโ€‹. While it may not use the word’ audit,โ€ you should treat it seriously, as if an audit were underway.

Hereโ€™s how to respond:

  • Donโ€™t ignore it. Acknowledge the email promptly and professionally. For example, thank them for the information and say you need to internally review your Java usage and will get back to them with a proposed meeting date or answers. This buys time and shows cooperation. Ignoring the email or refusing outright can escalate the matter โ€“ Oracle might quickly involve their Legal or Business Practices team if you stonewall.
  • Engage your internal team. The moment you receive such an email, loop in your IT asset management team, compliance officer, or legal counsel. Treat it as the start of an audit. Pull your records on Java usage, including the number of installations and any Oracle download history. Essentially, prepare your facts before you formally talk to Oracle.
  • Control the conversation. When you do respond with information or enter a meeting, ensure a knowledgeable person represents your company. The Oracle repโ€™s goal will be to find non-compliance or sell a license. Your goal should be to understand what data they have and to avoid making admissions without full context. If youโ€™re not ready to answer something, itโ€™s okay to tell Oracle you need to check and will follow up.
  • Involve legal if needed. While you donโ€™t necessarily have to cc a lawyer on initial emails, it’s a good idea to have legal advisors on standby. They might want to shape the communication to protect the company. For example, if Oracle starts requesting detailed deployment data, legal may want to handle those requests formally.

In essence, yes โ€“ that friendly email is the start of the auditing process. Oracleโ€™s materials describe this as the start of a compliance reviewโ€‹. You should respond cooperatively but carefully. Show that you take compliance seriously:

  • Perhaps schedule a meeting for a reasonable future date (a week or two away) and use that time to gather your information.
  • During the meeting, you can ask Oracle to clarify their records: โ€œCan you let us know what prompted this discussion? Have you observed something specific about our Java usage?โ€ They might cite downloads or just โ€œindustry changes.โ€
  • Itโ€™s often helpful to get advice from a third-party licensing expert at this stage. They can tell you what Oracle is likely to do next and how to navigate the conversation.

Remember, Oracleโ€™s end goal is likely to get you to buy the Java SE Subscription for all employees. If you determine that you indeed have unlicensed Java use, youโ€™ll need to decide whether to purchase a license for Oracle Java or use alternatives. But you donโ€™t need to decide that on the first call. The first steps are usually information gathering on both sides.

Treat the email as anย audit alarmย โ€“ mobilize your team, respond formally (not casually), and manage communications through a single point of contact on your side. By doing so, you remain in control of the process and can avoid missteps like over-sharing or admitting non-compliance too bluntly. Many companies have gone through this, and the ones that fare best are those that react promptly and deliberately, rather than casually or defensively.

Q9: If we only use Oracle Java and have no other Oracle products, can Oracle still audit us?

A: Yes, Oracle can pursue an audit or compliance action for Java even if you have no other Oracle products. The mechanism is a bit different, though. If youโ€™ve never signed any contract with Oracle (no Oracle database, no prior Java subscription, etc.), Oracle cannot invoke a contractual audit clause (since none exists). Instead, they will use the โ€œsoft auditโ€ approach we discussed and, if needed, escalate to legal notices claiming unlicensed use (copyright infringement). Oracle has a whole division, Oracle Global Licensing and Advisory Services, and a compliance/legal team, that handles license enforcement beyond formal audits. So practically, they will audit you in all but name โ€“ via emails, meetings, evidence gathering โ€“ even if you arenโ€™t a traditional customer.

If you ignore them entirely, Oracle could theoretically file a lawsuit for using their software without a license, which would be a copyright infringement suit. Thatโ€™s a last resort; Oracle usually prefers to negotiate a commercial solution (i.e., sell you a subscription) rather than going to court. But the lack of other Oracle products doesnโ€™t protect you. Oracle has been very active in targeting Java-only shops, because thatโ€™s a whole new revenue channel for them. Oracleโ€™s communications in those cases often come from their โ€œOracle License Management Servicesโ€ or โ€œBusiness Practices’ group, referencing that you have downloaded or are using Oracle Java without a license, and requesting that youย cooperate to resolve the issue.

One nuance: If you truly have zero Oracle contracts, you might wonder how Oracle would enforce an audit. As mentioned, itโ€™s not a contractual audit; itโ€™s an enforcement action. If it gets serious, it might become a legal matter beyond contract law. But typically it doesnโ€™t reach court. It results in you either buying a subscription or confirming that you have removed Oracle Java.

So, bottom line: Having no other Oracle relationship does not mean youโ€™re off Oracleโ€™s radar. Some companies have been surprised โ€“ โ€œWe donโ€™t even use Oracle products, how can we be audited?โ€ The answer is that Java was free, but now itโ€™s not. Oracle will pursue anyone using it commercially, regardless of their Oracle customer status. The lack of a formal audit clause might give you slightly more breathing room to push back (youโ€™re not bound to respond within 45 days like an official audit), but Oracle can be persistent. Itโ€™s often better to engage and resolve (or migrate off Oracle Java) than to risk a protracted standoff.

Q10: We use Oracle WebLogic and Oracle Database which include Java โ€“ do we need separate Java licenses for those environments?

A: If you are only using Java to run Oracle products that you are licensed for, you typically do not need a separate Java SE subscription for that usage. Oracle provides what are called โ€œrestricted-useโ€ Java SE licenses with many of its productsโ€‹. For instance:

  • Oracle WebLogic Server comes with the right to use Java SE, which is bundled with it, solely for running WebLogic.
  • Oracle Database includes an embedded JVM (for stored procedures, etc.), and the right to use Java for that functionality is included in the DB license.
  • Many Oracle applications, such as Oracle E-Business Suite and PeopleSoft, that run on Java application servers include Java as part of the installation and allow its use for the application.

Oracle published a list in their documentation of products that come with Java SE licensesโ€‹ (over 100 products). If you own any of those, you โ€œmight not need to purchase an additional Java SE licenseโ€ for the use within those productsโ€‹.

Important caveats: The Java license in these cases is restricted. It usually means:

  • You can use Java on the same machine, but only in the context of that specific product. If you use it for anything other than what it’s intended for, thatโ€™s not allowed.
  • For example, if WebLogic is installed on Server A, and that includes Oracleโ€™s Java, you can use that Java to run WebLogic and the components needed for it. But you shouldnโ€™t use that Java to run some other custom application on Server A or to run a separate Tomcat instance, etc. Doing so would exceed the restricted use, and then a Java SE subscription would technically be required for that extra usage.

So, if your only use of Oracle Java in your organization is within the confines of other Oracle enterprise products youโ€™ve licensed, you may be covered. Itโ€™s wise to confirm by checking the official documentation or asking Oracle in writing to confirm your understanding. Many businesses operate under this principle for WebLogic and similar. Oracleโ€™s new Java licensing push has prompted them to clarify that such usage is permitted without a separate subscription โ€“ they donโ€™t want to stall sales of WebLogic or DB by adding a Java tax on top, at least not yet.

However, suppose those same servers or admins also use Java for other purposes (say, thereโ€™s an in-house app deployed on WebLogicโ€™s JVM, which is fine as long as itโ€™s under WebLogic, or thereโ€™s a scheduled task using Java on the side, which would not be covered). In that case, youโ€™d have an issue. Youโ€™d either avoid that or license it.

One example: Suppose you have an Oracle Database server that also runs a small Java-based integration service, separate from the database. The Java to run that service would not be covered by the DBโ€™s license, because the DBโ€™s Java license is only for using Java inside the DB (like JDBC drivers or Java stored procedures). The Java runtime of that integration service would technically need a Java SE subscription, or it should be replaced with OpenJDK.

In summary, check the list of Oracle products with bundled Java rights. Use Oracleโ€™s Java only as allowed by those products. If you stick to that, you donโ€™t double-pay. If you go beyond that, youโ€™ll need to consider licensing or adjust to compliance.

Q11: We previously purchased Oracle Java licenses (Java SE Advanced, etc.). Are those still valid under the new rules?

A: If your organization has an existing Java license or subscription from before (especially older offerings like Java SE Advanced, Java SE Suite, or even the older Java SE Subscription with processor or Named User metrics), the terms of that agreement remain valid until it expires. Oracle canโ€™t unilaterally void a perpetual license or an active subscription contract. So:

  • Suppose you boughtย Java SE Advanced, a now-discontinued product that included features like Flight Recorder, as a perpetual license. In that case, you have the right to use that version of Java SE Advanced perpetually, under the terms you bought (usually tied to certain processors or users). Even though Oracle now sells only the Universal Subscription, they must honor your existing contract. You wouldnโ€™t need to buy the new subscription as long as your usage stays within what the old license entitlesโ€‹.
  • Suppose you have an activeย Java SE Subscriptionย (the older model, such as buying 100 processor licenses of Java SE in 2020 for three years). In that case, you are compliant with using Oracle Java under that contract until it expires. At renewal, Oracleโ€™s policy now is to push you to the new per-employee modelโ€‹. Theyโ€™ve been notifying customers that renewals of the old contracts are not available โ€“ youโ€™d have to transition to Universal Subscription or find another solution. So enjoy the terms while they last, but be prepared for a change at renewal.
  • If you had a special Java license as part of an Oracle Unlimited License Agreement (ULA) or other custom deal, you need to review the specific terms. Some ULAs included Java SE usage. When those ULAs end, if you certify, you may have some level of perpetual rights (if the ULA allows certification for Java, which is not common but possible). Oracle will likely try to avoid giving out unlimited Java in perpetuity, but check the fine print.

So yes, those prior licenses are valid for the scope they cover. The challenge is that Oracle is trying to retire those offerings. Oracle removed Java SE Advanced and similar from its price list and replaced everything with the Universal Subscription. That said, if you own Java SE Advanced per-CPU perpetual licenses, you can keep using them โ€“ for example, you might have entitlement to use Java SE 8 and maybe 11 on X CPUs forever. However, you wouldnโ€™t receive any updates beyond what was available when support ended, unless you had extended support.

Also, note that Java SE Advanced included features like Mission Control and had a different scope, often specific to certain advanced features. If you had those and are only using standard Java, you were probably oversubscribed anyway. Oracle might try to convince you that you should migrate to the new model for โ€œsimplicityโ€ or because โ€œAdvanced is no longer sold,โ€ but thatโ€™s a sales tactic. Your existing rights donโ€™t disappear.

One more scenario: Suppose you purchased a Java SE Subscription (old style) in 2019 and decided not to renew in 2022. At that point, you lost access to updates and technically the right to use Oracleโ€™s Java in production (since that subscription was term-based, not perpetual). If you continued using it, youโ€™d be unlicensed now. Oracle would treat you as any other company using Java without current entitlement. So, lapsed subscriptions donโ€™t confer perpetual rights (unless your contract said otherwise).

In summary, check what kind of Java license you have:

  • Perpetual license (Java SE Advanced/Suite) โ€“ you keep usage rights perpetually for the authorized scope, even if support has lapsed (you just wonโ€™t get patches). Oracle should honor thatโ€‹, though they may try to upsell you to the new subscription.
  • Term subscription (old Java SE Subscription) โ€“ you had rights only during the term. After expiry, you need to stop using Oracle Java or renew (likely under a new model).
  • Java is included in other Oracle licensesย โ€“ as covered, you can continue to use itย within that context.

If in doubt, involve legal counsel to interpret any existing contract. It can be your trump card if Oracle says โ€œyou need to buy Xโ€ and you can respond โ€œactually, we have rights under Contract Y for this usage.โ€ Oracleโ€™s audit documents advise auditors to check if the customer has prior Java licenses that might cover some usageโ€‹.

Q12: What alternatives do we have to avoid paying Oracle for Java?

A: The primary alternative is to use OpenJDK-based Java distributions that are free and open source. OpenJDK is the reference implementation of Java, and there are multiple well-regarded builds:

  • Adoptium Eclipse Temurin (formerly AdoptOpenJDK) โ€“ free, widely used, community-supported.
  • Amazon Corretto โ€“ free LTS builds provided by Amazon, with long-term updates (Amazon supports Java 8 until at least 2030, Java 11 to 2032, etc.)โ€‹.
  • Azul Zulu โ€“ free binaries from Azul Systems, plus Azul offers paid support if needed at about 30% of Oracleโ€™s cost (approx)โ€‹.
  • Red Hat OpenJDK โ€“ included with Red Hat Enterprise Linux, free to use elsewhere too; Red Hat backports fixes for Java 8 and 11 and contributes heavily to OpenJDK.
  • Microsoft Build of OpenJDK โ€“ free Microsoft-supported OpenJDK, used in Azure services.
  • IBM Semeru โ€“ free OpenJDK builds (with an alternative JVM option, OpenJ9).
  • BellSoft Liberica โ€“ free OpenJDK binaries with optional support.

All these options are functionally equivalent to Oracle Java SE, as they all pass the same TCK (compatibility tests) and are based on the same source code. They have no licensing fees โ€“ they are under the GPL open-source license. This means you can use them in production without an Oracle contract, and you wonโ€™t be audited for using them. Many organizations have already switched to these alternatives to avoid Oracleโ€™s model. For example, after 2019, companies moved en masse to AdoptOpenJDK or Corretto to continue receiving free updates.

You can also mix and match: you might use Temurin for most and maybe pay for a small Azul support for mission-critical applications if you want a support SLA. Even then, youโ€™re paying far less and not to Oracle.

Read Alternative Java Options: Exploring OpenJDK and Others.

Support and updates: One concern is keeping up with security patches. The OpenJDK community and vendors release quarterly updates in sync with Oracleโ€™s. Oracle contributes to OpenJDK, so the fixes appear there, and then everyone builds their binaries. A report found that 84% of organizations that moved to OpenJDK found maintaining security was no harder than beforeโ€‹. Some vendors, like Azul, claim their customers experience no lag in getting patchesโ€‹. Amazon and others often release updates on the same day as Oracleโ€™s CPU releases or within a few days.

Cost/benefit: The benefit is obvious โ€“ cost avoidance. Oracle Java can cost into the millions for large companies. OpenJDK is free; even if you opt for paid support, itโ€™s much cheaper. Azul, for instance, cites ~70% savingsโ€‹. Another benefit is no vendor lock-in or surprise price changes โ€“ Java becomes a commodity, like Linux, where multiple vendors compete.

Migration effort: Switching from Oracle JDK to an OpenJDK distro is usually trivial (just install it and test). Since Java 11, Oracleโ€™s JDK and OpenJDK are essentially the same; Oracle doesnโ€™t have exclusive features, apart from possibly some minor management tools. For Java 8, there were some differences, as commercial features like Flight Recorder were only available in the Oracle JDK until they were open-sourced in later versions. But those differences are not blockers for most. So, alternatives are truly drop-in replacements in most cases.

Real-world example: A mid-size enterprise with, say, 1,200 employees might avoid a $200k/year Oracle bill by moving to OpenJDK, possibly spending maybe $30k/year on an Azul support plan โ€“ saving ~$170k/year and no compliance issues.

Other approaches: In theory, another alternative is third-party support for Oracle Java, similar to how companies use third-party support for Oracle databases through firms like Rimini Street. However, since Java updates are available from open source, companies usually opt for open source rather than paying a third party to support Oracleโ€™s binaries. So third-party support hasnโ€™t been big for Java โ€“ the ecosystem of free OpenJDK makes it unnecessary.

To summarize, you can run Java without paying Oracle by using one of the open-source JDKs. This is a route many CIOs choose once they see the potential cost of staying with Oracle. It keeps you on Java (so you don’t need to rewrite in another language or make drastic changes), but frees you from Oracleโ€™s licensing. We discussed these alternatives in detail in Article 3, but rest assured, there are mature, enterprise-ready Java alternatives that let you avoid Oracle fees entirelyโ€‹.

Read about Oracleโ€™s Employeeโ€‘Based Java Licensing Model.

Q13: What are the risks if we donโ€™t comply with Oracleโ€™s Java licensing?

A: If you continue to use Oracleโ€™s Java without complying (i.e., without the required licenses or outside the free-use terms), you face:

  • Financial Liability: Oracle may demand license fees for past and current usage. They have been known to ask for back payment for several years of unlicensed useโ€‹. For example, they might say, โ€œYouโ€™ve been using Java for 3 years, pay us for those 3 years retroactively, plus buy a subscription going forward.โ€ This could amount to a hefty, unbudgeted bill. In one case study, Oracle initially demanded $432,000 for four years of Java use from a company with 600 employees, which was later negotiated downโ€‹. Typically, Oracle will push you to a subscription sale rather than a one-time penalty, but either way, itโ€™s money that wasnโ€™t planned.
  • Legal Risk: Using software without a license is a breach of a license agreement or copyright. Oracle could escalate to legal action for copyright infringement. While lawsuits specifically over Java SE use havenโ€™t been publicized (most companies settle before they are filed), the risk exists. A lawsuit would seek damages potentially far exceeding the list license cost, as well as injunctive relief to stop using the software. The mere threat can force a company to make a purchase.
  • Business Disruption: Oracleโ€™s enforcement can escalate to executive levelsโ€‹. They may send letters to your CEO or CFO, which can create panic within the organization. It puts unwanted scrutiny on IT. In extreme cases, if you had to suddenly remove Oracle Java to become compliant (because you choose not to pay), it could mean stopping certain applications until they are replaced with an alternative โ€“ a clear operational disruption.
  • Reputation and Vendor Relationship: Non-compliance findings may sour your broader relationship with Oracle, if you have one. It can label your company as a compliance risk, which might make Oracle less flexible in other negotiations. Itโ€™s also an ethical and compliance issue โ€“ many companies have internal policies to ensure software license compliance, and failing an audit is taken seriously by internal audit committees.
  • Ongoing Monitoring: If Oracle catches you once, theyโ€™ll keep an eye on you. You may end up on a frequent audit cycle or, at the very least, on a sales targeting list. The burden of dealing with Oracleโ€™s compliance teams could persist.

In practical terms, the most immediate risk is anย unexpected, large expense. For example, without compliance, you might suddenly have to cancel a purchase order (PO) for hundreds of thousands of dollars to Oracle or spend similarly on emergency remediation. CIOs dread that it can blow the IT budget.

Itโ€™s worth noting that Oracleโ€™s aggressive licensing enforcement (some call it a โ€œJava licensing trapโ€) has been widely criticized. Oracleโ€™s new model can make even a small infraction balloon into a big cost โ€“ โ€œsomething as benign as an admin updating Java could lead to an organization-wide license obligationโ€โ€‹. So, the risk of non-compliance is arguably higher now: one slip, and Oracle can claim you need to license your entire enterprise.

If you choose not to comply (i.e., not to buy licenses) and also not to remove Oracle Java, youโ€™re betting that Oracle wonโ€™t notice or act. Thatโ€™s quite risky given their current audit drive (Oracle is actively auditing a significant percentage of Java usersโ€‹). For large companies, itโ€™s not if, but when.

In short, the consequences are financial (likely paying for licenses andย possibly penalties)ย andย operational (dealing with audits and potential disruptions). Most organizations, upon realizing this, either obtain the proper subscriptions or, as we discussed, switch to open-source Java to resolve the issue.

Ignoring it is generally the worst option because it leaves you exposed to all of the above, with diminishing leverage to negotiate when Oracle inevitably knocks on the door.

Read more about our Oracle Java Audit Defense Services.

Do you want to know more about our Oracle Java Audit Defense Services?

Please enable JavaScript in your browser to complete this form.
Author
  • Fredrik Filipsson has 20 years of experience in Oracle license management, including nine years working at Oracle and 11 years as a consultant, assisting major global clients with complex Oracle licensing issues. Before his work in Oracle licensing, he gained valuable expertise in IBM, SAP, and Salesforce licensing through his time at IBM. In addition, Fredrik has played a leading role in AI initiatives and is a successful entrepreneur, co-founding Redress Compliance and several other companies.

    View all posts