Live data from Hacker News

The Weakness of the .NET OSS Ecosystem

aaronstannard.com

61–70 of 215 posts

Re: The Weakness of the .NET OSS Ecosystem

#61
Really the simple issue has always been the same with MS-platform based OSS; People look to MS to provide the canonical frameworks, tools, and libraries. MS is far more used in corporate environments as a portion of their market, and are more subject to business decision making; much of that focused on RAD / designer tooling.

There's a different philosophy in the open source world - python, perl, c - none really have 'de facto' answers to persistence, logging, services, etc so There's a plethora of approaches and libraries for any needs. MS provides EF, so you have to defend any alternate solution to business; it's perceived as risky. Even using tools not of MS origin, despite no close surrogate from the 'official' tools (ala Redis, 3rd party libs) is something you have to find approval for. MS tooling is automatically excluded from this. This isn't great for MS either, because they now have to produce these 'ideal' libraries, and the strength of their platform is now judged by library implementations.

I'm really not sure what the solution to this problem is unless they really get to sponsoring projects with effort, money, and tooling. They have programs in place for this, and I can see there's a lot of outreach going on for this reason.

Re: The Weakness of the .NET OSS Ecosystem

#62
post #23

Earlier quoted context omitted.

Tons of open source software is developed by for profit companies???

Not so much where the profit comes from selling software. If Microsoft open sourced Windows and Office they would instantly stop making money, hence they will always have an uncomfortable relationship with open source.

> If Microsoft open sourced Windows and Office they would instantly stop making money

It's funny because I don't actually think this is the case. Not completely, anyway. That's their fear, but I think that the upside in the end would counteract the immediate downside.

It could also be structured interestingly- Basic Windows could be free, but certain diffs/patches/drivers could be for-pay (such as higher-performant stuff, graphics stuff etc.) A mix of free OS and proprietary profitable stuff. They could also employ an army of Windows consultants...

Re: The Weakness of the .NET OSS Ecosystem

#63
post #23

Earlier quoted context omitted.

Tons of open source software is developed by for profit companies???

Not so much where the profit comes from selling software. If Microsoft open sourced Windows and Office they would instantly stop making money, hence they will always have an uncomfortable relationship with open source.

> If Microsoft open sourced Windows and Office they would instantly stop making money

If Microsoft open-sourced Windows and Office and offered enterprise technical support contracts at the same price they offered enterprise licensing contracts for the same level of support that was included in those contracts, they'd probably keep making money, though perhaps somewhat less (they'd probably decrease costs, though, as well, since both the administrative side of license management and building license enforcement mechanisms into all your software has a cost.)

Re: The Weakness of the .NET OSS Ecosystem

#64
post #61

Really the simple issue has always been the same with MS-platform based OSS; People look to MS to provide the canonical frameworks, tools, and libraries. MS is far more used in corporate environments as a portion of their market, and are more subject to business decision making; much of that focused on RAD / designer tooling. There's a different philosophy in the open source world - python, perl, c - none really have…

There is a lot of truth in this.

I think there is a shift happening slowly that simply needs to progress and happen fully. With more developer stuff coming from Microsoft embracing open-source, people just need to realize that Microsoft is a part of a larger .NET ecosystem space. Not the other way round.

Re: The Weakness of the .NET OSS Ecosystem

#65
post #25
post #12

My perception is that F# is attracting the open source folks in the .Net community http://tomasp.net/blog/2015/why-fsharp-in-2015/

Ironically, I love F# but still waiting for F# on JVM before beginning any serious work.

Yet more irony: One of its prime attractions is that it is not tied to JVM. JVM is a pretty well optimized system till you have to touch JNI

Re: The Weakness of the .NET OSS Ecosystem

#66
post #40
post #17

Yes, the author is correct. There is a distinct lack of OSS in .NET. I've been trying to find a project to contribute to among the graveyard on Github. However, I think the author falls flat explaining the why. I have a few thory on this. For so long C# has been a walled garden of closed source software. This closed source software, for the most part, works damn well. Why reinvent a square wheel when there is a shop…

The tools and libraries from Microsoft are so solid that frankly you don't need an entire class of open source projects. I don't need to "contribute" and "socialize" with some Python craziness named after a dolphin (though I did!) because Amazon provides a real .NET SDK for talking to AWS. I don't need to wrestle with three different constantly-patched Ruby image libraries because .NET has been able to load and save…

You're not wrong. People who don't work in "enterprise" or even in small/medium business IT shops will never know it though.

However, I think the downvotes are probably a reaction to the hint of attitude which suggests that you're not overzealous about OSS.

Re: The Weakness of the .NET OSS Ecosystem

#67
post #17

Yes, the author is correct. There is a distinct lack of OSS in .NET. I've been trying to find a project to contribute to among the graveyard on Github. However, I think the author falls flat explaining the why. I have a few thory on this. For so long C# has been a walled garden of closed source software. This closed source software, for the most part, works damn well. Why reinvent a square wheel when there is a shop…

But Java had a lot of open source projects around it before Sun released the source code.

Re: The Weakness of the .NET OSS Ecosystem

#68
post #22

A good chunk of that is the "invented here syndrome". With EF, WPF, ASP MVC, MEF, etc, plus annual MSBuild conferences, .Net has far more internally-developed ecosystem than Java. Which tends to promote the idea that the MS way is the right way, and if I need something else I must be doing something wrong (or I need to wait till next year). Perhaps MS should just kill off all these frameworks and force the community…

That's one of my favorite things about Microsoft. Whenever they release a framework or a product, there's a tendency to just call it whatever the name of the technology is as if they invented the whole thing.

SQL Server - When .NET developers say SQL they mean SQL Server 90% of the time it seems.

MVC - MVC4 is a .NET Rails clone. Named MVC as if Microsoft originated the design pattern that was used to clone another framework.

It cracks me up every time. :-)

Re: The Weakness of the .NET OSS Ecosystem

#69
post #22

A good chunk of that is the "invented here syndrome". With EF, WPF, ASP MVC, MEF, etc, plus annual MSBuild conferences, .Net has far more internally-developed ecosystem than Java. Which tends to promote the idea that the MS way is the right way, and if I need something else I must be doing something wrong (or I need to wait till next year). Perhaps MS should just kill off all these frameworks and force the community…

> Which tends to promote the idea that the MS way is the right way, and if I need something else I must be doing something wrong This is not exactly true. MS recommends other technologies when they fit. Like Redis for caching on azure. https://azure.microsoft.com/en-us/documentation/articles/cac...

That's certainly a new approach for Microsoft. They have a long history of writing things that are clearly inspired by open source projects, but failing to mention the inspiration:

* https://en.wikipedia.org/wiki/AppFabric_Caching vs memcached

* https://msdn.microsoft.com/en-us/library/windows/desktop/aa9... vs https://en.wikipedia.org/wiki/Futex

* https://msdn.microsoft.com/en-us/library/windows/desktop/bb9... vs rsync

Re: The Weakness of the .NET OSS Ecosystem

#70
post #17

Yes, the author is correct. There is a distinct lack of OSS in .NET. I've been trying to find a project to contribute to among the graveyard on Github. However, I think the author falls flat explaining the why. I have a few thory on this. For so long C# has been a walled garden of closed source software. This closed source software, for the most part, works damn well. Why reinvent a square wheel when there is a shop…

But Java had a lot of open source projects around it before Sun released the source code.

Whether/when Sun released the source code isn't as relevant as the fact that JDK and JRE 1.0 in 1995 were free.

Microsoft .NET 1.0 development in 2002 required paid tools and a free version (Visual Studio Express) didn't happen until 2005. VS Express was also crippled in comparison to the paid product (VS Professional).

We can't just look at the technical features and syntax of C# and compare to Java. (E.g. they both have GC, they both have virtual machine intermediate language, etc, etc.) You also have to compare the social factors that built up around each.

MS .NET/C# was a continuation of Visual Basic 6.0, Access db, and FoxPro. Those dev tools were used for line-of-business enterprisey apps. Even Microsoft's initial offerings for web dev was ASP WebForms which tried to continue the VB WinForms desktop paradigm into a HTTP/HTML world. That was the social situation around MS dev tools and NET 1.0 continued that. It continues to this day.

Java had a different set of social dynamics -- and that also continues to this day -- even though a significant chunk of Java dev is also line-of-business CRUD enterprise apps. If anyone was a hacker or student with no money outside the domain of boring corporate CRUD apps, it was much more likely that he/she would scratch an itch with Java instead of C# (if it was down to a choice between those 2).

It is not an accident that new things like Hadoop, Elasticsearch, iText for PDF, etc got written with Java first. Even though there's no technical reason to prevent those projects from getting birthed on C# before Java, the inertia of C#'s community dynamic keeps it from happening. The past matters and it overwhelms any technical equivalence between the platforms.

Post reply on HN