When the DotNetNuke project was started way back in late 2002, the combination of the terms “Open Source” and “Microsoft” were widely regarded as an oxymoron. In those early pioneering years we really had an uphill battle to fight in terms of gaining credibility and convincing people that open source was a viable development model for the Windows platform. In 2005 I wrote a blog titled “No Respect for Windows Open Source” which called out the hypocrisy in the non-Microsoft community when it comes to open source ideals. The blog got Slashdotted and generated more than 500 comments which polarized the extreme opinions on this topic at the time. Later, in 2008, Redmond Developer News ( now Visual Studio Magazine ) ran an article titled “Open Source .NET Projects Getting Cold Shoulder?” in which editor Michael Desmond questioned Microsoft’s lack of support for their own developer ecosystem and suggested that open source projects are treated as second-class citizens.
Well I have to say that the tide has really turned in recent years. The signs are everywhere that Microsoft is now truly embracing open source as a fundamental part of its business strategy. From Codeplex.com for managing open source projects, to the Web App Gallery to help provide a high volume distribution channel, to the Outercurve Foundation to assist with open source governance and IP management, to Microsoft officially shipping and supporting organic third party open source projects such as jQuery, to Microsoft utilizing open development practices with its ASP.NET MVC framework, I think it is very clear that open source is now a first class citizen in the Microsoft ecosystem.
So it should really be no surprise that Microsoft went one step further today by announcing that ASP.NET Web API and ASP.NET Web Pages ( including the Razor parsing engine ) are now available under an open source Apache 2.0 license. And taking a page out of the playbook of the ASP.NET MVC project, Microsoft has spun up a new “ASP.NET Web Stack” project on Codeplex where they plan to increase the development transparency for these projects going forward by enabling a more open development model which encourages community participation.
Personally, I think this is a really smart move for Microsoft. Since they have always made their development frameworks available free of charge and the goal is to achieve the broadest adoption possible, there is really no business reason I can think of to manage this IP in a closed source manner. In fact, there are far more benefits and goodwill that can be gained by embracing an open source model and I expect that we will see many positive effects of this move in the years to come. I have to believe that this decision would not have happened without the determination and perseverance of many folks within the ASP.NET team; some of whom are still actively employed by Microsoft, and some of whom have since moved on to new opportunities. But the most credit needs to go to the guy at the top, the guy who has been the leader and the heart and soul of the ASP.NET team since the very beginning – Scott Guthrie has always understood the value of open source and I greatly admire how he has effectively led a quiet revolution within the Company.
So what does all this mean for DotNetNuke?
Since it is likely that all of these Microsoft open source projects will play a strategic technical role in the future of DotNetNuke, it is good that Microsoft chose a standard permissive Apache 2.0 open source license, as it means that we do not have any license compatibility issues to contend with. The fact that these projects will continue to be fully supported Microsoft products that ship both stand-alone as well as part of Visual Studio is also a huge benefit to us and our users, and in fact helps validate the argument we have been making for years that open source software can be fully supported and trusted. With the announcement that Microsoft intends to manage the new open source projects though Codeplex, it sends a clear signal that Codeplex will continue to be the official source for open source projects based on Microsoft technology. This is good for us, as we have been successfully utilizing Codeplex since 2008 and appreciate the investments that Microsoft continues to make in this service ( ie. the recent Codeplex integration with Git will likely provide value to our community in the future ). We will also closely monitor Microsoft’s progress in terms of working with the ASP.NET developer community to establish an open process for collecting feedback, accepting contributions, etc… It is comforting to know that the open source model which Microsoft plans to employ is the same model which DotNetNuke has already been using successfully for many years :)