Microsoft takes .NET open source and cross-platform
Key Announcements
Today, Microsoft is taking the next big step for the Microsoft developer platform, opening up access to .NET and Visual Studio to an even broader set of developers by beginning the process of open-sourcing the full .NET server core stack and introducing a new free and fully-featured edition of Visual Studio. At the same time, Microsoft is releasing previews of the next generation of Visual Studio, .NET and Visual Studio Online.
From Somasegar’s blog, here is the summary of some of the key news we are announcing today:
- Over the coming months, we will be open sourcing the full server-side .NET Core stack, from ASP.NET 5 down to the Core Runtime and Framework, and the open source .NET will be expanded to run on Linux and Mac OS X in addition to Windows.
- Visual Studio Community 2013 is a new, free and fully featured edition of Visual Studio, available today, with access to the full Visual Studio extensibility ecosystem and support for targeting any platform, from devices and desktop to web and cloud services.
- A preview of the next generation of our tools is available today with Visual Studio 2015 Preview and .NET 2015 Preview. Together, these bring industry-leading cross-platform mobile development tools, deep support for cloud development, and great productivity improvements across the breadth of the developer experience.
- Visual Studio 2013 Update 4 is available now for every Visual Studio 2013 user, including dozens of improvements across the product plus several great new features.
- Visual Studio Online is expanding its DevOps portfolio with the new Visual Studio Online Release Management service and Visual Studio Cloud Deployment Projects.
For in-depth coverage of these announcements and more, tune in to the Connect(); event coverage on Channel 9 either live or on-demand.
Q and A
Some of the Q&A may help you to understand .Net open source and cross-platform.
.NET Core Open Source and Cross-platform
Q: With .NET Core, and the compiler being open sourced, is all of .NET now going open-source?
A: Microsoft announced that it will open source the full server stack for .NET Core, which includes the runtime and class libraries. This complements the existing list of open source components for .NET including the new compiler platform (Roslyn) as well as libraries such as ASP.NET 5 or Entity Framework. All the code will be released under an MIT open source license, with an additional patent covenant that clarifies users’ patent rights.
Q: Are you open sourcing .NET so you don’t need to invest on it anymore?
A: Not at all. With this move we are not decreasing any investment on .NET, just the opposite. We want to evolve .NET with key investments in areas like cross-platform cloud development to make sure it helps existing .NET developers to target new scenarios and to open .NET to any developer.
Q: Will these be hosted on GitHub or Codeplex?
A: As part of making sure every developer can participate and contribute, we will be hosting these projects on GitHub.
Q: Why is Microsoft hosting projects on GitHub? What is the future of CodePlex?
A: Microsoft is meeting the community where they are and hosting the .NET open source projects on GitHub provides our community the ability to make the most impact for that new direction.
Q: Was open-sourcing .NET Satya Nadella’s idea as CEO?
A: Microsoft has embraced the mobile-first, cloud-first world, however, the open-sourcing of our .NET technologies has been done over the years, and several of our top executives including Satya Nadella, played a role in the decision.
Q: What about the rest of .NET including the client libraries such as WPF, WinForms, etc.?
A: In this phase we are focusing on implementing the full .NET Core stack for the server cross-platform and open source. Some of these components, such as the compiler platform (Roslyn) or the class libraries included, also apply to the client side. Other client libraries can be also covered by the extended open source license available for the .NET reference source. However, the cross-platform implementation does not apply to those libraries that are specific to the client such as WPF or Windows Forms.
Q: Why is Microsoft open-sourcing .NET? What will they gain?
A: As part of Microsoft’s vision of embracing the diverse world of mobile-first, cloud-first, developer tools and technologies such as .NET are also evolving to meet that diversity and truly help every developer solve their challenges, no matter the platform they target. Opening .NET will greatly benefit the developer community, by encouraging community participation, increasing the transparency and meeting developers where they are.
Q: What Open Source license are you using for the .NET code being released today?
A: All the code will be released under an MIT open source license that allows for the broadest compatibility with other open source licenses, including GPLv2.
Q. Why didn’t you use Apache 2.0 or another license?
A. We wanted to be as inclusive as possible so other open source projects can build on top of .NET.
Q: The MIT license does not contain an explicit patent grant. How do we know what patent rights we have to use the code?
A: We are offering .NET under the MIT open source license with an additional patent covenant to clarify users’ patent rights.
Q: How much of .NET will be community-driven vs. driven by Microsoft?
A: Teams in Microsoft developing the .NET framework remain unchanged, so we expect a significant contribution coming from these teams. However, we do encourage the Mono community and the broader developer community to participate in the requirements and design process, as well as direct code contributions.
Q: How will versioning be managed considering the fast change pace?
A: Even if the projects are open source, Microsoft will provide a similar cadence of releases as in the past. We have been doing this in the past years with existing .NET projects such as ASP.NET with a big success. Early adopter developers can join the projects to get the latest additions, but majority of developers will use any of the big release waves, provided by Microsoft. These release waves provide a formal statement of technologies and packages that work perfectly integrated. Those umbrella packages will follow a year naming convention starting with .NET 2015, and will be aligned with the same versions in the corresponding Visual Studio release.
Q: What does going open-source mean for the Mono community?
A: This is excellent news for the Mono community, since both projects will collaborate to benefit from each other. Work delivered in the core runtime will be available for implementation in Mono if the community wants so. Also, I the other direction, the .NET open source implementation can also leverage the know-how of the Mono community targeting Linux and Mac operating systems.
Q: What is .NET Native and how does it help developers?
A: “.NET Native” means native code compilation. It is a Native Ahead-of-Time (AOT) runtime & compiler for .NET. It provides a lean & refactored .NET libraries and runtime and a compiler to binary powered by the same optimizing compiler backend as Visual C++
Benefits: It basically provides a comparable performance of C++ binaries with the development productivity of C#.
Q: Is .NET Native released with this release?
A: Yes, .NET Native is part of the .NET 2015 roadmap.
Q. Why do I need to use Windows Server with the new .NET support for Linux?
A: The Microsoft development platform provides an end-to-end solution including platform, development tools and services that brings an out-of-the-box, integrated and optimized solution for creating and managing applications. Windows Server is part of that solution, at the heart of the Microsoft development platform vision. It brings Microsoft’s experience delivering global-scale cloud services into your infrastructure with advanced capabilities in virtualization, management, storage, networking, virtual desktop infrastructure, access and information protection, the web and application platform, and more.