Microsoft’s return to the Java ecosystem marks an intriguing chapter in the company’s long history with the programming language, one that began with a memorable 1996 April Fool’s prank. Back then, Microsoft distributed empty boxes for a fictitious product called “Microsoft Coffee,” a supposed Java development tool. Little did anyone know, Microsoft was already working on its own Java implementation, Visual J++, which would eventually lead to a lengthy legal dispute with Sun Microsystems. The controversy centered on Microsoft’s inclusion of nonstandard Windows APIs, which ultimately led to the removal of Visual J++ from the Visual Studio suite. This could have been the end of Microsoft’s relationship with Java, but the rise of Azure and the company’s evolving developer-centric strategy paved the way for a surprising return.
Fast forward to today, and part two of Microsoft’s Java story is unfolding. With the increasing prominence of Azure, Microsoft recognized the importance of supporting Java developers and making the language available on its cloud platform. The company has been rolling out Java tools for Visual Studio Code, as well as expanding Java support for its Azure services. Now, Microsoft has gone a step further by offering its own open-source Java distribution: the Microsoft Build of OpenJDK. This marks a significant milestone, as it comes more than a decade after the demise of Visual J++ and represents a shift in Microsoft’s approach to supporting Java in the modern cloud-native world.
The motivation behind Microsoft’s renewed interest in Java can be traced to its desire to minimize the costs associated with Azure-hosted applications. The complexity of Java’s licensing structure, which is controlled by Oracle, led Microsoft to turn to OpenJDK, the free and open-source implementation of Java. OpenJDK follows the Java SE (Standard Edition) specification and is governed by the GPL 2 license. It has contributions from a variety of companies, including Microsoft, which has a vested interest in ensuring developers can work with Java in a cost-effective manner on Azure.
Microsoft’s announcement of its own build of OpenJDK 11 is a direct response to the growing demand for Java support on Azure. By offering this open-source distribution, Microsoft is helping developers avoid the complex licensing issues tied to some commercial Java implementations. This initiative is part of a broader strategy to enhance Java’s role in the Azure ecosystem, with Microsoft already providing Java support across multiple Azure services such as Azure App Service, Azure Functions, and Azure Spring Cloud. With OpenJDK, developers can confidently use Java on Azure without worrying about the additional licensing fees typically associated with commercial Java distributions.