The other day I was thinking there should be a fork of dotnet. The two things that it would do differently would be telemetry being totally removed, and an alternative to nuget.org with the requirement that packages be published with free software licenses. Setting such a thing up could be insurance in case they pull anything in the future, too.

there should be a fork of dotnet.

Dotnet is maintained by the .NET Foundation and is entirely open source. There are thousands of forks and local clones of the repos under that organization. Rather than hoping someone does this, it’d actually be a huge benefit to everyone for you to create a local clone of the repo and update it now and then, assuming you’re worried it might go down anyway.

telemetry being totally removed

DOTNET_CLI_TELEMETRY_OPTOUT=1, though it’s lame that it’s an opt-out and not opt-in. The CLI does give a fat warning on first use at least (which hilariously spams CI output). Opt-in would be so much better though, and opt-out by default is really not great.

an alternative to nuget.org

You can specify other package sources as well, so nothing technically stops someone from making their own alternative. That being said, you’d have to configure it for each project/solution that wants to use that registry.

Setting such a thing up could be insurance in case they pull anything in the future, too.

The main thing I’d be worried about here is nuget.org getting pulled. As far as I can tell, it’s run by MS, not the foundation. That’d be basically the entire ecosystem gone all at once. Fortunately, it’s actually super easy to create private registries that mirror packages on nuget.org, and it’s actually standard practice to do this at many companies. This means that at the very least it would be possible to recover some of the registry if this happened.

For a fork, I would think these would be the main goals I’d look for:

  • Default to opt-in for telemetry, or make it local-only. Telemetry should go to a sink owned by the forking organization if sending telemetry is even possible at all.
  • Default package registry should be one owned and maintained by the forking organization. This would be incredibly expensive though, so they’d need funding for this.
  • Organization should be independent, and not funded at all, by MS. Alternatively, MS can provide funds, but not a majority amount - instead, sponsors are limited so that no single sponsor can fund enough of the fork to have independent control over it. In either case, the goal is that no single company has enough control to shift the direction meaningfully themselves.
.NET Foundation

DotNetFoundation