Slashdot Mirror


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."

47 of 253 comments (clear)

  1. Let the microsoft bashing begins! by Sklivvz · · Score: 4, Interesting

    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?

    1. Re:Let the microsoft bashing begins! by Goaway · · Score: 2, Insightful

      If it's MIT licensed it's probably a bit too open for him.

    2. Re:Let the microsoft bashing begins! by shutdown+-p+now · · Score: 2

      Since it's MIT licensed, FSF can fork it and place it under GPL (not sure if v3 would work, but v2 should).

  2. Re:.NET applications on Linux? by silviuc · · Score: 4, Informative

    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.

  3. Re:How many... by Richard_at_work · · Score: 5, Informative

    Microsoft Patent Promise for .NET Libraries and Runtime Components

    Microsoft Corporation and its affiliates ("Microsoft") promise not to assert
    any .NET Patents against you for making, using, selling, offering for sale,
    importing, or distributing Covered Code, as part of either a .NET Runtime or
    as part of any application designed to run on a .NET Runtime.

    https://github.com/dotnet/core...

    The MIT License (MIT)

    Copyright (c) Microsoft Corporation

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    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.

  4. I will believe it... by jaims · · Score: 2

    ... when I see a working fork in the wild. Like mysql mariadb. When I see that ppl or companies can do that, I will believe it is open source. Interesting times ahead :-)

  5. Re:Oh look, it's the Java killer... by Anonymous Coward · · Score: 5, Insightful

    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.

  6. Re:How many... by Richard_at_work · · Score: 4, Informative

    Promissory Estoppel makes it legally binding, new CEO or not.

  7. Re:.NET applications on Linux? by kthreadd · · Score: 2

    It looks like Mono has support for WinForms. I've never used it though, and usually used GTK# for GUI development on Linux.

  8. Re:How many... by Richard_at_work · · Score: 4, Informative

    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.

  9. Too Late Really by Virtucon · · Score: 2

    Xamarian Mono or it's predecessor Ximian Mono. This is both a good and bad thing because while they're releasing the code, why aren't they working with Xamarian since they've already got a cross platform .NET environment? Or is this the old Microsoft with the Embrace, Extend, Eradicate mentality we're seeing here?

    I've used Mono for a long time and while it doesn't have all the frameworks, it's great if you want to C# code and go cross platform. It's still .NET 4 compatible and things like WPF aren't in there so YMMV

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
    1. Re:Too Late Really by Richard_at_work · · Score: 4, Informative

      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.

    2. Re:Too Late Really by Richard_at_work · · Score: 2

      The CoreCLR is under the MIT license, is that open enough for you? Mono is a mixture of MIT X11, GPL, LGPL and commercial, so it looks like Xamarian can take from the CoreCLR but CoreCLR can't take from Mono.

    3. Re:Too Late Really by dissy · · Score: 3, Informative

      Xamarian Mono or it's predecessor Ximian Mono. This is both a good and bad thing because while they're releasing the code, why aren't they working with Xamarian since they've already got a cross platform .NET environment?

      An interview with Miguel De Icaza (creator of Mono and co-founder of Xamarin) on that very question:
      Microsoft .NET released from its Windows chains... but what ABOUT MONO?

  10. Re:Now if they're truly evil by Virtucon · · Score: 2, Insightful

    Or they stop trying to license patents they hold on technologies that Linux uses. That would be a great gift for FOSS.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  11. Re:Cool but... by Anonymous Coward · · Score: 3, Funny

    They'd better not give up on Windows. With OSX and Linux both being Unix-like, NT is the only major alternative OS for Unix-haters.

  12. Re:.NET applications on Linux? by HyperQuantum · · Score: 4, Informative

    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.
  13. Re:Oh look, it's the Java killer... by Richard_at_work · · Score: 2

    The GPL would have put a lot of other people off - part of the point of the CoreCLR is so you can push out a custom CLR with your own app.

  14. Re:.NET applications on Linux? by PRMan · · Score: 4, Informative

    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...
  15. mod parent up by stoploss · · Score: 4, Informative

    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.

    1. Re:mod parent up by Anonymous Coward · · Score: 4, Insightful

      Okay, I'll bite: how many entities has MS sued for .net patent violations on the subsequent versions, as you referenced? It's been the better part of a decade now, right? No doubt they have sprung their trap...?

      Also, how many cases have there been where a copyright license like MIT has been retroactively revoked (I mean, that would be the textbook application of promissory estoppel).

    2. Re:mod parent up by sombragris · · Score: 5, Informative

      I will give MS the benefit of the doubt in this one. Good for them, and for the cause of Free Software.

      However, about your rhetorical question:

      Okay, I'll bite: how many entities has MS sued for .net patent violations on the subsequent versions, as you referenced? It's been the better part of a decade now, right? No doubt they have sprung their trap...?

      I'll answer: I don't know, but MS doesn't need to sue when half of all Android devices worldwide paid extortion money to MS to the tune of USD 28 billion in confidential settlements, and it refuses to disclose which exact patents it is using for (extortion) licensing.

      IMHO, the trap has sprung, and has bitten a lot of people. So yes, some distrust in MS is well warranted.

      --
      -- Look to the Rose that blows about us--"Lo, Laughing," she says, "into the World I blow..."
  16. Re:Oh look, it's the Java killer... by gbjbaanb · · Score: 3, Interesting

    Not this time, the new guy has decided that selling Windows is no longer the lock-in platform that makes us all buy Microsoft stuff.

    Now, the Microsoft stuff they want use to all buy is services, and that means they have to supply said services across every platform possible.

    So, open source .NET in the hope that it'll be cheaper to port it (ie you'll do it for them) and then all those lovely .NET apps that use things like Azure and Microsoft Ads will be ported to Linux and Mac and Microsoft can reap the revenue from more people consuming their services.

    Its the same story really, only this time the lock-in has shifted slightly away from Windows.

  17. Re:Cool but... by Anonymous Coward · · Score: 3, Funny

    Not anymore. Unix-haters now have this systemd operating system designed for them.

  18. Just think... by Dan+East · · Score: 2

    Just think if MS would have done this over a decade ago when they released C# / .NET. It could have nearly replaced Java. I could see 3rd party "standards" created for widgets that would be cross-platform (like Swing, etc, for Java), that people could use to create their cross-platform windowed GUI type apps. The formal Windows APIs would be used for people wanting to create full blown Windows-only apps. However all the core functionality (non-gui stuff) would be cross-platform and if written properly could have driven both the "Swing"-ish community created GUI, as well as the official Windows GUI stuff.

    --
    Better known as 318230.
  19. Re:Cool but... by gbjbaanb · · Score: 2

    The new Windows is the cloud, or Azure as they call it. They want you to write your GUI for a mobile/web/whatever device and then have it connect to all-Microsoft stuff on Azure, along with Microsoft adverts and Microsoft appstore etc.

    They've basically stopped believing that Windows is the only platform that gives them lock-in. Now all platforms will be lock-in!

  20. Re:.NET applications on Linux? by fractalus · · Score: 4, Insightful

    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.
  21. Re: .NET is NOT “Open Source” .. by WalrusSlayer · · Score: 2

    Nice ad hominem. Not posting this anonymously, nor am I a Microsoft booster. Now will you go check your facts? It is indeed MIT licensed (as been cited a dozen times above), and does have a patent promise attached. What more do you want? Yes, there could be some clever devilry hidden about somewhere, but on its face it seems pretty legit and straightforward.

  22. Re:.NET applications on Linux? by drinkypoo · · Score: 3, Funny

    If you declare the right folder scheme,

    What does this mean? Create directories? Or is this some strange disease you get along with mono?

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  23. Re:Oh look, it's the Java killer... by Dutch+Gun · · Score: 2

    The .NET runtime and compilers are unique, though, so it makes much more sense to open those up.

    Other platforms have fine C/C++ compilers. The MS compiler is not needed there. All you have to do is write ANSI C/C++ and - yay! - you're portable. In fact, note how Microsoft is actually working to improve other compilers' integration with Visual Studio, so they can more easily target Android and iOS, which is very cool.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  24. Re:.NET applications on Linux? by Dutch+Gun · · Score: 4, Insightful

    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.
  25. Re:Great Start.... by Anonymous Coward · · Score: 2, Insightful

    Now make the whole Visual Studio suite available for free to home users.

    You might want to check out Visual Studio 2013 Community Edition... It's the same thing as VS2013 Professional; it's free until your "hobby" has 5 employees or $1 million in revenue

  26. Re:Oh look, it's the Java killer... by luis_a_espinal · · Score: 3, Insightful

    If it had been GPL i might have cared.

    Because the only "free" license options that matter are the ones you care about. Yes Comrade Commissar, we will comply with your thought police party line or whatever #fileitunderomfgurdumb

  27. Re:Oh look, it's the Java killer... by gatkinso · · Score: 2

    God forbid Microsoft be the one to do something cool.

    --
    I am very small, utmostly microscopic.
  28. Re:.NET applications on Linux? by Anonymous Coward · · Score: 2, Insightful

    WinForms is not "deprecated". They merely introduced what they thought would be its replacement (WPF). The replacement was inadequate because:
    - It was only marginally compatible with existing WinForms code
    - It was radically different and required scaling a very steep learning curve, which is detrimental to development deadlines. This slowed its adoption drastically.
    - It didn't offer anything truly useful that couldn't be done with WinForms and a lot of glue code (developed decades ago, and is now battle-hardened production code)

    Then they backpedaled on the replacement, and introduced the replacement's replacement (HTML5 and JS). The replacement's replacement was inadequate because:
    - When you're used to working with strongly-typed languages, Javascript is a step backwards. This is even more true when you're working on a non-web app.
    - HTML5 is a pain to work with in a non-browser situation. This is likely because HTML5 is purpose built to work within a browser window. Ditto for Javascript, really.
    - There's no way in hell you can interface with years of tried-and-true libraries because they don't publish endpoints that Javascript can use. This is not a viable option for LoB development, which is what most MS-stack programmers are.

    Now they've backpedaled on the replacement's replacement. And they've introduced the replacement's replacement's replacement ("Universal" apps). The jury is out on this one. Unless it allows something similar to WinForms-style event-driven programming techniques, it's likely to fail. That's really the big sticking-point for most MS-stack developers. There's nothing that comes close to being as useful with as easy a learning curve as the hassle-free, automatic callbacks ("events") built in to WinForms.

    To be honest, WinForms works just fine and will continue to do so for a long time. Universal apps will have their niche, and may even be an adequate replacement for WinForms, but that remains to be seen. I'm actually hoping for it at this point. I want some successes and some progress out of Redmond instead of another failure or another not-ready-for-primetime research project.

  29. Re:Great Start.... by qzzpjs · · Score: 2

    Now make the whole Visual Studio suite available for free to home users.

    They did... The 2013 Community Edition was released a couple months ago and includes all the languages and even supports the Visual Studio plugins. It's not Ultimate, but can do pretty much everything a home user would need. The older express versions have been free for years too but didn't support plugins.

  30. Re:Oh look, it's the Java killer... by Quarters · · Score: 2

    Given that you haven't stopped using the tired $ = S replacement in "Microsoft" almost 12 1/2 years after it was summarily called out as being childish and stupid (http://www.penny-arcade.com/comic/2002/07/22/m) I seriously doubt your "5 years after" claim.

  31. The CLR is actually good technology... by frank_adrian314159 · · Score: 2

    It's relatively nice as far as VMs go, better designed than the JVM. This was a piece of good engineering work from Microsoft and I'm glad they're opening it. Welcome to the new world, MS guys. You don't seem to be acting quite so black and white anymore. Good on you.

    And to the naysayers... well, it's a start. Be kind.

    --
    That is all.
  32. Re:How many... by benjymouse · · Score: 2

    Oh, that promise is legally binding? I don't think so. And CEOs change.

    Yes, it is binding. Legal estoppel is the term. It is used when you act in good faith on a promise. It is in fact one of the strongest contract types you can imagine, because it is considered a one-sided contract that you do not even have to accept (like you do with e.g. license terms). If you can show that you acted on the promise, a patent case against you will be dismissed.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  33. Re:How many... by Microlith · · Score: 2

    Except that people are willfully ignoring the massive patent exception to the MIT license. Even you gloss over it. At least the terms of the GPL are clearly spelled out, you don't know what will happen if you intentionally or even accidentally cross Microsoft's very limited patent grant.

  34. Re:Cool but... by AqD · · Score: 2

    It's not they're giving up Windows. The entire PC desktop market is slowly dying and many things it did are now being done on tablets and phones and elsewhere instead.

    PC will become developers' and designers' workstation and nothing else, so Microsoft is probably trying to make its development toolset as popular as possible. It's the only area which won't be affected in foreseeable future.

  35. Re:.NET applications on Linux? by gbjbaanb · · Score: 2

    I do... but then my customers are public sector (police, EMS) who can;t afford to keep replacing their systems every few years.

    This is why I advocate multiple tier applications, like the MVC boys but without their "all-in-one project" mentality. Then you can write your server side stuff in a mature, reliable language and give some kids an API that they can use to build flashy GUIs in flash or javascript or whatever fashionable toy they like this month.

    And, strangely enough, everybody is happy with this approach - the kids who get to play with new toys, the elders who get to keep a solid application running, and the bosses who get reliability and flashy at the same time!

    So throw away your MVC frameworks and templates and embrace the service architecture.

  36. Re:Oh look, it's the Java killer... by Anonymous Coward · · Score: 2, Informative

    There's already a very strong Java killer on the market.

    Its name is Oracle.

  37. Re:Oh look, it's the Java killer... by Ravaldy · · Score: 2

    You nailed it on the head. MS can only benefit by getting developers to push their product. By making it available on all platforms they will maintain and even grow the DEV base they have. I've developed in many platforms and I have found that for businesses MS offers the best set of tools. Migration from one version to another has always been smooth for me especially if I continue to work with the same .NET Framework version. Even migrating from one major .NET version to another is usually smooth.

    The beauty of a library like .NET is that it is feature rich and very secure as long as it's patched when updates are made available. For the MS and Apple it's easy to make sure updates are pushed to clients. As for Linux I'm not sure how that works outside distributions that do not offer automatic updates.

  38. Re:Not your morals != amoral by Tenebrousedge · · Score: 2

    I am aware of the Open Source / Free Software split. I also know that MIT/X11 is not a copyleft license. Let's not confuse this issue with facts. I don't really care what license they're releasing it under. That Microsoft can do this, not to a chorus of enraged howls, but to people pooh-poohing it as "too little too late," means that software freedom has won. I'm just saying though, it's probably a little premature to take RMS behind the shed. Winning is one thing, but there's no kill like overkill. Personally, I wouldn't cry if proprietary software stopped being a thing; I get paid either way.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  39. Re:Oh look, it's the Java killer... by dave420 · · Score: 3, Insightful

    They're just trying to help you. Every time you use $ in Microsoft's name, your argument loses credibility. You look childish, and therefore your argument looks childish, and people will simply ignore you. We know Microsoft has a lot of money, and like nearly every other company on the face of the planet, they are trying to make more. This should not be a surprise to you...

  40. Cancer? by ilsaloving · · Score: 2

    Does this mean Microsoft has developed cancer?

    Seriously, while recent moves in this regard have been good, only a fool would ignore history. Microsoft, for as long as it has existed, has done countless morally dubious things in order to maintain control. The history is all right there for the googling. Just because they do a couple Good(tm) things doesn't magically mean they have suddenly realized the errors of their ways and are doing a 180. You can't erase ~40 years of assholry.

    Based on the moves Microsoft has done lately, I will move my needle from "completely distrust" to "MAYBE it's not a trap" but still nowhere near the realm of "trustworthy"