Hacker News new | ask | show | jobs
by mythz 3979 days ago
It's due to NIH and the "power of defaults" as soon as MS recommends a library, it effectively kills any chance that an alternative OSS will gain enough mind-share/traction to survive on its own, which a lot of the time given the lack of adoption, OSS Authors end up abandoning the project since the effort to further develop, support and maintain them doesn't justify their negligible impact.

You just need to look at the NuGet package statistics to see how pervasive this is in .NET: https://www.nuget.org/stats/packages

Out of the top 50 projects, the only packages I see that aren't prescribed defaults shipped in VS.NET Templates are:

  - NUnit & NUnitTestAdapter
  - Moq
  - AutoMapper
  - log4net
NUnit and log4net were originally ported from Java and defined their respective categories in .NET which MS's NIH alternatives aren't able to match (e.g. they don't run on Mono).

MS doesn't offer anything comparable to Moq or AutoMapper which explains their success.

Reasons why from my 2012 Interview on .NET OSS: http://www.infoq.com/articles/interview-servicestack-2

> The .NET platform is like no other; Microsoft has PR channels, Evangelists, MVP Award programs and control over VS.NET that commands a strong influence over .NET mindshare where they're seen as the authoritative voice for the .NET ecosystem to most developers. Historically they've only used their influence to validate their own libraries and frameworks which has contributed to many .NET companies being reluctant to deviate from Microsoft's prescribed technology stacks and explore alternative solutions.

This also explains why the .NET Ecosystem is slow at adopting popular technologies (prevalent in other platforms) where they don't gain traction until MS PR validates them, inc: MVC, Testing, NoSQL, MQ's, etc.