In a move that could mean serious competition for Oracle in the Java space, Microsoft is previewing its own build of OpenJDK, a freely available, long-term support distribution of open source Java.
Known officially as Microsoft Build of OpenJDK, binaries of Java 11 for Windows, Linux, and MacOS are available at microsoft.com. Microsoft also is publishing an early access binary for Java 16, the latest version of standard Java, for Windows on Arm. Microsoft Azure cloud users can try the build via Azure Cloud Shell.
Builds for Java 11 are based on OpenJDK source code, following the same build scripts used by the Eclipse Adoptium project, formerly known as AdoptOpenJDK. Microsoft’s binaries have passed the Java Technology Compatibility Kit (TCK) for Java 11.
Announced April 6, Microsoft Build of OpenJDK is a simple drop-in replacement for any other OpenJDK distribution in the Java ecosystem. Microsoft pledges to support Java 11 until at least 2024. OpenJDK binaries for Java 17 are due by the end of this year. Redmond will support Java 8 binaries from Eclipse Adoptium on Azure-managed services offering Java 8 as a target runtime option.
Microsoft, with its Java build, surely has Oracle, with its popular Oracle Java Development Kit (JDK) Java releases, in its crosshairs. Microsoft said Java is one of the most important programming languages today, as it’s used for everything from critical enterprise applications to hobby robots. Microsoft has seen increasing growth in customer use of Java across the company’s cloud services and development tools.
Microsoft said its contributions to OpenJDK started as it learned about the process and how to participate in a meaningful way. During the past 18 months, the company has contributed more than 50 patches for OpenJDK, covering areas such as MacOS packaging, build and infrastructure, and garbage collection fixes. Microsoft also has collaborated with Java vendor Azul Systems and others to offer Java support.
Microsoft Build of OpenJDK binaries may contain backported fixes and enhancements deemed important to customers and internal users. Some may not have been formally backported upstream and signposted in OpenJDK release notes.
Microsoft said it relies on Java technologies for some of its own internal systems, applications, and workloads; Java also powers some Azure infrastructure. The company deploys more than 500,000 JVMs internally, excluding Azure services and customer workloads.
Microsoft’s history with Java includes being sued by Java founder Sun Microsystems in the 1990s, with Sun alleging that Microsoft was distributing a version of Java that was not compatible with Sun’s, thus violating the “write once, run anywhere” principle of Java.
The lawsuit was settled in 2001, with Microsoft agreeing to pay Sun $20 million. The license agreement between the two companies was terminated.