Microsoft To Open Source .NET and Take It Cross-Platform
An anonymous reader writes: Microsoft today announced plans to open source .NET, the company's software framework that primarily runs on Windows, and release it on GitHub. Furthermore, Microsoft also unveiled plans to take .NET cross-platform by targeting both Mac OS X and Linux. In the next release, Microsoft plans to open source the entire .NET server stack, from ASP.NET 5 down to the Common Language Runtime and Base Class Libraries. The company will let developers build .NET cloud applications on multiple platforms; it is promising future support of the .NET Core server runtime and framework for Mac and Linux. Microsoft is also making Visual Studio free for small teams.
This is actually a pretty smart idea, but it sounds like what Sun did with Java and parts of Solaris. .NET was designed to be a Windows-only application platform, requiring Windows clients for fat applications and at least Windows servers for web applications. Now Microsoft is seeing Windows become less relevant, but they do want people to be using their software stack regardless of platform.
Same thing with Visual Studio being made free...kind of like XCode being free for MacOS, and the open source IDEs being free. It's a bold move because now the .NET ecosystem needs to stand on its own, and I guarantee they're going to try to tie this in with Azure somehow (like making you run the free VS in Azure VMs you pay for or something...)
One scary thing from my side of the house (systems engineering/integration) is the number of new security flaws and the sheer volume of patches that are going to be released once .NET gets more scrutiny. A good thing, yes, but patching .NET is already a pain in the butt.
Oh no, two versions of an open source technology. Thank god Linux still only has that one distribution.
Really, though, I can see no downsides to this change.
I really hope systemd is rewritten using .NET!
The MIT license. Are you certain that was your only question?
They're taking it Mono a Mono. With nasty patent clauses, no doubt.
:) Microsoft's patent clauses are spelled out here https://github.com/dotnet/core...
I guess these are the key paragraphs:
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.
If you file, maintain, or voluntarily participate in any claim in a lawsuit alleging direct or contributory patent infringement by any Covered Code, or inducement of patent infringement by any Covered Code, then your rights under this promise will automatically terminate.
Disclaimer: I'm not a lawyer, but I am on Microsoft's VB/C# language team
In concept making the .NET framework open source sounds cool. But, does making it open source mean that I can make a change to the framework, recompile it, distribute the binary framework along with my dependent application, and expect that someone else can just install my version of the framework and be good?
Yes exactly that. Imagine you wanted to change System.Xml.dll. You'd do that, and distribute your modified version of the binary alongside your app. (You won't be installing the binary framework system-wide; you'll only be distributing your updates to it locally).
disclaimer: I'm on the VB/C# language team.
No kidding. An open sourced .NET should get praise rather than grumpy old complaining. Some spend years complaining and then when a company takes a step in the right direction they deride it. Sure it is a decade overdue, but they did it.