Live data from Hacker News

The Weakness of the .NET OSS Ecosystem

aaronstannard.com

71–80 of 215 posts

Re: The Weakness of the .NET OSS Ecosystem

#71
post #23

Earlier quoted context omitted.

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

But were those companies ever openly hostile towards open-source? https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish and http://techrights.org/2010/09/17/microsoft-management-mocks-... and many other examples abound. I mean... It's nice that they're trying to "come clean," now, and all. But it's sort of like a criminal who was never punished now claiming to be legit because he's seen the light... and there'…

Companies aren't monolithic entities, MS has tens of thousands of employees. Just because the upper level of the upper level of upper level management (which is a different group of people than engineering) might have been hostile towards it years ago doesn't mean that everyone there agreed with that stance, and it doesn't mean that that management culture has persisted to the present day.

Ultimately the only thing that matters are actions, not the human personality traits that people project onto anthropomorphized corporations. I'm sure there are plenty of people there now that are anti-OSS, and pro-OSS, and everything in between. It doesn't matter. All that matters at the end of the day is what software is released and how that software is licensed.

Re: The Weakness of the .NET OSS Ecosystem

#72

I asked on Twitter long ago for any prominent examples of open source software that originated on Windows and transitioned to other platforms. I think after some discussion we may have come up with an example. Maybe. I certainly can't recall what it was.

I'm a programmer who started with VB6 on Windows 98 and now I don't even own a partition with Windows installed.

When I programmed VB6 I used to go to Planet Source Code (a website) to see what others had done. There was a lot of beginner code samples being posted which helped newbies like me at the time to learn the ropes. Then there were also a few gems from which I learned a lot over a few weeks of studying the same code base.

Despite my going back there to see what the community was doing, I never thought of PSC as a place where I can find functions I'm missing. I always used the MSDN library for that (it was incredibly helpful with nice examples). In other words, my mental model was: there's VB6 which comes with all functions I'll ever need (it could call any Win32 API function) and then there's PSC where I go hang out with other people that also code VB6 who want to show or share or teach something to the community.

Fast-forward to today - the main language I use at work is Ruby, and it is emblematic of the traits shared by all open-source languages: they do not come with "all functions", in fact most core functions (or what I would consider "core") have been delegated to libraries ("gems" as Ruby calls them). The difference is that my mental model of open-source languages is that they come with barebones functionality and expect the community to contribute with core functions, to the point where basic functionality like HTTP requests have several different libraries modeling the same behavior.

Even though I work solely in open-source languages nowadays, I miss the times where as a programmer I could expect my programming language to be self-sufficient in terms of its environment and its functions. A language should bring as many pre-made functions as possible, and guarantee that they work as expected and amongst each other. I should not be expected to rely on unpaid workers for core functionality, documentation, tooling, etc.

It is a spectrum. On one end (let's call this side "left") you have Small Scheme and Forth and other barebones languages; on the other end (the "right" side of the spectrum) you have giants like SAP and TIBCO. I'd say Ruby leans to the left and VB6 leaned to the right. I'd also pay very good money for a modern, individual-programmer oriented TIBCO-like environment.

Re: The Weakness of the .NET OSS Ecosystem

#73

I asked on Twitter long ago for any prominent examples of open source software that originated on Windows and transitioned to other platforms. I think after some discussion we may have come up with an example. Maybe. I certainly can't recall what it was.

Chromium started on windows (it wasn't a .NET project, but you only said windows).

Re: The Weakness of the .NET OSS Ecosystem

#74
post #8

The fact that until recently .Net only run correctly on windows where the licensing is more expansive than linux, and that all the big player use linux to develop their cloud capacities; it means that the ones who seek to develop at scale didn't bother with .net. Now that .net is open source, MS has still at lot of work to fix all the issues on linux, but maybe the ship has sailed and developer won't bother to port o…

There is always new stuff and C# is going to still be much faster than say a python or ruby so just like go replaces a lot of stuff written in those languages it wouldn't be crazy to see C# used as well.

The ship hasn't sailed, but when they get to the ship it better be good enough.

Re: The Weakness of the .NET OSS Ecosystem

#75
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…

I think it's important to note that Microsoft wasn't the platform of choice to act as a server - for most of the projects at least. Also, big corps who developed server-side OSS kept it for themselves.

Re: The Weakness of the .NET OSS Ecosystem

#76
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.

Re: The Weakness of the .NET OSS Ecosystem

#77
To the author: Way to contribute to .NET's image problem with your negative title. If your point is to get more people using .NET then you should have gone with something positive that reflected the last section of your article.

To the mods here: Didn't think to change this one, did you?

Re: The Weakness of the .NET OSS Ecosystem

#78
The issue with this whole argument is you should use the right language for the job instead of trying to recreate the wheel over and over again. Look at Erlang and Elixir if you need highly scalable fault tolerant systems. It doesn't mean you have to re-write everything in it, break up the application into what makes sense. I guess not everyone thinks like I do.

Re: The Weakness of the .NET OSS Ecosystem

#79

Re: the Akka.Net stuff, there is indeed an implementation of an Actor model framework - Orleans. Now it was developed in house at Microsoft and hasn't gotten a lot of attention from developers other than Microsoft employees, but it's there. https://github.com/dotnet/orleans

It hasn't gotten a lot of attention because Orleans forces you down implementing odd boilerplate and static interfaces which feels very un-actor like.
Post reply on HN