
Microsoft .NET CoreCLR is now running on FreeBSD 10.1 (amd64) - hestefisk
https://github.com/dotnet/coreclr/issues/793
======
jrdnmadrid
Hey all, MS PR guy here (yes I know, cue* the cabbage throwing). Just wanted
to let you know we made a subreddit, and MS will answer some questions around
Build 2015 announcements next week (.NET, Azure etc). Feel free to post Qs
there if you'd like:
[http://www.reddit.com/r/Microsoft_Build/](http://www.reddit.com/r/Microsoft_Build/)

edit: cue _

~~~
cyphax
Cabbage? How about a lot of praise instead? Because that's what I'd throw at
you guys for doing what you're doing with .NET. I'm a .NET programmer by day,
and Linux-fan (and user) by night, and I honestly can't wait until I can run
an asp.net based mvc website on my Linux-based server (running Apache; I know
it's not impossible now but it's not quite fully there yet, or supported by
MS), and thanks to your efforts, that now feels like something that's maybe
actually going to happen the way I hope it will. So huge thanks from me!

~~~
giancarlostoro
The only thing missing for the non-emacs only users is Visual Studio for
Linux... Even if it's not open source... Cue cabbage from Stallman and GNU-
Onlyists.

------
darklajid
Awesome.

As a Linux guy (and running a couple FreeBSD servers) in a Windows world and
Windows shop, I'm glad to see these ports. I'd love to take our code and port
it to different platforms, alas .. 'WinForms', 'WPF', 'WCF'.

Ignoring the UI part - there are no solutions as far as I'm aware (nope, Gtk#
isn't one either) - what do people use as a WCF replacement? So you're
developing a .Net app and need SOAP for one reason or another: What do you
pick?

~~~
josteink
> So you're developing a .Net app and need SOAP for one reason or another:
> What do you pick?

I haven't used it myself, but I've seen it mentioned several times, so I'll
just throw it out there for visibility:
[https://servicestack.net/](https://servicestack.net/)

~~~
darklajid
Looked into that in the past, but that's a commercial project, right?

While the setting I'm looking at is commercial as well (a corporate product),
the idea is a rogue "let's see if I can port that in my free time, because why
not" project. No budget. No corporate interest.

And frankly, porting WCF services to SS would be a tough sell, if the former
work fine and are 'free'/included, so I guess there's zero chance to upstream
this, unfortunately.

~~~
ghuntley
ServiceStack v4 is commerical and really, really cheap. ServiceStack v3 is
licensed under MIT (or BSD) and extremely mature, the community has taken over
support and it has allowed Dennis to focus implementing features that
$enterprise really care/need that the usual developer does not.

~~~
bad_user
I don't understand what's up with the .NET community and the perpetuation of
proprietary licenses for frameworks. I do not understand how developers can
build on top of proprietary platforms.

~~~
ClashTheBunny
I think you mean restrictive license. There items nothing wrong with corner
case proprietary licences. What is every license before it is stamped 'open
source' or 'free software' but a proprietary license? Many people consider
copy left licenses more restrictive than your average commercial license
anyhow.

~~~
bad_user
No, I really do mean anything that is not _open source_ and I do not agree
with you. For software development at least, everything is wrong with
proprietary licenses that forbid _ANY_ of these freedoms:
[http://opensource.org/osd-annotated](http://opensource.org/osd-annotated)

And any would-be license that isn't already stamped as open-source by OSI or
as free software by the FSF is an instant red flag, simply because there are
plenty of licenses available to pick from.

> _Many people consider copy left licenses more restrictive than your average
> commercial license anyhow._

Even though some people might say that, that's only because they don't know
what they are talking about. A license for proprietary software does not give
you the right to fork. As a recent example for why that is important, ask the
people that have invested in FoundationDB how they feel about that, then read
the story of MariaDB on Wikipedia to understand the difference.

------
huuu
Feels like PG has to rewrite an article.

Microsoft woke from a coma.

[http://www.paulgraham.com/microsoft.html](http://www.paulgraham.com/microsoft.html)

~~~
sudioStudio64
Honestly, that kind of thing gets on my nerves. I guess I don't really care
about computers in PG's view.

The reason that Windows sucks for most people is that IT departments suck.
It's really something that has motivated me to find ways to stop the suck.
There are lots of great innovations on the platform since Vista that just
aren't used...It's like Windows admins are frozen in time somewhere around
2003.

~~~
pjmlp
Quite right, my home computers hardly had any problem, whereas the ones
managed from IT, oh well....

I use Windows since version 3.0 where I configured my AUTOEXEC.BAT to boot
straight into Windows, and after several detours with many UNIX flavours in
the last decades, I have settled back in Windows as my main desktop OS.

------
istvan__
It would be nice to have both JVM and .NET CLR available on major unix like
platforms.

~~~
ghuntley
That is indeed the goal and where the CLR is heading!

This work was done (almost) entirely without any MSFT involvement.
Contributions were done by a bunch of guys affectionally called "the port
team" whom you wouldn't want to meet in a (technical) dark alleyway ;)

@janhenke, @josteink, @ajensenwaud, @xied75, @kangaroo, @ghuntley, @qbit &
@richlander (MSFT)

[https://github.com/dotnet/coreclr/issues/455](https://github.com/dotnet/coreclr/issues/455)

edit: Special shoutout to interoute.com and Paul Kelly whom comped the
infrastructure needed for the team to collaborate on/test with FreeBSD, NetBSD
and OpenBSD.

edit: Extra special shoutout to @kangaroo who was the first successfully
merged pull request after MSFT open-sourced everything. His commits added
support for .NET on OSX. He was awarded a custom, personalized/engraved scotch
glass at the recent .NETFringe open-source .NET conference in portland a
couple weeks ago.

[https://twitter.com/search?q=%23dotnetfringe](https://twitter.com/search?q=%23dotnetfringe)

~~~
runfaster2000
Working with the "FreeBSD Port Team" was great. The team really lived up to
the aspirational name. It would be fair to say that there were people from the
port team on the repo and the gitter room
([https://gitter.im/dotnet/coreclr](https://gitter.im/dotnet/coreclr)) more
hours of the day than not. Nice!

We gave @kangaroo a "port" glass to thank him for his OS X "port" and did it
in Portland at the already mentioned .NET Fringe conference. We also gave him
two bottles of port, one of which was "Washington Port" from Whidbey island
(Whidbey being the codename for .NET 2.0). The engraving was done in the
Microsoft "Garage".

We're looking forward to giving out a nice set of engraved FreeBSD port
glasses once FreeBSD catches up to the OS X and Linux.

~~~
edwinnathaniel
A BIG THANK YOU (MSFT and FreeBSD) to make this happen!

I've been a Java on Ubuntu/Linux for as long as my professional career but
would love to see .NET becomes THE first class OSS enterprise stack on
FreeBSD.

FreeBSD needs more LOVE from MSFT.

Having said that, I would love to see the .NET team produces something like
Gradle/Maven (aside from the hatred toward Maven, NuGET is way behind and
MSBuild reminds me of Ant thus NuGET + MSBuild combo is similar to ANT + Ivy
instead of Maven/Gradle. And if you guys ever decided to adopt a scripting
language for build, please, for the love of technology, do not use F# for the
build scripting language like
[http://fsharp.github.io/FAKE/](http://fsharp.github.io/FAKE/), just... not
readable :)).

I cannot wait for the day when I can write a solid .NET GUI app or tools or
Web-App for FreeBSD that looks nice and be productive with the tooling around
it (unfortunately IntelliJ/Eclipse, Java, Maven, Tomcat/TomEE, Jetty,
PostgreSQL/MySQL stack are still way too far ahead).

------
BringTheTanks
I'm curious, is there a reason to avoid using .NET for web services deployed
on *nix?

I'm interested in using it, I love .NET as a platform, I just have this vague
sense of worry that I can't quite rationalize. Mostly based on Microsoft's
past performance with cross-platform efforts.

Thoughts? Is my gut feeling right or wrong?

~~~
digitalzombie
IIRC, the stack was mostly proprietary commercial software. It was expensive
to get started unless you use the dev edition, even then you need Window.

For me, the web development was too magic, way more so than RoR. I got an
acquaintance that only do .Net. And he harps about how .Net got Razor and data
base represented as object unlike open source. When I pointed out that Razor
was just a template engine and that database thing is just ORM which many
other MVC frameworks have he just didn't get it. He didn't get it's a template
engine nor does he understand that it's an ORM. Magic! I also tried some .Net
dev, and it's very magic in term of abstraction. The VisualStudio IDE is
amazing and C# seems like a much better language than Java. But the ecosystem
isn't as rich, Apache such an awesome organization but Oracle is very pushy.

The downsize for me is big, ecosystem. Most of the open source projects play
very well together, C# is a newbie, I rather wait for it to mature within the
open source space (including books and tutorials).

~~~
robwilliams
I feel like there's this stereotypical .NET dev in everyone's head on HN. Your
friend, for example, didn't even know that Entity Framework was an ORM, and he
likes "magic" and not understanding any lower level implementation.

That's too bad, because there are tons of sharp .NET devs who despise the
concept of "magic" (and no, ORMs are not magic, and Entity Framework is
fantastic) and who understand the abstractions that .NET offers. I would
hesitate to write off all .NET enthusiasts as clueless less-than-hackers.

(disclaimer: Microsoft employee, nothing to do with .NET though)

~~~
mirhagk
One thing I find good about Microsoft's libraries is that for the most part
they do a good job of working as magic and working with someone with
understanding.

XNA is the example I always use. You can use XNA and make games without
understanding anything about the graphics card but you can also dig in and
write your own shaders and basically go however deep you want to/need to.

There are some things in .NET that do seem kinda magic, and razor is one of
them. Not because it's a templating engine but just in how lightweight it is
and how surprisingly decent intellisense can be with it. Most templating
engines feel so verbose and ugly after working with razor.

~~~
tracker1
Agreed on Razor... it's by far the best template engine I've used. It's a
shame it's a bit of a pain to use outside of a web context (email templates,
for example). Though I actually like using component-like systems more now
(React, MercuryJS, RiotJS, Polymer...) with JS client and server.

------
hoodoof
It's an interesting technical achievement and serious question without
trolling - is there demand for running .NET apps on anything except Windows?
If you're in the .NET world why would you want to do anything else?

~~~
EnderMB
I'm going to offer an anecdote that isn't technical.

Like it or not, but there is a definite stigma associated towards working on
Windows. Developers on HN are surprisingly open-minded towards developing on
Windows, but in the real world you'll find a lot of developers that look down
on those that choose Windows as their development platform.

I've met a range of devs, from those working at startups, to people who work
at Google, and many of them have been extremely dismissive of not just .NET,
but those that work on Windows. I've worked at a startup using ASP.NET, but I
reckon many C# devs would probably rate their chances of getting a job at a
big tech company to be slim and none because they favour .NET. I spoke to some
ex-Googlers a while back at an event, and I asked about the Google interview
process. They asked me what language I coded in, and on hearing that my main
language was C# they were less than favourable about my chances. It's a shame
really, because I'd quite like to work somewhere like Google, but I wouldn't
want to have to hide the fact that my strongest language by far is C#.

In my mind, bringing .NET to Mac and Linux will do something that we rarely
see in the development world. The Windows world will be bringing something
valuable to the Linux world. The best part about this for me isn't being able
to use .NET on an OS that I'd love to learn more about, but not having that
niggling doubt in my head about my choice of language/framework, and I reckon
a lot of .NET developers, especially younger ones will feel exactly the same.

~~~
stuaxo
There are basic some things that make using open tools not work very well...
the following 3 seem to bubble up and stop making lots of unix dev + python
tools not work:

No fork

No ansi in terminal

Seperate Select for files and Sockets on Windows..

Fix those and I bet loads of the open source tools would start working, making
Windows much more attractive to X platform devs.

~~~
EnderMB
In my eyes the problem is no longer technical, but cultural. There are a
million things Microsoft could do to please developers on other platforms, but
I just think that there's no changing some peoples minds. When people think of
.NET developers, they think of a middle-aged man that works for a big company
writing corporate code, and this is not the kind of developer that start-ups
or companies like Google want in their ranks.

The moves that Microsoft are making will help validate those .NET developers
that enjoy working on the framework AND want to feel like a part of the larger
developer community. Technically, things will continue to improve under this
direction, but what I really hope is that the per-conceived notions about .NET
developers are laid to rest.

------
sbose78
Could someone please explain how different this is from using Mono on Linux ?
I mean internally that too would be running CoreCLR on the Unix-based system.
Then what different did these guys accomplish?

~~~
ghuntley
Mono = LGPL and CoreCLR/.NET = MIT

Mono (aka Xamarin) are getting out of the compiler/language reverse
engineering game and focusing 100% on mobile. They no longer need to clean
room the MSFT implementation because the MSR license as a purple-pill. Now
that Microsoft has relicensed under MIT developers are arriving in droves.

Advantages? .NET everywhere, SINGLE reference implementation/specification
means no more bugs.

edit: You can see the transformation of Xamarin -> Mobile and replacing
internal components from CoreCLR over at [https://trello.com/b/vRPTMfdz/net-
framework-integration-into...](https://trello.com/b/vRPTMfdz/net-framework-
integration-into-mono)

~~~
hamiltont
> purple-pill

What does this mean? Googling it led to interpretations that I doubt apply
here... ><

~~~
lstamour
I read it as an auto-corrected typo of "poison pill" :-)

[http://www.neowin.net/news/microsofts-net-poison-
pill](http://www.neowin.net/news/microsofts-net-poison-pill)

This news, however, is a very positive step. Can't wait for Build next week...

~~~
ollyfg
I understood it as a halfway pill between the red pill and the blue pill from
The Matrix, and subsequently got very confused. Looking at it as a typo makes
a lot more sense!

------
jbverschoor
emmmm... I recall running .NET on FrBSD somewhere in 2003. It was thir first
platform.

~~~
andyjohnson0
That was a Microsoft project called "rotor" [1]. It was a shared source .NET
implementation on Free BSD and Mac OS X, but it wasn't licenced for commercial
use.

Today's announcement is the real thing.

[1]
[http://en.wikipedia.org/wiki/Shared_Source_Common_Language_I...](http://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure)

~~~
ghuntley
Correct, rotor was a reference implementation shared by Microsoft when they
released the CLR specification into the community. It was extremely, extremely
basic and the GC was horrible. :-)

~~~
jbverschoor
Weren't all VMs extremely basic back then? :-)

I was already using jails on FreeBSD for a while back then. Sometimes it feels
like there's no progress in tech, except the widespread acceptance of and
interest in technology

------
jebblue
I prefer Linux but this is good news for FreeBSD. Too bad Microsoft didn't get
behind .NET on Linux, FreeBSD, etc back in the early 2000's when a lot of us
wanted to see that happen.

~~~
MichaelGG
They actually did have a build that worked for FreeBSD. But politics made the
license useless and they never "got behind" it.

------
sauere
Are there any micro web frameworks (think: Sinatra, Flask, Bottle...) for the
.NET stack that run on Unix/Linux?

~~~
snuxoll
NancyFX already runs on Mono (officially supported by the project), hopefully
it will run on CoreCLR once more of the API surface area has been covered (I
wouldn't be surprised if it could run right now, as long as you have the
correct dependencies in your project file).

------
revskill
Oh nice. I want to develop Android app on .NET!

------
Omega_
This is great! It isn't really-real(tm) until there's a PPA though.

Until that milestone is reached and it's hosted on a pretty web site,
Microsoft should just focus their efforts on getting there.

~~~
recursive
I've never heard of it, but PPA apparently means a lot of things.
[https://en.wikipedia.org/wiki/PPA](https://en.wikipedia.org/wiki/PPA)

What are you referring to?

~~~
asaddhamani
I'm not sure if this is what was being referred to, but Ubuntu has PPA
repositories
[https://help.launchpad.net/Packaging/PPA](https://help.launchpad.net/Packaging/PPA).

------
anonbanker
Maybe one day, we'll get a "Hey, sorry about that whole Kerberos
Embrace/Extend thing we did", and Microsoft might get an actual bit of
interest from *BSD land. Until then, we haven't forgotten.

~~~
InclinedPlane
You just have to get past it. Business is a rough and tumble arena, it's not a
place where angels last long. What big tech company does not have a dark side
or skeletons in its closet? Oracle? Facebook? Cisco? Google? Certainly none of
them. But companies can atone for their misdeeds, learn from them, and become
better corporate citizens. Focusing on vengeance and spite is not taking the
high road. It's better to reward and encourage good behavior when it happens
than to hold on to past misdeeds forever.

~~~
anonbanker
They embraced/extended Kerberos, breaking compatibility, and _we_ have to get
past it? isn't that victim blaming?

When Microsoft actually atones, we can reward and encourage. until then, BSD
users (and anyone who read a Halloween Document[1]) know Microsoft's gifts
have strings.

1\. [http://www.catb.org/~esr/halloween/](http://www.catb.org/~esr/halloween/)

~~~
philliphaydon
Bridge. Build one. Walk over it. Experience what's on the other side. It's
wonderful.

~~~
anonbanker
the path we're currently walking is lit by the bridge Microsoft already
burned. Atonement for the past should probably be asked for, rather than
volunteered.

