When Oracle bought Sun Microsystems in April 2009 for $7.4 billion, Oracle’s Larry Ellison said Java was “the single most important software asset we have ever acquired.” Two months later, appearing on stage with Ellison at the JavaOne conference, Sun chairman Scott McNealy tackled the crowd’s biggest question head-on. “There’s a big, pink elephant in the room,” he told the audience of software developers. “Is this Oracle thing a good thing for Java?”
While companies don’t often make announcements about the underlying platform they use to power their software investments, Java underpins everything from microservices and backend logic to big data processing — and Java’s lasting compatibility, productivity, and massive ecosystem and tooling support has made it truly ubiquitous. As we mark 15 years of Oracle Java, it’s worth revisiting McNealy’s question: What has Oracle’s stewardship of Java meant for its enterprise users and the developer ecosystem?
The Pros
The first few years had their share of turmoil, such as when Apache officially withdrew its membership from the Java Community Process and a lengthy lawsuit between Oracle and Google over the use of Java in creating Android. But in time, the Java platform settled into a period of relative calm.
Oracle began to drive a steady stream of enhancements in major Java releases, and the company greatly increased the cadence of releases, moving to a predictable and steady six-month schedule, and away from the history of unpredictability and three to six years between feature updates. Each release’s cadence and robust feature set have helped ensure that Java continues to be one of the most relevant programming languages for every organization.
Under Oracle’s stewardship, Java, and the OpenJDK Project where it is developed, have reliably delivered 13 consecutive feature update releases on a perfect 6-month cadence. A new Long-Term Support (LTS) release is designated every two years, with security and bug fix updates every three months. The company also earns praise for continuing to press technical progress.
From a technical standpoint, Oracle introduced new language features and improvements to the JDK, the Java runtime and the JVM, as well as systemic enhancements such as improved Docker support and maintaining regular security updates.
The Cons
Concerns over Oracle’s true commitment to maintaining the open-source nature of Java have been there from the beginning. In 2018, Oracle announced it would end free public updates for Java 8 in January 2019 and a change to the way public updates of Oracle Java will be made available and licensed in the future. This move was highly disruptive and led to a surge in activity among other companies and organizations offering their own OpenJDK distributions with support and updates. In this sense, the open-source ecosystem has continued to thrive, giving developers a broad range of options to fit their needs.
The 2018 announcement that public updates for Oracle Java 8 would only be available with a paid subscription to Oracle Java SE demonstrated to many the drawbacks of Oracle’s stewardship and was a foreshadowing of the complex licensing models and the high costs associated with Java support and updates that we see today.
In 2019, the Oracle Java license was again changed. It was free for personal and development purposes, but commercial users needed a subscription. Seemingly, as a result, Oracle’s popularity with Java developers began to sink. According to Azul’s 2023 State of Java Survey and Report, globally 72% are considering migrating from Oracle Java to a non-Oracle distribution and 60% are already using a non-Oracle OpenJDK.
In 2023, a fourth major change in four years now requires organizations using Oracle Java to purchase a license for all employees even if only one employee or server has installed a licensable version of Java. With this latest pricing model, some customers have reported cost increases in the range of 2x – 12x. To add further fuel to the fire, auditing pressures have also seemed to increase. According to Gartner, by 2026, more than 20% of organizations using Java applications will be audited by Oracle, leading to unbudgeted noncompliance fees.
These structural licensing changes and price increases are straining IT budgets, particularly for organizations heavily reliant on Java-based applications, and cause many to explore cost optimization strategies.
A Mixed Bag
The answer to Scott McNealy’s 2009 question, “Is this Oracle thing a good thing for Java?” turns out to be a qualified yes. And Java certainly has been good for Oracle. Industry pundits estimate that revenue from Oracle Java support has grown by an order of magnitude since Oracle started aggressively monetizing Java in 2019. Oracle has done a good job keeping Java both pervasive and popular. With all the languages to choose from, it could have fallen out of favor, but Oracle deserves credit for keeping it updated and relevant for developers.
The Oracle Java licensing and pricing changes, though, seem to have struck hard throughout the ecosystem. It’s difficult to trust a software partner who changes pricing and licensing every year or two.
Despite this, and because of the healthy OpenJDK community that provides solid alternatives to Oracle, Java has remained one of the most popular programming languages. Azul’s 2023 State of Java Survey and Report found that an overwhelming 98% of businesses continue to use Java in their software applications or infrastructure, and a clear majority of those organizations indicate that Java is the backbone of a majority (60%+) of their applications.
Oracle will continue to be a major influence on Java’s future, adding new features to extend its longevity. At the same time, the JVM is terrifically versatile, and developers enjoy its flexibility without sacrificing performance. The OpenJDK community remains strong and continues to drive the platform forward. Viewed through that lens, Java’s future remains optimistic.