Comment by atombender

4 days ago

Do you know about any sizeable open source projects written in C#, other than what Microsoft has produced? I rarely come across anything written in it.

It's a curious thing, the .NET ecosystem. The overwhelming majority of it's ecosystem seems to be dominated by Microsoft first-party libraries and frameworks. 3rd party libraries and frameworks seem to either get swallowed up by Microsoft, killed, or never reach critical-mass.

Often in the .NET ecosystem, it seems there is exactly one library or framework for thing $X or $Y. Whereas in the JVM ecosystem, you have 30+ logging libraries, 87 different MVC frameworks, etc. (yes, I'm being a bit facetious, but you get the point).

I imagine .NET developers often think this is a good thing, in regard to their ecosystem. No guessing what to use, just go with the "blessed" path and don't think about it. And, to that end, there is some obvious merit to this.

However, I feel the .NET ecosystem loses out on cross-pollination of ideas. There's zero possibility Microsoft's employees just happen to make the best frameworks and libraries... there should be many web frameworks - each competing for mindshare and trying to out-innovate each other, each with their own pro's and con's, etc.

So, while .NET might be technically open source, it still feels rather like a closed source ecosystem, controlled by a single corporate entity.

  • That because that's the environment MS nurtured for over a decade. They were openly hostile to things like nuget up until like 2016 or so.

    They purposefully made it painful to venture out of the MS ecosystem.

  • >I imagine .NET developers often think this is a good thing, in regard to their ecosystem. No guessing what to use, just go with the "blessed" path and don't think about it. And, to that end, there is some obvious merit to this.

    Supply chain security is important thing, especially after last years

    You go with Microsoft's libraries and you don't have to care that much about some random developer receiving 50k USD for their GH account

  • There are several logging libraries for .net as well, microsoft even lists them: https://learn.microsoft.com/en-us/dotnet/core/extensions/log...

    Libraries getting swallowed up is not so bad as it sounds. For instance for web frameworks there was a phase of experimentation with projects like Nancy that inspired changes for asp.net core. There is still alternatives like fast endpoints.

    Also you have things happening like integrated system.text.json replacing newtonsoft.json that over time took on some cruft.

  • Why would anyone make a .NET open source library when Microsoft is quick to squash anything that is actually useful with their own open source implementation?

    Microsoft still has some lessons to learn about fostering an active open source ecosystem -- of course, unless they are intentionally suppressing it in .NET.

  • It's weird you using logging as there used to be 3/4 different libraries people used (nlog, log4net, elmah, another one I forget?).

    Then serilog came out and pretty much everyone switched to that in a very short period.

Can't speak for FLOSS, but I've worked on massive projects in various Banking, Govt and eLearning spaces. I've never really hurt for library support via NuGet either. It's honestly not always my first choice, but pays the bills.

I mostly just dislike a lot of the excessive use of "Enterprise Patterns" for projects that don't come close to actually needing them.

Ryujinx, a state-of-the-art Switch 1 emulator, was open source and written in C#

It is a self-fullfilling prophecy: No big open source without motivated contributors, no contributors because of bad rap because of no big open source projects.

It is not technology what holds .NET back. It is also not politics (nearly all languages have evil overlords). It is people who hold up to statements like: "I will not touch .NET with a 10-stick-pole"