Skip to content
@open-dotnet

Open .NET

What would .NET look like without Visual Studio?

🍴https://open-dot.net🍽

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?

next steps

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.

social media

Follow @opendotnet on Twitter.

Pinned Loading

  1. installer installer Public

    Forked from dotnet/installer

    .NET SDK Installer

    C# 5 1

  2. roslyn roslyn Public

    Forked from dotnet/roslyn

    The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

    C# 3

  3. runtime runtime Public

    Forked from dotnet/runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

    C# 16

  4. fsharp fsharp Public

    Forked from dotnet/fsharp

    The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio

    F# 4

  5. msbuild msbuild Public

    Forked from dotnet/msbuild

    The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.

    C# 1 1

  6. diagnostics diagnostics Public

    Forked from dotnet/diagnostics

    This repository contains the source code for various .NET Core runtime diagnostic tools and documents.

    C++

Repositories

Showing 10 of 13 repositories
  • .github Public
    open-dotnet/.github’s past year of commit activity
    26 34 16 7 Updated Dec 12, 2022
  • cla Public
    open-dotnet/cla’s past year of commit activity
    1 0 0 0 Updated Nov 24, 2021
  • omnisharp-vscode Public Forked from dotnet/vscode-csharp

    Official C# support for Visual Studio Code (powered by OmniSharp)

    open-dotnet/omnisharp-vscode’s past year of commit activity
    TypeScript 0 MIT 755 0 0 Updated Nov 24, 2021
  • source-build Public Forked from dotnet/source-build

    A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components

    open-dotnet/source-build’s past year of commit activity
    PowerShell 0 MIT 143 0 0 Updated Nov 23, 2021
  • arcade Public Forked from dotnet/arcade

    Tools that provide common build infrastructure for multiple .NET Foundation projects.

    open-dotnet/arcade’s past year of commit activity
    C# 1 MIT 379 0 0 Updated Nov 23, 2021
  • diagnostics Public Forked from dotnet/diagnostics

    This repository contains the source code for various .NET Core runtime diagnostic tools and documents.

    open-dotnet/diagnostics’s past year of commit activity
    C++ 0 MIT 361 0 0 Updated Nov 22, 2021
  • roslyn Public Forked from dotnet/roslyn

    The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

    open-dotnet/roslyn’s past year of commit activity
    C# 3 MIT 4,181 0 0 Updated Nov 22, 2021
  • llvm-project Public Forked from llvm/llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.

    open-dotnet/llvm-project’s past year of commit activity
    1 11,908 0 0 Updated Nov 22, 2021
  • docs Public Forked from dotnet/docs

    This repository contains .NET Documentation.

    open-dotnet/docs’s past year of commit activity
    1 CC-BY-4.0 6,018 0 0 Updated Nov 22, 2021
  • runtime Public Forked from dotnet/runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

    open-dotnet/runtime’s past year of commit activity
    C# 16 MIT 4,895 0 0 Updated Nov 22, 2021