.Net 6 Is Coming Soon, and Microsoft is stepping on the open source community that built it
Update (10/23/2021 @ 2PM PST): .NET Hot Reload Support via CLI
.Net Core, the successor to the .Net Framework, came with the promise that it could be developed on and would run on more than just Windows. Opening a new door for C# software developers like myself. Now that door is closing fast.
I have been a software developer using Microsoft tools and frameworks since the days before Visual Studio. I've used nearly every released version of Visual Studio since it began as a product in 1997. The latest version in production use at this time is Visual Studio 2019. It has a very good reputation as being the best IDE to work with, in many respects, when writing software in the C# programming language. It has only been available for use on the Windows operating system.
Since about 2015, a new and less fully featured IDE was released by Microsoft. A cross platform IDE called Visual Studio Code. Which I've also been using since its beginning. Visual Studio Code is useful for writing software on other operating systems like Linux and macOS. I have written entire production quality web applications using mostly Visual Studio Code. My personal web site is architected in such a way using .Net that it can be compiled using Visual Studio Code and the OmniSharp extension while developing with a non-Windows operating system. The compiled code can run on multiple operating systems, given one target configuration setting for builds. Even including small microcontroller computers like the Raspberry Pi. I have been doing this work on the side to keep learning and to grow outside the Windows ecosystem. But I've been writing software with Visual Studio Code also to prove to myself that it could be done and to make sure Microsoft was keeping its promise. That Visual Studio Code and .Net would work across operating systems.
The need for the full featured Visual Studio was and is still there. But as a daily development environment, Visual Studio Code with the .Net SDK is excellent to work in. I've spent hours and years writing code with Visual Studio Code given the promise from Microsoft that it would be open source and at the same time supported by the company.
Now there is news that recent changes in .Net SDK tooling will result in essentially crippleware. That Microsoft has been and is doing this on purpose to make developers want to use Visual Studio 2022 more. This news comes as a disappointing surprise to me. However, given all I've seen over the years with how Microsoft can manipulate its best ideas into oblivion for the sake of some product line revenue, it is not a shocker. The straw on the camel's back this time is news that a feature in the .Net SDK tooling, dotnet watch, is having the "hot reload" capability removed. So that it only works when using Visual Studio 2022. And it is being done to working code, right before the .Net 6 launch in only a few days.
The notion that Microsoft has an open source platform is quickly revealing itself as a business experiment. The experiment was to lure in software developers to an ecosystem that was embracing the open source community. Only to close the net (pun intended) and keep developers locked into using their proprietary tools. The line between open source contributions becoming property of Microsoft is blurry at best.
What is sad is that these reports coming out of Microsoft tell the same old story. One department or division has a power struggle over another one that has a great idea. And any time a source of revenue is threatened, the good ideas are strangled. The outcome is a lot of collateral damage with developers who adopt the good ideas and who now need to use them. Visual Studio Code is being strangled. This is like a big stone being thrown into a sea of an open source community that is using Visual Studio Code and who loves it. It will most definitely have ripple effects.
Sources:
Microsoft angers the .NET open source community with a controversial decision
Can we trust Microsoft with Open Source?