Microsoft, aiming to broaden the appeal of its .Net software development platform, has aggressively committed to delivering a new version of the toolset that is not only language agnostic but also cross-platform and entirely open source.
The software giant announced the move at its Connect(); virtual developer event, which is being streamed live from New York City through Thursday.
Open source licensing isn't entirely new for .Net. Redmond actually kicked off its push to open the platform at this year's Build conference in April, when it released a number of .Net components as open source projects under its newly formed .Net Foundation.
Among the projects being overseen by the .Net Foundation today are ASP.Net, the Entity Framework, the Managed Extensibility Framework, the Microsoft Azure .Net SDK, the Windows Phone Toolkit, and Microsoft's next-generation .Net Compiler Platform (aka "Roslyn"), to name a few.
On Wednesday, however, Redmond announced its intention to take the next step in this process, by releasing the source code to the entire .Net stack – from the next version of ASP.Net all the way down to the Common Language Runtime (CLR) and the .Net Base Class Libraries – as open source projects under the .Net Foundation.
As part of this process, Microsoft says it will make available versions of the .Net platform for Linux and OS X, effectively pitting it against Oracle's Java as a cross-platform software development solution for the first time.
"We think that one is going to be huge," Microsoft executive VP of developer tools S. "Soma" Somasegar told The Register, "both with the world but particularly with the .Net developer community, because it suddenly broadens what is possible for them."
Open source .Net goes from Mono to a duo
Developers have been able to use .Net technologies on non-Windows platforms for some time via the Mono project, an open source implementation of the .Net stack that's currently stewarded by cross-platform mobile development tools vendor Xamarin.
But while Microsoft is a close partner of Xamarin and says it will expand its relationship with the firm in the future, the new, open source versions of .Net for Windows, Linux, and OS X will be Microsoft offerings built from its own code base, rather than being derived from Mono. There's even a new Github repository where developers can start tinkering with the code.
Still, Somasegar told The Reg that Redmond hopes to connect Mono developers with the new community that forms around its open source .Net releases, to avoid any possible schism.
"One of the things we are doing is starting the conversation with the Mono community now," he said. "But our intent is to work very, very closely with the Mono community so that we can bring them together with our sort of open source work, so that there is one, large, vibrant community that is all working with each other, as opposed to otherwise."
Releasing .Net as open source offers more advantages than just community-based development, too. In addition to making it easier for tools such as Xamarin's to enable cross-platform application development, it also opens up new software delivery scenarios that wouldn't have previously been possible. For example, it will allow developers to include .Net platform components in their containerized applications, perhaps for use with Microsoft's forthcoming support for containers in Windows Server.
Microsoft has preferred the Apache 2.0 license for the .Net components it has released as open source so far, which is a permissive license that allows developers to use the code even in proprietary projects.
Naturally, releasing all of the .Net code as open source will take some time – but it may happen sooner than you think. Microsoft released a few new components on Wednesday, and Somasegar said the company expects to release the rest of the .Net Core Runtime and .Net Core Framework "over the next several months."
.Net's future, today
In the meantime, Redmond has offered developers a sneak peek at the next major release of .Net. In a break with tradition, Microsoft is now lumping all of the various next-gen .Net components under a single umbrella, which it's calling .Net 2015.
That includes .Net 4.6, the next update to the desktop .Net framework, which includes a number of tweaks to the Windows Presentation Foundation (WPF) subsystem, among other improvements. Also along for the ride is ASP.Net v5, which Somasegar said has been extensively re-engineered to be more modular for a "cloud first" world. Other components are included with various version numbering, with .Net 2015 as the overarching banner for this set of releases.
One benefit of this new versioning scheme, Somasegar said, is that development of .Net will be able to proceed at a faster pace, particularly as it moves toward its open source future.
"What we are saying is that, in the name of agility, we want the different parts of the .Net framework to be able to rev faster as opposed to everything being bottlenecked behind one thing," Somasegar told El Reg.
Beginning on Wednesday, the .Net 2015 Preview is available as a free download here. ®