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
....but I didn't know I live in hell. No flying pigs or raining frogs though, so maybe we're good.
Live today, because you never know what tomorrow brings
So, I will be able to run pure .NET applications on Linux desktop? Interesting
Religion: The greatest weapon of mass destruction of all time
And on a more serious note, what is the actual license the code is released under?
I apologize for the lack of a signature.
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.
Really? You couldn't just look? https://github.com/dotnet/coreclr/blob/master/LICENSE.TXT
MIT License
A good summary would save the need to look. It's obviously going to be the first question that the majority of people on this site have.
... 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 :-)
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.
They'll make a patent pledge to never go after FOSS software and offer a program wherein anyone who uses .NET for commercial purposes can sign a mutual non-litigation agreement over patents pertaining to the use of .NET and the patents covered by the software implemented in .NET.
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.
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"
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.
The only cross-platform AppStore? 20% profit per app at no cost. Imagine that... developers put apps into one store, app is available for android, ios, linux, windows, macOS, wp8? Seems great business plan to me.
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.
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.
Seriously, that guy has been shouting at the pigeons for years. And I speak as an open source user and advocate.
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.
I think it was brought up in the Google v Oracle case where they had their little legal tantrum over Java copyright.
Not anymore. Unix-haters now have this systemd operating system designed for them.
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.
> cannot be forked and is patent encumbered
It is under a MIT license and have an additional patent promise. So fork away. And please RTFA before posting FUD.
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!
Finally! strI wWas rReally uMissing szSome Hungarian pNotation!
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.
Maybe they can start by unblocking chrome linux in OWA, "we love linux" my ass.
Yes. Its a tool to be used, nothing else.
Nope, followed that very closely, developer poisoning was not part of that case.
Too bad "entire toolchain" doesn't include nice things like their C/C++ compiler and runtimes :(
sounds like there's a good joke in there somewhere, but I'm missing it.
can anyone set it up properly?
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.
Funny how all the Microsoft boosters are too afraid to post with their actual account names attached.
Probably afraid that their posting histories would reveal them to be the paid shills they really are. "Billly Gates" and "phantomfive" for example.
Or maybe they are afraid that by just talking about Microsoft products in a positive manner, they would automatically be tagged as shills by shitheads like you.
Like they did back in November, you mean?
http://www.visualstudio.com/en-us/news/vs2013-community-vs.aspx
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
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
Despite the anit-MS sentiment, there is a grain of truth to the "ALWAYS a hidden trap" sentiment.
Who here doesn't believe that MS has a huge marketing department that essentially holds sway over almost all major announcements and strategies. The untrue part is that there is some sort of evil at work. There's not. It's not personal at all.
However, to the marketing department, all software outside their control is viewed as a potential competitor. And Linux/GNU more than most.
So we can be reasonably certain that any MS direction is not designed to help Linux be more attractive to users.
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.
Not that different from the Java FOSS cornucopia. And in many ways, it is better than the design-by-committee-slow-as-molasses thing we have with JEE and the JCP.
Then again, it seems like the web business is like that, too.
A lot of it is ego and developers OCD/fixation with trying new technical things (as opposed to solving business problems with economical, yet maintainable solutions.)
OTH, a lot of the churn is due to external pressures of competition. You put something on the web, someone is already competing with you.
Then you have catch up at worst, or out-innovate them at best, which leads to technical changes and challenges that inevitable lead to revisiting and reinventing (sometimes brilliantly, many times horrendously) the plumbing, the scaffolding and struts that puts all of it together, where it gets deployed, etc.
Damn. Doesn't anyone write non-disposable code any more?
Non-disposable technical software is not a quality you want to seek unless you are developing critical systems.
If your web stuff is not disposable, it means it cannot be replaced when the need arises (which it will.)
Disposable code is trivial if we know what the fuck we are doing. What we do not want are Enterprise-level business logic and dependencies and fundamental architectural decisions that are trivially disposable.
You want those things to be clear and malleable, but not so easily disposable. Because then you have a clear blue print with which to create systems with disposable (ergo, loosely coupled) design/implementation-level artifacts.
Hopefully /not/ ANSI C
Like all pain, suffering is a signal that something isn't right
Orders of magnitude cheaper if you don't count the devs maybe... $0 in tools and software license, vs a few thousand for something fairly large, when your engineers + AWS (or data center, or whatever) cost you tens of millions, makes a minimal difference.
That said, it really isn't surprising. Its just incremental. Their devtool division has been slowing going toward this for years now.
God forbid Microsoft be the one to do something cool.
I am very small, utmostly microscopic.
Satya Nadella comes from the services side of microsoft. Not the side that wants to sell everyone a Windows 8 and Office 2015 license.
Microsoft as a company is getting more hip and I really welcome their approach. They're finally catching up to, and surpassing, Apple in terms of sharing software.
Reminder that Apple gave us CUPS, WebKit and a few other things. Apple could finally catch back up and release Swift under the BSD license. If I'm understanding things, Swift is more than just a vanity language. It's a language that's designed to get the most out of LLVM by being designed with LLVM in mind.
Non impediti ratione cogitationus.
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.
In other news, Oracle has announced that they're working on a new version of Java.
Dubbed vNExT, it's supposed to provide a much faster VM than the classic JVM,
Unfortunately, to take advantage of it, you have to recompile your Java code with the new "Joslyn" compiler, which isn't quite done yet.
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
Okay, it's MIT licensed, and there's a patent promise - which i personally don't trust, but you're welcome to.
I don't understand this fear that people have over this patent promise. Are there that many people out there who intend to write their own version of the .NET core components? The only group that may be affected by Microsoft changing their mind is the Mono project team. It wouldn't affect anyone who just wrote their own applications using the .NET framework.
This is basically like Oracle suing Google because they created their own Java runtime engine for their Android phones, Dalvik. Microsoft has promised to not to be as stupid as Oracle.
Because [the MIT license is] not "Stallman Approved."
The license of X11 is "Stallman approved" in the sense that it's a GPL-compatible free software license. But FSF's favorite non-copyleft license is the Apache license version 2.0, which has stronger patent guarantees in jurisdictions with software patents.
/thread
It really seems that's what's going on.
Socialism: a lie told by totalitarians and believed by fools.
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.
It's the cost of doing business in the US - you have to expect being sued.
I apologize for the lack of a signature.
Does this include ".NET Native", where they compile ahead-of-time using the same backend Visual Studio uses for C++?
So don't go using these sources in anything not a .NET runtime or application running on a .NET runtime. Even if you think it might help Python, Ruby, or some other application in some other language. It's open, but not really.
You could say the same about any GPL code - its open, but not really, because I can't use it in something non-GPL...
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.
I don't know shit about Fortran. I do Android, iOS and (embedded) Linux.
I apologize for the lack of a signature.
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*
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.
Microsoft is a great company. Recent leadership changes are proving very positive. In light of this news it shouldn't be long before we have Java code compiling and running on .NET runtimes.
I object to power without constructive purpose. --Spock
This is the Slashdot that I know and love. Microsoft open-sources (truly, open-sources) a *huge* pile of very useful code, that you can use in *any way you want*. And all you can do is bitch about Microsoft offering services. You know, services that do useful things for people, that you have to pay for. Like that's a fucking crime -- providing a service and wanting money for it!
Isn't this EXACTLY the open-source model that the OSS people push so often? "You can't make money selling software, but you can make money supporting it or running services." So Microsoft is doing EXACTLY what the OSS community has been pushing for years, but you're so blinded by bias that you can't even see that.
Whether looking at a code base would poison you or not, checking a publicly disclosed source code license certainly wouldnt.
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.
That's not lock in. You described a company doing what it takes to extend the market in which they can compete in. That's fantastic. Of course they have a plan to make money out of this move, but that's a perfectly legitimate and ethical way of doing so.
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.
J#.NET ?
There's already a very strong Java killer on the market.
Its name is Oracle.
Spot on. Microsoft really want you to get hooked on their services. That's why they're releasing Office apps for iOS and Android, an Android launcher that obviously uses Bing as the default search engine, why they're increasingly tying Windows to Bing, Cortana and OneDrive amongst others. ...
Also, I'd also like Google to let you pay with money, let you use their services with no ads and no spying in exchange for some dollars
I don't blame they as that's where it looks the money will come from but I don't like it because I like my software to stand alone and not depend on third party components.
That's why I love Windows 7: I paid once for it and it's a piece of software that does what's supposed to, doesn't try to sell you a millon services and gets out of the way. Compare that to Windows 8 or 10 which for starters, makes hard not to login with a Microsoft account from the moment you install it and depends or tries to sell you many Microsoft services: The Windows Store, Bing, Cortana
RMS occupies a point of morality that makes far fewer compromises than most people are willing to do. He has a great deal of moral authority, and he's been pretty oracular in the past. No one else is willing to make the same choices, but it's not necessarily important.
What is important is that he keeps on moralizing. Because it makes positions nearer to that (with acceptable compromises) seem more normal. So far it's working great. The crazier he gets, the more sane the rest of us sound. Well, not that I think he's changed his message much in the last 30 years, but you take my point.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Copylefted would at least allow all the different bespoke language runtimes to remain compatiable with each other
Um, what?
Say I decide to update the CLR to add the ability to define parameters on the new() generic type constraint. That would fundamentally break compatibility of apps that rely on the new functionality.
Nothing about putting that out under MIT vs. GPL would make a difference in such compatibility. What makes a difference is placing a dependency on the change.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
I'll probably be modded down for this, but I hardly consider RMS and morality in the same breath. I saw a video of his posted a few days ago by a /. poster, where he said that if you steal food when you are hungry and don't have money to eat, that's more justified than writing proprietary software. We've discussed this in past RMS related threads - where he endorses breaking the law if one doesn't like it, endorses 'consensual' pedophilia, thinks that necrophilia should be legal, and all the while, believing that proprietary software should be illegal and that software should not have owners
More to the point, if this really is the MIT license then (unlike the previous Microsoft "open source" licences) you can in fact combine it with GPL code. So he should not be complaining because it is just as useful as GPL code.
That was meant for unixisc.
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.
Just because it's a morality that you disagree with does not mean he is amoral. He is an extremist — that's why he's useful. He makes any other Open Source advocate seem like a moderate, when in fact the software industry has changed radically in the last 15-20 years.
RMS may be a crackpot, but he's a very influential crackpot. The largest software vendor in the world just open-sourced their core programming platform. Do you remember how loony Open Source used to be? No one is laughing at the "freetards" any more. RMS may still be risible, but he may yet have the last laugh.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
If it had been GPL i might have cared.
So create a fork and license it as GPL.
It's a reflex - Those of us who live through the 90's haven't quite gotten over how Microsoft screwed over the world and tried to kill the Web in its infancy. Do you like HTML5? Well, we could have had the modern web ~20 years ago if Microsoft hadn't deliberately set out to destroy it by licensing Java and making sure a slightly incompatible, outdated version of it was on every desktop for a decade. They spent a billion dollars to create IE and drive Netscape out of business. During the DOJ lawsuit in 1998 they produced emails with people literally talking about how they had to "pollute Java" in order to ruin cross-platform apps and web browsers that threatened their desktop business model. I don't think most programmers who have grown up with JavaScript have any idea that it was designed as an afterthought - to be a glue language to bind HTML to Java applications and Java based browsers with real application and security models.
I am happy the Microsoft is turning over a new leaf and like C#, but I'm waiting for a big apology...
Too bad "entire toolchain" doesn't include nice things like their C/C++ compiler and runtimes :(
We already have plenty of C++ compilers and runtimes. What is so much better about Microsoft's C/C++ compiler than say gcc or clang+llvm?
In light of this news it shouldn't be long before we have Java code compiling and running on .NET runtimes.
We had that for many years now, in form of IKVM.
But, outside of a few very narrow interop scenarios, why would you want to? Java already has a perfectly good runtime, what's the point of porting it to another which is not significantly (if at all) better?
What you is, in fact, happening, is Microsoft supporting the existing Java stack as is - like this, or this. And it's not just Java, but also Python, and Node.js, and now R - and there will be more of that to come.
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...
Yes it was:
http://arstechnica.com/tech-po...
Pay more attention next time.
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"
If it was GPL you would have to include the source code for your changes
Not entirely. The GPL only requires you to provide the source code to people who use your software. If my software is only used internally within my company, then my company would be the only party who must be able to receive copies of the source code.
if everybody else felt they had to be compatible they could use this to duplicate the changes in their version.
But why would this matter? My application would have its own CLR, separate from anything else in the system. Another app could have its own CLR. There could be 50 apps on the system and they could all use their own custom CLR, if they so chose, and none of them have to be the slightest bit compatible with each other or with any CLR that is installed into Windows.
Even if those 50 custom CLRs are identical, I may want to use my own copy just because I don't want some other app installing an updated CLR that could break my app. And this isn't some theoretical problem either. I use an obfuscator that relies on internal, undocumented behaviors of the CLR to do its dirty work. My application broke on several computers that installed a .NET update because it changed some of this behavior. My app wouldn't have broken if it had its own CLR.
Now if I want to provide my custom CLR's source back to the community, I am completely free to do so. It doesn't matter if it's MIT vs. GPL vs. whatever open source license.
This is the basic reason behind the GPL.
No. The reason to use GPL is to allow you to provide your source code to your users, such that their use and/or derivation of that code must be provided to their users, and so on. It has nothing to do with compatibility (although increased compatibility is a side effect of most any open source license).
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
I don't know how to live in a world in which Microsoft isn't code for a network of Bond villains. It just doesn't make sense!
The GPL isn't as free as the MIT. They made it more free.
Why do you have a problem with "more free"?
I'm not using a $ in Microsoft's name. My complaint is that the knee-jerk responders are the ones who look immature. They should be able to ignore it but it apparently it sooo annoys them that they cannot help but make fools of themselves by responding.
Hm. Microsoft has decided that breaking the law and acting in an unethical manner are valid methods of earning more money. Saying Micro$oft may reduce the reputation of the person arguing, but really, emphasizing that they would do anything to get more money through any means by using a simple symbol seems legitimate to me.
And no, nobody is surprised that a company tries to make more money. What is surprising is the lengths that they will go to get it.
"Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
The Wikipedia article about clean room design cites several court cases:
http://en.wikipedia.org/wiki/C...
Microsoft released patented source code for free? I guess Microsoft should be just as worried about being sued. Just because something is GPL'd doesn't mean you have access to the patents. Someone could just slap a GPL sticker on code and you'd be in just as much trouble. All the GPL does is keep people who release the source code from being able to sue the end users later, but not 3rd parties.