Oracle Releases JDK 20 First Under New License

Oracle's latest release of its reference implementation of the Java SE platform, Oracle JDK 20, was announced last week. Although this is another short-term release (as was JDK 19) that includes only six months of premium support, it comes with thousands of performance, stability, and security improvements, including platform enhancements aimed at helping developers improve their productivity.

This release includes seven JDK Enhancement Proposals (JEPs), which are roughly the equivalent of the Java Community Process' Java Specification Requests (JSRs). Most of the updates are follow-up features focused on improving functionality introduced in earlier releases. For example, JDK 20 delivers language improvements from Project Amber (Record Patterns and Pattern Matching for Switch). It also comes with enhancements from Project Panama to interconnect the Java Virtual Machine (JVM) and native code (Foreign Function & Memory API and Vector API). And there are features related to Project Loom (Scoped Values, Virtual Threads, and Structured Concurrency), which will streamline the process of writing, maintaining, and observing high-throughput, concurrent applications. All of these OpenJDK projects appear to be moving forward apace.

"The Java team at Oracle, which has basically been the same group all the way from the Sun Microsystems acquisition, collectively feels that the pipeline we now have for innovation has never been richer," Georges Saab, senior vice president of development, chair of Oracle's Java Platform group, and member of the OpenJDK Governing Board, told me on a Zoom call. "The innovative new enhancements in Java 20 reflect the vision and invaluable efforts the global Java community has contributed throughout Java's existence. With the support provided by Oracle's ongoing Java technology leadership and community stewardship, Java has never been more relevant as a contemporary language and platform that helps developers improve productivity."

Keeping Java relevant is something of an existential mission for supporters of this enormously popular language and platform. It's not like one slip and the whole thing turns to goo. (Yes, that's a Star Trek Next Gen reference), but Java needs to keep up, and Saab and his crew are clearly committed to making sure that happens.

Consider the quote included in the press release from a report by S&P Global Market Intelligence, ("Voice of the Enterprise: DevOps, Workloads and Key Projects Study 2022"). In it, industry analyst Jay Lyman, observes, "Organizations today face increasing pressure to use their resources as wisely and efficiently as possible, which requires developers to seek tools that streamline application development while helping ensure their organizations achieve their IT security and compliance goals. Digital transformation leaders say they're more focused on improving time to market and the agility that can be gained with better tools that can accelerate their organization's application development initiatives."

"The six-month release cadence has given us a means of delivering innovation into the hands of Java developers more quickly that we've ever been able to before," Saab said. "The incremental nature of these releases, combined with the notion of preview features, has made it possible for us to reach a larger audience with features before we've poured the cement and said, the APIs are never going to change. Because we're able to get feedback from people who are using it in real situations, trying out the features and helping us, the entire process is vastly improved."

This is the 11th release of the ongoing six-month release cycle, and the first since the new Java SE Universal subscription and pricing replaced the now legacy Java SE Subscription and legacy Java SE Desktop Subscription on January 23, 2023. The new pricing is based on the number of employees in an organization, instead of the number of instances in use.

"Every time you do something new, people are going to come back and say, 'Hey, why are you doing that?'" Bernard Traversat, VP of software development in Oracle's Java group told me. "And we can say that we made these licensing changes based primarily on feedback from our existing customers. You see Java everywhere—laptops, desktops, clouds—and this will simplify the tracking and management of licensed environments with universal permitted use across desktops, servers, and third-party clouds."

Oracle has made changes to its licensing plans several times over the past few years. For example, in 2019, the company announced that Java SE would no longer be free, and then in 2020 it introduced the NFTC (No-Fee Terms and Conditions) for JDK 17 and later, which permitted free use for some use cases.

JDK 21 will the next Long-Term Support (LTS) release, which means it will qualify for several years of support by Oracle.

Oracle showcased the latest capabilities of the language and platform at an event held in the company former headquarters in Redwood Shores, CA, called "Oracle DevLive Level Up." (The company moved from this long-time Silicon Valley location to Austin, TX, in 2020.)

Much more detail is available, of course, on the JDK 20 Release Notes page.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].