|
From my experience thus far the .NET community is not friendly to open-source. Yes, open-source projects do exist, but those are few and far between, being either ports from the Java world, or throwaways that failed as commercial projects. There are also instances of bait and switch, as in projects starting as open-source being closed later (e.g. ServiceStack). Also compare RoboVM.com with Xamarin.com. If you'll dig into the details, you'll see similarities (like comparable pricing), with one important difference ... RoboVM is open-source and you only need a subscription for extra goodies. Same thing with IntelliJ IDEA versus Visual Studio. I find this difference to be the essence of the .NET ecosystem versus the others. You mentioned NuGet, which is like `gem`. Well, the build tools in .NET land suck really badly. You've got MSBuild, which is like Ant or Make and that's what everybody uses, because development in .NET-land is Visual Studio driven. What you don't have for example is something like Maven (or SBT, or Lein). There's been nothing like it in .NET land. The ASP.NET developers have been building an alternative, in the form of dnvm / dnx / dnu, but it's just getting started, being a work in progress and feeling hack-ish and incomplete. Fingers crossed. Anyway, in spite of the fact that there are companies that have built their own build tools because the current status quo sucks so badly (and I know more than one), the .NET community is filled with closed-minded folks that will never admit that their tooling sucks and I'm even including Visual Studio itself in this mix, since an IDE that needs extra investments into ReSharper is not that good in my opinion. And then there's Mono, the current cross-platform implementation and the answer to folks that want to develop and deploy on Linux, OS X, Android or iOS. Except that Mono is and has historically been full of bugs. Like if you want to do server side development and deploy on Mono, just forget about it. And these days Xamarin is focusing only on mobile development and the community is dead. > Would, say, a Ruby or node.js-oriented web developer find the F#/.NET community lacking, incomplete, unfriendly, uncool? Is there even a community to speak of? The answer in my opinion is yes. This may change, given recent efforts by Microsoft, however evolution will be slow because the whole ecosystem has to change, not just Microsoft. |
This is blatantly false. Just on my current project I'm using :
* OpenTK - opensource API around OpenGL
* ReactiveUI - opensource MVVM framework using RX for databinding
* Command Line Parser Library - opensource, does what it says
* NLog - logging library
* sqlite-net - micro ORM for sqlite
I excluded :
* RX - opensource but comes from Microsoft so not a community, but also a nice counterexample of porting from .NET to JVM as RX was innovated on .NET and later ported to other platforms
* system.data.sqlite.org - opensource .NET sqlite implementation, arguably a port from a bigger project
And that's just the references I have in my current project, there are a bunch of open source .NET projects that do cool things, for eg. MonoGame, bunch of MVVM frameworks, etc.