Microsoft Open Sources CoreCLR, the .NET Execution Engine
An anonymous reader writes: As part of Microsoft's continuing project to open source the .NET framework, the company has announced that CoreCLR, the execution engine for .NET Core, is now available on GitHub. CoreCLR handles things like garbage collection, compilation to machine code, and IL byte code loading. The .NET team said, "We have released the complete and up-to-date CoreCLR implementation, which includes RyuJIT, the .NET GC, native interop and many other .NET runtime components. ... We will be adding Linux and Mac implementations of platform-specific components over the next few months. We already have some Linux-specific code in .NET Core, but we're really just getting started on our ports. We wanted to open up the code first, so that we could all enjoy the cross-platform journey from the outset."
Because, you know, open sourcing by the devil has to be evil! :-)
In all seriousness though, does this make .NET more open than Java? In other words, RMS-acceptable?
My Stack Overflow user
If they're CLI, yeah, you'll be able to. You could already do that using mono. The problem is GUI applications that use WinForms which is not open-source and probably won't be for a looong time.
MS likes Linux as a server, on Azure.
https://github.com/dotnet/core...
https://github.com/dotnet/core...
If you weren't so hung up on flogging a dead horse for mod points, MS has covered patents and licensing in the codebase itself.
Aren't guys like you tired of bitching about Microsoft... for fucks sake, they are in the process of releasing their entire toolchain (from the bottom up) under the MIT licence.
Promissory Estoppel makes it legally binding, new CEO or not.
Where did this myth that looking at code would expose you to legal issues come from? Has any court case actually gone through which hinged on a developer "poisoning" themselves for all eternity by looking at a competitors code base? I certainly haven't heard of any - even the original Compaq team did clean room implementations of the IBM Bios purely as a legal belt and braces, it wasn't based on any legal rulings in place.
The .Net CoreCLR is a rewrite of the .Net CLR from the ground up to support the specifics of the vNext project, so the Xamarian project isn't a good fit for this either as they would still need to start from scratch. Xamarian will still cover the entire CLR as it currently does (with some exceptions to the base class libraries), while the CoreCLR platform is a hugely stripped down and optimised runtime designed to be deployed with individual apps.
For example, at the moment you deploy a .Net web app to IIS and it uses the .Net runtime installed server wide (in the GAC). With Mono, you deploy it to Apache and tell Apache to use the Mono runtime - but that is still Apache wide, so you can't run a second version of Mono without running a second instance of Apache configured specifically.
In vNext, you deploy your web app and it comes with everything it needs to run - application code, CLR, Katana (or other OWIN implementation) and even a choice of web servers which are not dependent on the target server. This means you can run different versions of .Net for different applications, and can upgrade some without affecting others - because upgrading .Net is now as simple as redeploying the site. It also means no heavy dependency on IIS or Apache.
Thats why its not an adaptation of Xamarian, because the two are quite different - however, at the recent NDC where they announced all this, they did announce much closer ties with Xamarian to work on Mono as the full implementation of .Net cross platform, so Xamarian aren't being left out to dry.
The problem is not WinForms, but WPF. An increasing amount of applications use WPF because WinForms is considered 'deprecated' by Microsoft and people are encouraged to use WPF instead, which is the new 'hot stuff'.
I am not really here right now.
WinForms has worked fine on Linux for a long time. WinForms in Mono. Even better if you declare a folder named "C:" and then declare 5-6 folders named "Program Files", "Program Files (x86)", "Users", "AppData", etc. under that. If you declare the right folder scheme, a large percentage of Windows applications will run perfectly on Mono as is.
Peter predicted that you would "deliberately forget" creation 2000 years ago...
Aren't guys like you tired of bitching about Microsoft... for fucks sake, they are in the process of releasing their entire toolchain (from the bottom up) under the MIT licence.
Parent is actually insightful. Naturally, I didn't RTFA, but the summary should have mentioned the license. I assumed this was yet another MS "open source" release under one of their shitty proprietary licenses (you know, the kind of "open source" that is so restrictive it practically comes with an NDA).
Using a Free license like MIT actually makes this more than an empty gesture. Yes, I actually confirmed the LICENSE.txt on the github project is MIT License.
This is why I don't like developing for Microsoft's stack. They seem to want to throw everything out every few years and start over.
Then again, it seems like the web business is like that, too. Damn. Doesn't anyone write non-disposable code any more?
People are never as simple as their stereotypes. This applies equally to Christians, Muslims, and Emacs-lovers.
Keep in mind that, even with new APIs introduced, the old stacks still continue working just fine. WinForms or WPF apps will still run on Windows desktop machines decades from now, just like native Windows applications are still using Windows API calls written decades ago.
Also, despite rumors to the contrary, WPF is still being actively developed, although it's probably fair to say it's "peaked" as a technology, and is now transitioning into a maintenance mode. I'd have no qualms about creating a new WPF project tomorrow - so long as you know you're only targeting the Windows desktop. There are benefits to using a mature technology, and WPF is pretty mature at this point.
You really only need to use the new stack (WinRT) if you're planning to do cross-platform stuff across the entire Windows ecosystem (Metro/Surface/Mobile).
Irony: Agile development has too much intertia to be abandoned now.