13 ms·
Microsoft .NET CoreCLR is now running on FreeBSD 10.1 (amd64)
- istvan__ 12y agoIt would be nice to have both JVM and .NET CLR available on major unix like platforms.
- ghuntley 12y agoThat 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
- justincormack 12y ago"collaborate on/test with FreeBSD, NetBSD and OpenBSD" - so this is a NetBSD and OpenBSD port too?
- ghuntley 12y agoDirect from one of the main contributors (@janhenke) - "To my knowledge NetBSD is not started yet, OpenBSD has some initial commits but is not close to FreeBSD yet" . If BSD on .NET is of interest to you (or anyone else reading) and are willing to help out please introduce yourself in https://gitter.im/dotnet/coreclr https://gitter.im/dotnet/coreclr . Any help is appreciated on all systems, even if it is infrastructure, documentation or general marketing/pr. . Additionally if you want to see .NET on OpenBSD/NetBSD please jump in the channel and let us know how, why and where you will be using it. The team is quite small and wants to make sure efforts are focused correctly.
- josteink 12y agoTo further expand on that, I would say that currently we have ambitions for the work invested in the FreeBSD port not to be FreeBSD-specific, but also let the other BSDs benefit. I still think the main focus of the team is getting it working on FreeBSD, but if OpenBSD and NetBSD can gain from that effort we're more than willing to work together. So far, unfortunately, there has been little commits (or even testing) for the other BSDs. So if you want your BSD represented, it looks like you may have to step up and take some responsibility :)
- justincormack 12y agoWorking on it now...
- ghuntley 12y agoand boom. Basic platform support by @justincormack for NetBSD just got merged - https://github.com/dotnet/coreclr/pull/798/commits https://github.com/dotnet/coreclr/pull/798/commits
- justincormack 12y agoThere is a fair amount to do, mainly around unwind and contexts so far...
- josteink 12y agoGather a team. Take bite-sized portions at a time. Be realistic. I think this github-issue here is full of good advice, so please do check it out: https://github.com/dotnet/coreclr/issues/803 https://github.com/dotnet/coreclr/issues/803
- brc 12y agoWhat is the web server going to be?
- ghuntley 12y agoSelfhosting baby, nodejs+express/ruby+rack/sinatra style. For more details check out http://owin.org/ http://owin.org/ which is the main project that has been working to unshackle .NET from IIS by providing a implementation free interface for building http applications. Other projects of interest are https://github.com/SuaveIO/suave https://github.com/SuaveIO/suave and https://servicestack.net/ https://servicestack.net/ , http://nancyfx.org http://nancyfx.org and https://github.com/Topshelf/Topshelf https://github.com/Topshelf/Topshelf
- brc 12y agoI have been doing some work with Kestrel but I know it's not destined for production usage. I'm wondering what will be the solution. I'm interested in running core clr web apps on cloud based linux vms.
- BenTheElder 12y agoThat is really nice to see. I remember really liking c# but ultimately wanting something with better Unix support. I'd really like to see this succeed.
- runfaster2000 12y agoWorking 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 12y agoA 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).
- jbverschoor 12y agoemmmm... I recall running .NET on FrBSD somewhere in 2003. It was thir first platform.
- andyjohnson0 12y agoThat 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_Infrastructure http://en.wikipedia.org/wiki/Shared_Source_Common_Language_I...
- ghuntley 12y agoCorrect, 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 12y agoWeren'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
- hoodoof 12y agoIt'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?
- voltagex_ 12y agoSure - Linux VMs can be cheaper.
- hoodoof 12y agoWhat's the upside for Microsoft in that?
- nbevans 12y agoThe bigger picture for MS now is building out Azure. They don't care what OS you are running on Azure as long as you aren't using AWS. You know Azure is forecast to exceed the revenues of Windows and Office by 2020, right?
- hoodoof 12y agoTo answer my own question, I guess it injects life into C# and perhaps enables them to sell more Visual Studio and maybe brings developers back into the Windows platform ecosystem. Even so, it does so at the cost of Windows server licences and potentially starts to erode the need to run Windows servers at all. Leads me to think back to when Steve Jobs came back to Apple and one of the first things he did was kill all the Apple-licensed Mac clones.
- hobs 12y agoVisual Studio 2013 Community Edition is a 100% free 100% fully featured VS. They are definitely not trying to sell windows or vs licenses with these types of moves, give away the platform and good tools and they will make it popular and make you a lot of money in other ways.
- sbose78 12y agoCould 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 12y agoMono = 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-mono https://trello.com/b/vRPTMfdz/net-framework-integration-into...
- hamiltont 12y ago> purple-pill What does this mean? Googling it led to interpretations that I doubt apply here... ><
- lstamour 12y agoI 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 12y agoI 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!
- txdv 12y agoThat transition could take a long time.
- BringTheTanks 12y agoI'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?
- noelherrick 12y agoI can't answer with complete certainty, but I'd like to point out that C#/.NET is now more open than Java/JVM. A case like Google vs. Oracle couldn't happen. - C# is standardized (albeit an older version that the current one) - C#/.NET has more permissive licenses (MIT & Apache vs GPL) - C#/.NET is now developed in public, on GitHub - Microsoft has promised not to sue for patent infringement on .NET I'm not a lawyer nor do I play one on TV, but it looks like even if Microsoft changes it's mind, it can't take it back. The worst it could do would be abandon support. That would be a huge hit, but something the community could recover from. Meanwhile, you have Java with Oracle shutting down security fixes for Java 7, unless you get a long-term support contract. Which would you rather deal with?
- carussell 12y ago> it looks like even if Microsoft changes it's mind, it can't take it back I had some correspondence with RMS back in November right after CoreCLR was announced, and he doesn't seem to agree. All he said was that MS's non-standard/custom patent grant isn't sufficient and that http://endsoftpatents.org/2014/11/ms-net/ http://endsoftpatents.org/2014/11/ms-net/ is correct. While I think http://www.fsf.org/news/dont-depend-on-mono http://www.fsf.org/news/dont-depend-on-mono was cogent and made a convincing argument at the time, and there may even be problem with the new patent grant, the endsoftpatents.org analysis just seems like a poor one. I also pointed out that the .NET Micro Framework wasn't under a custom patent promise, but instead has been available under Apache 2.0 for years. It seems that even if let's say the worse case scenario is true, and there is a loophole in the patent promise, and it was put in to facilitate nefarious plans on MS's behalf, then the free software community could render even such deliberate plans as ineffective. The key move would be to continuously and aggressively hedge on alternatives and to make it well known that's what's going on. The community could aim for aggressive portability to other languages/runtimes with the use of a tool to do mechanical translation. If MS (or one of its affiliates) tries anything shifty, the community flips a switch and for compatibility relies on an NETMF-based runtime (still being available under Apache 2.0 and all) and otherwise begins living entirely in Vala land, with MS having proven they don't want to play ball. It's like Mutually Assured Destruction, except for one side's wholesale elimination of their risk of being destroyed.
- jrdnmadrid 12y agoHey 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
- danieldk 12y agoI still remember Rotor for FreeBSD[1]. Thanks for doing things for real this time! I am looking forward to the effect this will have on F# adoption. [1] https://msdn.microsoft.com/en-us/library/cc749640.aspx https://msdn.microsoft.com/en-us/library/cc749640.aspx
- scrollaway 12y agoI just wanted to let you know, I think you guys are absolutely awesome. I used to be a huge MS hater, but you have really stepped up your game lately. Way to go.
- cyphax 12y agoCabbage? 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!
- sarciszewski 12y agoYes, as a GNU/Linux user who dabbled with .NET almost a decade ago, I approve of this change in direction towards open source.
- giancarlostoro 12y agoThe 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.
- anonbanker 12y agoMaybe 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 12y agoYou 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 12y agoThey 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 12y agoBridge. Build one. Walk over it. Experience what's on the other side. It's wonderful.
- anonbanker 12y agothe 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.
- InclinedPlane 12y agoThat's how this shit works. If no wrongs were done, if there was no sound basis for grievances, then forgiveness wouldn't even be necessary, it would be easy. But that's not how the real world works. People fuck up. People do bad things. Companies do too. Even sainted companies like Apple. You have to get over it in order for it not to destroy all the good work that can be done. Look at Israel and Palestine. Neither is blameless. But if they hold onto their grievances forever they'll perpetuate a miserable situation indefinitely.
- darklajid 12y agoAwesome. 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?
- txdv 12y agoWhy is Gtk# not a solution?
- regularfry 12y agoAt a guess, I'd say that would be a rewrite, not a port.
- darklajid 12y agoThere's that, right :) That said, I apologize for the 'no solution' part. It was uncalled for. I personally don't like working with Gtk# (said as someone that still seems to be listed in the Tomboy maintainers file, although I haven't contributed for a long time). It might be a viable solution. I plainly don't like it very much.
- tracker1 12y agoWinforms support in Mono might work, but many 3rd party controls simply don't work right outside windows... but that depends on your original project... WPF is almost a non-starter in mono. I mostly work with services and web based apps, so it's more likely to work in mono. That said, I'm doing most new development in node/iojs these days, and prefer it that way.
- josteink 12y ago> 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/
- huuu 12y agoFeels 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 12y agoHonestly, 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 12y agoQuite 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.
- tracker1 12y agoI think the amount of remote exploits and drive by installers has something to do with it too... too many people have computers with malware on them. I don't entirely lay the blame on MS here as even Chrome, Firefox and various addons like Flash and Java have had remote exploits. Most malware doesn't need elevated privileges to be effective either. A lot of them run as browser extensions now.
- outworlder 12y agoMore like, it died and a twin sibling took its place. Nowadays, Microsoft looks nothing like the old Microsoft.
- Omega_ 12y agoThis 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 12y agoI'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?
- mdaniel 12y agoI believe it is this one: https://help.ubuntu.com/community/PPA https://help.ubuntu.com/community/PPA
- asaddhamani 12y agoI'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.
- jebblue 12y agoI 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 12y agoThey actually did have a build that worked for FreeBSD. But politics made the license useless and they never "got behind" it.
- sauere 12y agoAre there any micro web frameworks (think: Sinatra, Flask, Bottle...) for the .NET stack that run on Unix/Linux?
- ed_blackburn 12y agohttp://nancyfx.org http://nancyfx.org is inspired by Sinatra (Nancy being the daughter of Frank)
- snuxoll 12y agoNancyFX 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 12y agoOh nice. I want to develop Android app on .NET!