Why it matters: For the past ten years, Microsoft has undergone a radical transformation from a company obsessed with pushing its closed-source software to one that embraces open-source software and tries to add to it. However, that obsession hasn't been completely removed from the corporate culture, which has led to a lot of drama around the .NET community as of late.
Microsoft has been trying to earn the trust of the open-source community for years, partly because CEO Satya Nadella recognized its growing importance in the grand scheme of things. Back in 2015, Nadella said his company was undergoing cultural and strategic changes in order to help developers and consumers go from “needing Windows to choosing Windows to loving Windows.” Part of that strategy meant embracing open-source technologies and letting Windows as an operating system fade into the background, among other things.
For a company with a long history of trying to destroy open source, this meant a radical transformation of its organizational structure and re-adjusting its goals. One notable example is when Microsoft scrapped its Trident engine and re-built its Edge web browser around the open-source Chromium project, which was started by Google — a rival company that has been eating the web. In 2019, It even joined the Linux Foundation as a high-paying, platinum member and has been striving to be an active contributor to the Linux Kernel.
However, every once in a while, the Redmond company finds itself at odds with the needs and wants of the open-source community. Last week, it made a controversial decision to quietly remove a key part of a feature called “Hot Reload” from the dotnet watch tool in the upcoming release of .NET 6. Mind you, this is a flagship feature that developers depended on to be more productive, so it shouldn’t come as a surprise that it sent shockwaves through both the open-source community as well as internally at Microsoft. It also didn’t help that Microsoft locked and limited a pull request for the removal of that functionality, which also blocked everyone from commenting on the change.
For those who are unfamiliar with Hot Reload, it essentially allows developers to get immediate feedback when they make changes in their projects. The original idea was to bring it to as many .NET developers as possible, but then Microsoft decided to limit that functionality to developers on Windows using Visual Studio 2022, with the remote possibility that it would get added to Visual Studio for Mac sometime in the future. This may make sense from a business perspective but also undermines the ten years of efforts from Microsoft engineers to build trust and contribute to the open-source community.
Since then, Microsoft has reversed its decision and issued a statement admitting it had made a mistake. Scott Hunter, who is the director of program management for .NET, explained that “we made a mistake in executing on our decision and took longer than expected to respond back to the community.” As such, Microsoft approved the pull request from the community to re-enable the Hot Reload functionality in the upcoming release of the .NET 6 SDK, which lands on November 8.
Hunter says the decision wasn’t a business one. Instead, he explained that in an effort to prioritize development resources, Microsoft wanted to enable the functionality in Visual Studio first while it figured out how to bring it to everyone else unbound by the November 8 deadline. Hunter further added that as with many companies, “we are learning to balance the needs of OSS community and being a corporate sponsor for .NET. Sometimes we don’t get it right. When we don’t, the best we can do is learn from our mistakes and be better moving forward.”
That said, this was the culmination of several weeks of drama around Microsoft’s involvement in the .NET Foundation and its questionable influence on its inner workings. One resigning board member raised the question of whether Microsoft is able to resist the temptation to enforce its will on .NET open source and whether or not it can “help foster and promote a healthy community.” The same questions led to the resignation of .NET Foundation executive director Claire Novotny and sent Microsoft scrambling to repair its relationships with the .NET community.