Sergey Nivens - Fotolia

Microsoft previews OpenJDK distro to the delight of devs

In a move meant to attract more Java developers to its Azure cloud and further support the Java community, Microsoft launched a preview of its own distribution of OpenJDK.

Microsoft has underscored the importance of Java to its customer base, as well as the market writ large with a preview of its own distribution of OpenJDK.

OpenJDK is an open source implementation of the Java Platform, Standard Edition -- also known as Java SE. The Microsoft Build of OpenJDK is a new long-term support distribution that includes binaries for Java 11, based on OpenJDK 11.0.10+9, on x64 server and desktop environments on macOS, Linux and Windows, said Bruno Borges, principal program manager of Microsoft's Java Engineering Group, in a blog post.

Microsoft also published a new Early Access release for Java 16 for Windows on ARM, based on the latest OpenJDK 16+36 release, he added.

The Microsoft distribution of OpenJDK is derived from the company's participation in the Eclipse Adoptium project, where Microsoft is a strategic member of the Adoptium Working Group and has licensed the Java Technology Compatibility Kit from Oracle.

By offering its own distribution, Microsoft is switching from Azul's distribution to Adoptium. Essentially, Adoptium has made it possible for Microsoft to move from a "buy" to a "make" strategy for its Java platform on Azure.

"This is a very big deal for Microsoft, as it signals that they are joining the Java ecosystem as a full participant," said Mike Milinkovich, executive director of the Eclipse Foundation.

Mike Milinkovich, executive director, Eclipse FoundationMike Milinkovich

Microsoft's motivation behind this move is to make Java a fully supported platform on Azure because of the importance of Java to enterprises. But there is a long and checkered history between Java and Microsoft.

The recent Supreme Court ruling in favor of Google over Oracle regarding a copyright dispute over Java APIs hearkens back to the case where Sun Microsystems -- which Oracle acquired in 2010 -- sued Microsoft over the implementation of a Java Virtual Machine (JVM) not being entirely compliant with the specification, said Ted Neward, director of technology culture at Quicken Loans. "In that case, Sun won, which was the opposite of where we are now," Neward said. "So where are we now?"

Today, Microsoft acknowledges reality for developers and has its own OpenJDK distribution. However, Microsoft and Oracle are partners based on the popularity of Oracle database products on Azure, and this complicates things somewhat, said Holger Mueller, an analyst at Constellation Research in Monte Vista, Calif.

"Enterprise customers will force Microsoft to support Oracle JDK sooner rather than later, as they like the roadmap and support for the Oracle version of OpenJDK, " he said. "So this is a good start, but not the final word on which Java will run in Azure."

Over the past 18 months, Microsoft contributed more than 50 patches to OpenJDK covering areas such as macOS packaging, build and infrastructure, GC fixes and enhancements for Windows, Borges said in his post.

Meanwhile, Microsoft deploys more than 500,000 JVMs internally, and more than 140,000 of these JVMs are already based on the Microsoft Build of OpenJDK, he said.

"Azure is seeing significant growth in Java workloads through services like Azure Spring Cloud, Azure App Service, Azure Functions and Azure Kubernetes Service," Borges said in his post. And later this year, the Microsoft Build of OpenJDK will become the default distribution for Java 11 across Azure-managed services, he said.

The big winners here are enterprise Java developers who want to include Azure as a potential platform for their cloud-based Java deployments.
Mike MilinkovichExecutive director, Eclipse Foundation

Community approval

Overall, the Microsoft OpenJDK move has been met with acceptance from the Java community.

"It is great to see them taking this step to actively engage with the Java community through OpenJDK and Adoptium," Milinkovich said. "The big winners here are enterprise Java developers who want to include Azure as a potential platform for their cloud-based Java deployments."

Azul, based in Sunnyvale, Calif., has one of the most popular distributions of OpenJDK. The company also approved of the move.

"With their upcoming builds, Microsoft is joining a rich community of ongoing OpenJDK distributions that includes Azul's Zulu builds of OpenJDK, Red Hat's builds of OpenJDK, Amazon's Corretto builds of OpenJDK, SAP's SAPMachine builds of OpenJDK, Alibaba's Dragonwell builds of OpenJDK, BellSoft's Liberica builds of OpenJDK, and the upcoming Eclipse Adoptium builds of OpenJDK (the continuation of the AdoptOpenJDK effort)," wrote Simon Ritter, deputy CTO at Azul, in a blog post. "Not forgetting, of course, Oracle builds of OpenJDK."

However, not every member of the community is impressed -- at least, not yet.

"I'm struggling to find significance [of Microsoft's move], given how many distros of Java there are now," said Todd Williams, co-founder and vice president of technology at Genuitec.

"I guess it makes sense if they want to ensure the implementation is optimized well to run on their platforms," Williams said. "And they have a specific one to point customers to and use in their cloud service packages. So it seems good for them and their customers. But Java isn't really a competitive space anymore."

Dig Deeper on Core Java APIs and programming techniques