
Open Source .NET – 2 years later - nreece
http://mattwarren.org/2016/11/23/open-source-net-2-years-later/
======
platz
The community has begun contributing to microsoft-sactioned projects (notice
those projects listed are all ms initiatives). There is still weakness in
community initiaited/run projects, 2 years later
[http://www.aaronstannard.com/the-profound-weakness-of-the-
ne...](http://www.aaronstannard.com/the-profound-weakness-of-the-net-oss-
ecosystem/)

~~~
merb
a lot of this post is around akka. I mean akka is also relativly new... It was
released in 2006 so .NET still is in his early stage for such things. I mean
Java actually only has akka because of scala. NIO in java is still bad and
hard, netty makes that somewhat easier and also the big maintainer of Akka is
not Oracle it's actually Lightbend. For me the post makes no sense since Scala
didn't had much code out there at the beginnings as well, I took some years to
have a various amount of useful projects. (more than two years...)

~~~
bad_user
Not sure what the comment about NIO in Java was for, there are surely rough
parts to it even in NIO2, however compared to the status quo, Java's NIO is
like a breath of fresh air. Simply because it is hard to abstract over poll,
select, epoll, kqueue, AIO, Windows' async sockets, etc and provide consistent
behavior over all those supported platforms. Because of this the async I/O
implementation in Mono has been broken for years ;-)

As for Akka, well Akka is really not about abstracting over I/O or a
replacement for Netty, even though projects like akka-http exist. At this
point Netty is so good, well tested and so widely deployed that nobody sane
would even dream of replacing it, even though there are some people trying.

And on the .NET ecosystem, I really love what Microsoft is doing with it and
how .NET Core is turning out, however open-source is definitely a big weakness
of the ecosystem. In the Java world, Oracle is not driving anything other than
Java the language and the runtime (i.e. the core). Not the IDE, not the
frameworks or the tools being used. Everything else is provided by the
community.

And when I click to view the source of some class or method in my IDE, I have
my IDE automatically download the original source, instead of getting a
decompiled one, because proprietary libraries are almost unheard of.

------
dblooman
The future of .NET is on Linux, not windows. If the community and Microsoft
both do everything they can to make that a reality, it could all pay off. As
long as you see visual studio only tutorials, windows only build scripts and
windows only deployment stories, it won't happen.

~~~
samfisher83
How does Microsoft make money on this? Sun spent all this money supporting
java, but they ultimately couldn't survive.

~~~
brazzledazzle
I think that if Microsoft makes .NET attractive to a large number of
developers regardless of their preferred OS they have a headstart and constant
edge on the competition in terms of services that mesh well with .NET. This
increases the appeal of Azure and its services. It might be a good shortcut
since they're competing with established players who have the early edge.
Stealing away a lot of customers from the competition in the cloud space is
going to take more than competitive pricing since you're fighting
familiarity/experience, first-to-market advantages and a lack of 1:1 features
on some services.

------
embiggen
Has it really been 2 years already? I'm still waiting for a decent build
system for .NET projects for Linux or macOS. Last time I tried (~6 months
ago), it was a tire fire.

~~~
ungzd
It's even more tire fire now: they're announced 'project.json' build system,
but deprecated it[1] in favor of older msbuild. But it's still mentioned on
front page of .NET core[2] and used as the primary build system in latest
version (I don't know if .NET core even has msbuild, tried only mono).

Almost everyone think that you need some specific IDE (either Visual Studio or
Monodevelop/Xamarin Studio/VS for mac (this is the same thing lol)), even in
opensource communities[3].

And MSDN is the slowest and hardest to use web documentation I ever seen.
Everything non-Windows non-VS is still very, very second-class.

[1]
[https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-t...](https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-
to-project-json/)

[2] [https://www.microsoft.com/net/core](https://www.microsoft.com/net/core)

[3] [http://community.monogame.net/t/creating-a-new-monogame-
proy...](http://community.monogame.net/t/creating-a-new-monogame-proyect/8404)

~~~
enricosada
ms is maintaining project.json based sdk too with version preview2, so devs
can continue to work, no need to switch to new msbuild soon (wait until is
done).

ide are good (intellsiense/debugging), especially vscode, but sdk works
already from command line and text editor.

about docs, check the new docs website (oss, accept pr):

\- [https://docs.microsoft.com/en-
us/dotnet/articles/core/](https://docs.microsoft.com/en-
us/dotnet/articles/core/)

\- the getting started doc [https://docs.microsoft.com/en-
us/dotnet/articles/core/gettin...](https://docs.microsoft.com/en-
us/dotnet/articles/core/getting-started) has tutorial for everyone
(cli/vs/vscode/xam), and all os. is not vs centric

------
mmgutz
Is anybody using this new .NET stuff on Linux for production daemons? My
experience in using Mono/XSP for backend services wasn't joyful. Willing to
try .NET Core (?) on small projects if it is approaching JVM stability.

~~~
insulanian
I have a service running in production for more than a year. No significant
issues so far.

------
nikon
My team has been running .NET core for the last few months and it's been
great.

Most of us develop on Windows, however I have chosen to use Project Rider as
my daily IDE because I run macOS. The latest public build is actually pretty
stable compared to the earlier builds.

We're building backend services in ASP.NET Core which is very easy to get
started with and quite well thought out. Autofac works too. You'll find most
(imho) popular libraries are either fully supported or have a beta NuGet that
supports .NET Core now.

Honestly the thread below about Linux being the future is true for server-side
.NET. I'm able to develop on macOS, dockerize my service, build on Jenkins
with Linux agents and then deploy to Linux docker hosts. I'm not sure where
Windows will fit in this space? And why would I need it?

------
oakesm9
I'd be interested to hear from anyone who has experience with both .net and
Swift communities about the differences and similarities in how the projects
are run.

