Biz & IT —

Microsoft open sources a big chunk of .NET

New .NET Foundation will govern a wide range of components.

SAN FRANCISCO—At its Build developer conference today, Microsoft announced that it was open sourcing a wide array of its .NET libraries and related technologies and creating a group, the .NET Foundation, to oversee the development and stewardship of the open source components.

Perhaps the highlight of the announcement today was that the company will be releasing its Roslyn compiler stack as open source under the Apache 2.0 license. Roslyn includes a C# and Visual Basic.NET compiler, offering what Microsoft calls a "compiler as a service."

Many—though not all—compilers operate essentially as black boxes. They slurp in source code at the front, and spew out executable code at the back. With Roslyn, Microsoft is taking a different approach. The Roslyn compiler can be used as a library. When it reads a piece of source code, it produces an internal representation that third-party code can then manipulate and examine.

This enables Roslyn to be used as, for example, an engine to drive the code completion features in an integrated development environment.

The .NET Foundation includes representatives from, among others, Microsoft, GitHub, and Xamarin. Xamarin, which produces tooling to enable developers to create iOS and Android apps using .NET and Visual Studio, has contributed some of its own libraries to the Foundation as part of the on-going collaboration between the two companies.

We talked to Xamarin CTO Miguel de Icaza about working with Microsoft and the decision to make these components open source. For a long time, he said that while the engineers at the two companies had a good relationship, the decisions that Microsoft made—such as not allowing certain pieces of code to be used on non-Windows platforms—made things difficult for Xamarin.

However, that changed late last year, with Microsoft's focus shifting to where, arguably, it always should have been: doing what's best for its customers. Last November, the companies announced that they were partnering to in order to make it easier to use Xamarin's tools to write code that works on both Microsoft and non-Microsoft platforms.

This new Microsoft has not only removed the problematic restrictions on its licenses, but also worked with Xamarin to solicit design feedback, and published documentation under a Creative Commons license so that it can be redistributed. Redmond also gave Xamarin its internal .NET test suite so that Xamarin could validate its code using Microsoft's tests.

The .NET Foundation and open sourcing of software such as Roslyn is the next step in the evolution of this new, more open Microsoft. As Roslyn finalizes and becomes stable, Xamarin will integrate it into its own tools.

Channel Ars Technica