Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Introduces Microsoft Build of OpenJDK

Microsoft Introduces Microsoft Build of OpenJDK

This item in japanese

Lire ce contenu en français

Microsoft has introduced a preview release of Microsoft Build of OpenJDK, a new open-source downstream distribution of OpenJDK based on version 11.0.10+9. Microsoft Build of OpenJDK supports x64 server and desktop environments on macOS, Linux, and Windows, and may be used for developing cloud applications on Microsoft Azure. The OpenJDK 11 binaries follow the same build scripts and test suite used by Eclipse Adoptium and have passed the Java Technology Compatibility Kit for Java 11.

Martijn Verburg, principal engineering group manager (Java) at Microsoft, speaking publicly in the Eclipse Adoptium Slack, stated:

Hopefully, we were clear that it was a 'secure the supply chain on Azure' move as asked for by our customers. For everything else we remain dedicated to being a strategic partner here at Eclipse Adoptium and making it a huge success!

Verburg co-founded the AdoptOpenJDK project in 2017, which subsequently changed its name to Adoptium after joining the Eclipse Foundation in June 2020. The transition to Adoptium included a split of AdoptOpenJDK into multiple sub-projects under the Adoptium top level project: Eclipse AQAvit, Eclipse Temurin and Eclipse Temurin Compliance.

Microsoft, one of the founding members of the Adoptium Working Group, has been furthering their commitment to Java since it debuted their Java Engineering Group in its Developer Division in 2019. In particular, they have collaborated with Azul Systems and other vendors to contribute to Java on Windows and Mac ARM, signed the Oracle Contributor Agreement and acquired jClarity, a Java performance-tuning company, to optimize Java workloads on Azure.

Bruno Borges, principal program manager, Java Engineering Group at Microsoft, spoke to InfoQ about Microsoft Build of OpenJDK.

InfoQ: What was the inspiration to create Microsoft Build of OpenJDK?

Bruno Borges: The interest in producing the Microsoft Build of OpenJDK was an evolutionary process. It started by recognizing that we run hundreds of thousands of Java workloads internally, followed by a significant growth in the number of Java workloads on Azure.

500,000 JVMs is a large footprint for internal systems of JVM-based workloads, especially for Microsoft. We have systems based in Scala, Kotlin, as well as Java. This number is based on what we were able to confirm when talking to different divisions across the company, and we are confident that there are more.

It was natural to release Microsoft Build of OpenJDK so we could apply these patches while they were waiting to be merged upstream. We have the expertise in house to build, test, and rollout the binaries. By producing our own build, we can expedite improvements and fixes while we proceed to upstream those changes in parallel and wait for them to be merged.

We also wanted this to be a new venue for Microsoft to participate more actively in the Java ecosystem and contribute to the Java community.

InfoQ: When do you anticipate the GA release of Microsoft Build of OpenJDK?

Borges: The team is very happy with the release and we are excited to bring a GA release to our users. We want to make sure that our release process is tidy, and that we can produce a patched (PSU) Preview before we announce GA. We aim to update the Preview release with the April release scheduled for later this month. After that, we will evaluate our processes, customer feedback, and hopefully proceed with our GA for later this year.

InfoQ: In the press release, it was mentioned that Microsoft has collaborated with Azul Systems, a vendor that provides their own downstream distribution of OpenJDK, i.e., Zulu, and plans to continue this collaboration. With this preview release of Microsoft Build for OpenJDK, will this collaboration change in any way?

Borges: Microsoft has been sponsoring AdoptOpenJDK since 2018 and is a founding member of the Eclipse Adoptium Working Group. Adoptium is the future home of AdoptOpenJDK. The OpenJDK Project itself is also something we participate in. Microsoft, through these venues, intends to collaborate with all members of the Java community. Azul shared a comment on their blog about the continued relationship between us.

InfoQ: Other than integration with Azure Cloud, what makes Microsoft Build of OpenJDK unique over other downstream distributions of OpenJDK?

Borges: The most important thing is that the Microsoft Build of OpenJDK is based on the OpenJDK Project, built using Eclipse Adoptium build scripts, tested with Eclipse Adoptium AQA, and certified with Oracle's TCK for the versions we provide Long-Term Support. The real value to Microsoft customers and users is that we have a deeper connection with the Microsoft teams that operate Java-based systems, and can work more closely in addressing bugs, performance regressions, and other things that matter to our customers. For Microsoft customers on Azure, our Build of OpenJDK is unique in that it is our own team that ensures it works on Azure and across all Azure services and other Microsoft products and tools.

InfoQ: How do you envision Microsoft's role in the Adoptium Working Group?

Borges: We recently joined the Eclipse Adoptium Working Group as a strategic member. We look forward to collaborating with the Java community and ecosystem and contributing to the open source effort. We believe Eclipse Adoptium will provide the vendor-neutral home where business-ready, Java-compliant OpenJDK binaries are produced and tested by the AQAvit quality suite.

Microsoft will continue our leadership in Eclipse Adoptium alongside partners such as Red Hat. We currently have one of the PM team as the chairperson of the Adoptium WG and we also have engineers from the Java Engineering Group leading various technical aspects of the project such as the API.

InfoQ: What's on the horizon for Microsoft Build of OpenJDK?

Borges: The Microsoft Build of OpenJDK will become the default distribution for Java 11 across Azure-managed services by the end of this calendar year.

Once we start rolling out new JVMs with the Microsoft Build of OpenJDK across Azure, we will look for opportunities to recommend better optimizations for Java-based workloads on these services.

Microsoft is also providing early access binaries for Java 16 for Windows on ARM based on the latest OpenJDK 16+36 release. Plans are also underway to provide OpenJDK 17 binaries by the end of 2021 after the formal GA release of Java 17. Packages and installers for OpenJDK 11 preview and OpenJDK 16 early access may be found on the Microsoft Build for OpenJDK website.

Rate this Article