来自Scott Guthrie以及Scott Hanselman博客的消息,ASP.NET MVC 4, ASP.NET Web API, ASP.NET Web Pages v2 (Razor)全部开源,并接受来自社区的贡献(contributions)。
源码仍通过CodePlex发布,地址是http://aspnetwebstack.codeplex.com/。CodePlex目前也支持Git了。为什么没有选择流行的GitHub而仍然使用CodePlex,Scott Hanselman博客里也做了解释,似乎是CodePlex也将会有重大的升级,也会变得越来越好。
ASP.NET MVC 发布以来一直就是开源的,但这次开源不仅仅是新增了2个产品而已(web api,web pages)。之前微软对ASP.NET MVC的开源仅仅是公布了源码,社区开发人员并不能实际的直接参与到产品的开发。从这次开始,社区人员可以直接参与这些产品的开发了,贡献代码(code contribution),提交bugfix或单元测试,share idea等。这些产品也会集成越来越多的来自社区的技术或产品,如已经集成的JQuery, JQuery UI, JQuery Mobile, jQuery Validation, Modernizr.js, NuGet, Knockout.js and JSON.NET等。
开源的目的是为了更紧密地增强与社区的联系与互动(tighter feedback loop),但并不意味着以上产品将由社区主导进行发展(微软不是撒手不管了)。这些产品仍然作为微软完全支持的(fully supported)产品,独立或者作为Visual Studio的一部分(就像现在一样)发布,仍然由目前的开发团队进行开发和维护,微软对这一块的投入不会减少(其实一直是在增加)。
为什么ASP.NET Web Forms不开源?
Scott Hanselman在博客中解释说,目前开源的产品都是独立于.Net Framework之外的,也就是说没有与操作系统产生关联。Web Forms作为System.Web.dll的一部分,而后者与Windows Server平台有关联的部分。关联部分的代码不能被轻易的取代,除非更新.Net Framework或者操作系统。