微软的开源计划正在逐步升温。微软不仅在内部越来越多地发布开源项目,而且在自己的云计算基础架构中很好地支持开源软件,微软甚至还支持许多外部开源项目。
现在的微软已经严重开源,这里我有如下十点证据:
10.鼓励、支持开源生态系统
Windows和.NET开发社区鼓励并倡导.NET开源项目。这些开源项目包括Ninject、AutoFac、Castle Windsor和StructureMap,以及NoSQL文档存储数据库RavenDB。这只是Windows和.NET平台开源项目的惊鸿一瞥。
9.接纳开源项目,不再另起炉灶
许多对微软的批评,都集中在其重复构建开源世界中已有的软件。现在,ASP.NET MVC 3.0开源,并包含jQuery和Modernizr框架就很说明问题。在ASP.NET 4.0中,微软将进一步接纳开源,包括jQuery的移动项目和JSON.NET。
8.创建NuGet包管理器
微软创建了NuGet,NuGet是一个自由、免费的.NET平台包管理系统,可用于简化.NET应用程序开发过程中与第三方库文件的结合。
7.让Windows成为一个伟大的开放平台
许多开源项目都可以在Windows平台运行,微软对此也大力支持。例如,Cygwin就利用DLL模拟了Linux API的功能。
6.开始维护分支开源项目
作为与开源社区合作步入成熟的标志,微软现在已经开始维护一些开源项目的分支。例如,微软创建了一个基于Windows的开源Redis项目分支。这也成为微软开源团队的第一个项目。
5.支持Apache、PHP和Ruby
自2008年起,微软就开始推动Apache和PHP开源项目在Windows平台的发展,以支持更高效的Visual C++编译器。通过性能优化,Apache服务器和PHP执行引擎的效率更高,占用的内存更少,表现更佳。
4.Windows Azure支持开源平台
微软的Windows Azure云平台不仅支持Linux开源操作系统,而且支持PHP、Java和Ruby等多种编程语言。
3.转向Hadoop
微软与Hortonworks合作,提出基于Hadoop的大数据解决方案,正式加入Hadoop阵营。通过Hadoop,我们可以借助常用的数据分析工具进行大数据分析。
2.Linux内核的卓越贡献者
为了让Hyper-V和Linux更好地协同运行,微软就虚拟存储、网络和视频子系统等方面向Linux内核贡献了卓有成效的源代码。
1.ASP.NET MVC4.0、WebAPI和Razor视图引擎的开源
这是最后一个重要证据,但这也许是微软转向开源极其重要的一步。
我们看到,微软的确做出了表率,在开源领域做出了积极的努力。通过参与开源项目,微软吸取了开源的长处,为自己的产品注入了生机和活力,也为开源社区做出了贡献。