Development / Open Source / Tools

Microsoft Goes Deep on Java with JCP Membership

10 Nov 2021 12:12pm, by
OpenJDK

Microsoft continues to extend its commitment to the Java language and platform to better enable Java developers to build on Microsoft platforms, particularly its Azure cloud.

The software giant recently signed the Java Specification Participation Agreement, known as JSPA, to officially join the Java Community Process (JCP). The JCP is the governing body that oversees the maintenance and advancement of the Java platform.

Microsoft and OpenJDK

Being a member of the JCP means Microsoft will have even more direct say over the future of the platform. As a producer of its own distribution of OpenJDK — a free and open-source implementation of the Java Platform, Standard Edition — Microsoft already has a stake in the future of Java. A seat on the JCP solidifies that.

“It is great to see Microsoft joining the Java Community Process and becoming a full-fledged member of the Java community,” said Mike Milinkovich, executive director of The Eclipse Foundation — which Microsoft joined in 2016 and became a strategic member of in August. “There is a lot of old history there, including the ghost of the J++ lawsuit that was settled 15 years ago. I see this as part of Microsoft’s overall strategy of making Azure the platform of choice for Java developers.”

Indeed, “Participating in the JCP is a significant milestone in Microsoft’s journey within the Java ecosystem,” said Bruno Borges, Principal Program Manager for the Java Engineering Group at Microsoft in a blog post. “We look forward to working on behalf of our customers and teams in collaborating with partners, Java vendors, Java User Groups (JUGs), and individuals. These are the passionate contributors making the future of Java and keeping it innovative.”

The JCP is the mechanism for developing standard technical specifications for Java technologies, enabling collaboration between individual developers, customers, and vendors interested in submitting suggestions for Java APIs, Borges explained.

“For the past 23 years, the Java Community Process (JCP) program has guided the specification of the Java platform in cooperation with the international Java developer community,” said Heather VanCura, Chair and Director of the JCP program at Oracle, in a statement. “The JCP program welcomes participation and membership from corporate, open source, individual, and Java User Group participants.”

Moreover, “The JCP is the place where we define and discuss the future of Java, and where we need the collaboration of all the Java community,” added Bruno Souza, President of the SouJava User Group, an Executive Committee Member of the JCP, in a statement. “Microsoft has been an important part of this community, with their involvement in OpenJDK but also supporting Java User Groups and community events.”

Enterprise Java Perspective

From an enterprise perspective, the JCP could be viewed as basically irrelevant at this point, as both Java Enterprise Edition (Java EE) and Java Micro Edition (Java ME) are gone, and the JCP tends to rubber-stamp technical decisions made within OpenJDK – where Microsoft also participates. However, the process is useful, and the body holds a patent pool protecting the Java platform.

And Microsoft already supports a broad range of Java EE and Jakarta EE application servers though partnerships and agreements with Red Hat, Oracle and IBM, Julia Liuson, the newly promoted president of Microsoft’s Developer Division, told The New Stack earlier this year.

At the SpringOne 2021 conference in September, Microsoft introduced a new tier for the Azure Spring Cloud to further empower Java developers to build enterprise apps using the Spring framework.

“We’ve made substantial investments in Java to support a wide range of customer workloads, from the development of Azure Spring Cloud with VMware as a managed destination for Spring Boot applications, to the acquisition of JClarity and the creation of our Microsoft Java Engineering Group,” she wrote in a blog post from June.

“We see Java as critical to our success as a company, and it helps power some of our most strategic products like LinkedIn, SQL Server, Azure, Minecraft, and Yammer,” she added.

Moreover, “We want to provide a single support experience for any Azure customers for using Java,” Liuson told The New Stack.

Microsoft Build of OpenJDK

Microsoft introduced its build of OpenJDK in April and made it generally available in May at the Microsoft Build developer conference.

Borges said Microsoft has more than 500,000 Java Virtual Machines (JVMs) in production running hundreds of internal Microsoft systems. “In addition to significant internal Java usage, there are many customers and developers coding and running Java on Microsoft Azure and GitHub. Joining the JCP is a major, yet natural step forward for Microsoft in helping shape the future of the Java Platform,” he said in his post.

Borges also explained that Microsoft is committed to supporting the Long-Term Supported (LTS) versions of Java, which are OpenJDK 11 and OpenJDK 17. He encouraged developers to update their systems and workloads to OpenJDK 17.0.1 and OpenJDK 11.0.13, as these versions will soon be rolled out to Microsoft Azure services where Microsoft manages the JDK on behalf of the customers, such as Azure App Service, Azure Functions, and Azure Spring Cloud, he said.

Microsoft Deserves Credit

“In other recent moves, Microsoft has joined the Board of the Eclipse Foundation as a Strategic Member and is also a key supporter of the Adoptium Working Group which delivers high-quality Java SE runtimes based on OpenJDK,” Milinkovich said. “I think Microsoft deserves a lot of credit here. They are making all the right moves to become a leader within the Java ecosystem.”

James Governor, co-founder and analyst at RedMonk, cited not only Microsoft’s participation in the JCP but also his contributions to technologies such as OpenJDK, Windows on ARM, Apple M1 and Alpine Linux as examples of Microsoft’s commitment to the future of IT.

Meanwhile, in September Oracle proposed a two-year cadence for LTS releases of Java.

Martijn Verburg, who leads the Microsoft Java Engineering Group, and participates in the Eclipse Adoptium project and the London Java Community JUG, said Microsoft believes in the end-user and operator benefits that modern Java brings. “Therefore, we would also like to endorse the two-year LTS proposal for builds of OpenJDK. Since most of the end-user ecosystem prefers to have the extra stability of an LTS, this is a great way to encourage them with their modernization efforts,” he said in a statement.

In addition, Microsoft recently introduced the 1.0 release of the Language Support for Java on Visual Studio Code, a multiyear collaboration between Microsoft, Red Hat, and the Java community. Highlights for this release include performance improvements, Java 17 support, type hierarchy navigation, source lookup and Gradle Kotlin support. There are more than 1 million Visual Studio Code Java developers, Microsoft said.

Feature background image par NickyPe de Pixabay.