从技术上讲, ASP.NET MVC 一直是开源的。但是和大多数微软的项目一样,它并不是“开放开发”的,所有工作都在内部进行,偶尔会做发布。但现在一切都改变了。据 Scott Guthrie 所说:“社区中的所有人都能够参与进来,对签入的代码、缺陷修正、新特性开发提供反馈,并且可以使用每日构建的最新版本源代码和测试来构建和测试这个产品。”
第一个被ASP.NET MVC 所接受的推入请求来自于Xamarin 的Miguel de Icaza。Miguel 因为他是Mono 项目的创始人而为人所熟知。ASP.NET 并不是第一个转移到开放开发模型的微软项目,第一个应该是 Azure SDKs on GitHub 。
重要的是要注意到,微软并没有把 ASP.NET MVC 的控制权交给社区。 IronRuby 以及 IronPython 现在是由 Miguel de Icaza 和 Jimmy Schementi 管理的,和它们不一样,微软还会指定 ASP.NET MVC、ASP.NET Web API 以及 Razor 项目的技术栈支持以及雇员。
开源的 ASP.NET 类库放在 CodePlex 上,现在需要 Git 绑定就可以获取。尽管在需要中心化管理的时候,TFS 会很有效,但人们广泛认为,对于开源项目来说,Git 的去中心化特性会是更好的选择。眼下,对于 ASP.NET MVC 以及相关项目已经有20 个分支。
ASP.NET 的某些部分,尤其是 Web 表单,此次并不会开源。 Scott Hanselman 解释说:
此次开源的组件都是在核心.NET 框架之外独立发布的,这意味着任何 OS 组件都不会依赖于它们。Web 表单是 System.Web.dll 的组成部分,而 Windows Server 平台的一部分会依赖于它。因为这种依赖关系,当更新.NET 框架或者 OS 发布的时候,这些代码不容易被新版本所替换。
ASP.NET MVC 4、ASP.NET Web API、ASP.NET Web Pages v2(Razor)现在已经基于 Apache 2.0 许可提供。
评论