Over the past few months, a great deal of attention has been paid to the following clause used in most of the licenses associated with the NuGet packages that we and other teams at Microsoft ship.
“ a. Distribution Restrictions. You may not
distribute Distributable Code to run on a platform other than the Windows platform;”
In the case of the ASP.NET-related projects, including project Katana, this license (and the associated restriction) does not apply to the source code, but rather to the compiled binaries that are distributed via NuGet (the Katana source code is released under the Apache 2.0 license). This means that even today, it is perfectly reasonable to build the source code yourself and run it on Mono on whatever platform you choose.
But why should you have to jump through those hoops just to satisfy a clause in the license?
As Microsoft teams continue to take more and more components out of the traditional box products and deliver them as NuGet packages, the frustration over this restriction has grown proportionally. And in the particular case of project Katana, where one of the key selling points is portability, and where we want other OSS frameworks to build on top of us, it quickly became clear that the restriction fundamentally did not align with one of the core goals of the project.
So we changed the license.
With the release of Katana 2.0, which will accompany Visual Studio 2013, the Windows-only restriction will be removed from the Katana binary license. It’s important to note here that at this point, the exception applies only to the Katana packages.
While it may appear to be a small step, we’re very excited as we believe it to be a significant one in the right direction!