微软.NET Framework的开源之路

微软宣布将在微软参考许可协议下发布.NET Framework的源代码,包括核心类库、ADO.NET、ASP.NET等。开发者可通过Visual Studio 2008动态下载源代码进行调试。
来源:InfoQ
  回到2000年,敲门人Eminem发布了一个名为“The Real Slim Shady”的打油歌。在当时,这是为了调侃那些在流行音乐世界普遍存在的工业制造的流行歌曲。具有讽刺意味的是,大多数听众和歌迷忽略了这首歌的真正含义,而欢呼着这种新方式(即写打油歌)的到来。今天,Scott Guthrie宣布在.NET 3.5和Visual Studio 2008发布的同时,微软将在微软参考许可协议(MS-RL,Microsoft Reference License )下发布.NET Framework 的源代码。

  用Scott Guthrie自己的话来说:

  我们将以提供如下组件的源代码(包括注释在内)作为开始:.NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc)、ADO.NET (System.Data)、ASP.NET (System.Web)、Windows Forms (System.Windows.Forms) 和 WPF (System.Windows)。然后,我们将在明年添加更多的组件。

  开发人员将能够下载这些源代码的单独安装包或者在Visual Studio 2008 中根据需要动态地下载。使用动态下载的好处是允许Visual Studio根据开发人员安装在他的机器上的.NET函数库版本,来匹配源代码文件。

  关于这次动作的背景原因,Scott做了详细说明:

  能够访问.NET Framework函数库的源代码并和调试器集成等措施对于.NET开发人员真的很有价值。能够单步调试和查看这些源代码对.NET Framework函数库如何实现有更好的理解,转而帮助开发人员创建更好的应用程序,更好地使用他们。

  在最近的一篇eWeek文章中,Peter Galli 所假定的开源会成为软件工业的巨大“破坏者”已经逐渐显现出来。为了支持他的观点,他从Gartner引用了大量数据。

开源软件抢走了2006年的927亿美元软件市场份额当中的13%。
开源将在2011年预计达到1692亿美元的收入当中占据27%的份额。
这将如何发生?他继续引用Gartner的Laurie Wurster的话:

  开源软件通过提供更低成本或免费的替代品,继续侵蚀着私有软件的销售收入,并通过提供普及型解决方案来满足中小企业的需求进而扩展总体市场潜力,同时为既定的和正在形成的服务提供者创建了一种新的商业模式——为开源解决方案提供选择、自定义和管理服务。

  .NET社区和开源社区将对微软这样的公告做出如何反应?这是一个在软件工业中进化或革命的行动吗? 
源码简介:Microsoft 发布了 sscli 2.0,所谓的 sscli 就是 Shared Source CLI。基本上是 .NET Framework 2.0 的 Microsoft 实现,当然是实际发布的 .NET Framework 2.0 的一个简化版本。 sscli 2.0 中包含很多有趣的东西,包括: 01、vm - 包含了 CLI 核心实现,包括垃圾收集器、类装入器、类型系统、错误报告系统、应用程序域、配件、代理支持、反射、安全性和代码管理器。 02、csharp - 包含了使用 C++ 编写的 C# 编译器(csc.exe)和配件连接器。 03、classlibnative - 包含了公共类型和国际化例程。 04、ipcman - 包含跨进程通讯系统的源代码。 05、managedlibraries - 包含Remoting 和 SoapSerializer 的源代码。 06、utilcode - 包含被运行时、工具和 C# 编译器使用的核心例程,例如路径处理和分析、数组和散列表管理、C 运行库、字符大小写支持、库和配件载入、调试和日志支持、同步机制,还包括字符串格式化、GUID创建、错误处理、注册表以及配置访问等。 07、md - 包含元数据的读取器和编写器。 08、fjit - 包含 sscli JIT 编译器和验证器。 09、fusion - 包含配件绑定、策略检查和全局配件缓存的实现代码。 10、bcl - 包含 ECMA 基础类库的 C# 代码,包括大部分 System 名字空间下的代码。 11、debug - 包含运行时调试器的源代码。 12、ilasm - 包含 CIL 汇编器的源代码。 13、ildasm - 包含 CIL 反汇编器的源代码。 14、tools - 包含 PEVerify、clix.exe、metainfo.exe、托管调试器符号的读写器以及其它工具的源代码。 15、toolbox - 包含 caspol、strike 等其它工具的源代码。 16、dlls - 包含在构建过程中所需要的本机共享库。 17、xmlparser - 包含 XML 分析器的源代码。 18、fx - 包含主要名字空间中类的实现,包括正则表达式、XML和网络等。 19、jscript - 包含了使用 C# 编写的 JScript 编译器。 20、pal - 包含了平台适配层(PAL)的实现,包括 unix 和 win32 两个平台。 21、palrt - 包含 PAL 运行时的实现。 22、samples - 示例。 23、tests - 大量的测试用例和套件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值