Back in 2014, .NET was open-sourced. It’s now 2021 and the issue of the .NET debugger being proprietary was opened in 2017. A couple weeks back the .NET programming language (the runtime/SDK) had MIT code ripped out of it by a Corporate Vice President to sell more Visual Studio licenses.
"Product managers don't have the authority to yank something in a release candidate with a go-live license :)" - Phillip Carter
This situation is so disappointing because .NET is yet to complete its transition to an open programming language. The Ballmeresq cold war with tooling vendors only harms the ecosystem. The more people who can use .NET and that are attracted to .NET the more Microsoft can sell Azure because there’s great attach rates and uplift between .NET folks and Azure.
".NET, Visual Studio, and Visual Studio Code are all expensive ad campaigns funded by Azure. .NET and Visual Studio have excellent attach rate to Azure" - msft-throwaway
How can Microsoft expect .NET to compete equally in open source with programming languages where everything is developed in the open and not black boxed or walled off to large demographics of developers? Every marketing activity Microsoft has done with .NET about “we are open-source” is fundamentally lipstick on a pig if there is no unified way to debug programs authored in the language.
What use is an open-source programming language that can only be debugged with proprietary software? This is not a problem for languages that .NET competes against in mindshare (Golang/Rust). Why did dnSpy, MonoDevelop, Linqpad, JetBrains & Samsung have to reinvent the wheel? It's 2021 and the .NET platform is fractured at a foundational level.
Let's be honest here DevDiv...
Visual Studio is constraining the innovation of the .NET platform
The .NET JIT and key foundations that enable innovation could have been lightyears ahead had Microsoft invested in the platform properly for the past 15 years if the focus of DevDiv wasn't prioritised on making features that could sell more Visual Studio licenses: IntelliTrace, CodeLens, Architecture Explorer, Coded UI Tests, Fakes and HotReload.
What would programming languages and a platform that didn’t have the Visual Studio baggage look like?
What would .NET look like if it didn't lose that generation of brains back in 2006?
We all know that having openly developed modern and decent IDE extensibility would provide fertile ground for innovation (build system integration / debuggers / better integration with open-source projects on GitHub ) in the .NET platform. So why hasn't it happened yet?
Send a pull-request to https://github.com/open-dotnet/.github/blob/master/README.md containing a random emoji to receive an invitation to join this GitHub organisation, join the .NET evolution discord community (look for the #opendotnet room) and participate in the discussions.
Follow @opendotnet on Twitter.