消息转自InfoQ
作者 Jonathan Allen译者 张龙
以前,只有Visual Studio 2008才能获得.NET运行时的源码。IDE在调试应用时会按需下载源码。如果你是一个Windows用户,现在就可以从微软参考源码中心(Microsoft Reference Source Code Center)下载源码了。除了一个MSI包以外,还有开发者需要仔细阅读的一些协议限制。
在我们进入EULA之前应该快速了解一下其包含什么不包含什么。其中包含了.NET核心及Base Class Library,还包含了WinForms、WPF与WebForms。而大多数非GUI库如System.Data则不在其中,不过不久之后他们也将包含进来。
.NET源码基于微软.NET Framework参考协议。InfoQ无法提供法律意见,然而我们想指出其中一些有趣的章节。
首先是表明微软仍旧以Windows为中心的章节。虽然微软已经放松了一些跨平台的限制,但他们依然不想对任何竞争者让步。这意味着Mono团队成员甚至不应该查看这些代码,而从事Linux开发的人也应该重新考虑一下。
“你”意味着软件的许可人,不应该参与到非Windows操作系统的设计、开发及测试,更不能开发出与该软件相同的特性或功能。
既然这是一个参考使用协议,因此让我们来看看微软是如何定义“参考使用”这个条款的。
“参考使用”表示以参考的方式在你的公司中使用该软件(以只读形式),并且以个人的目的来调试及维护产品以运行在微软的Windows操作系统产品上。为了清楚说明,“参考使用”不包含(a)使用软件来为非Windows操作系统进行设计、开发及测试的权利,更不能开发出与该软件相同的特性或功能;(b)在公司外分发软件的权利。
其动机很明显。源码的发布并不是开放的结果,它仅仅是为从事于Windows开发的开发者提供了一些实际的好处而已。
微软承认源码的发布是不可避免的。Steven Tewils表示,源码实际上已经在私下广为流传了。发布这些源码的真正目的在于发布其注释。