今年早些时候,微软和Canonical公司合作,使得Ubuntu可以在 Windows 10里运行。这样一来,开发人员在Azure云里编写Ubuntu程序要容易一些。要知道,Ubuntu可是Azure用户最喜欢的Linux。
另外,微软收购了多平台移动应用开发计划Xamarin。Xamarin里一直有很多开源代码,但微软又使Xamarin在这个方向更进了一步,微软开源了Xamarin的软件开发工具包(SDK)、运行时程序、程序库和命令行工具。微软那些人这样做的原因是什么呢?如果构建应用程序两次,那么,有一次就是多余的。微软此举使得C#可以与Objective-C、Swift或Java在移动空间里竞争。
以上只是微软最近的动作。微软早在2015年就将。NET核心推至Linux里;在Azure云里支持Debian GNU / Linux;还推出了自己的Linux认证。微软现任CEO萨蒂亚纳德拉已宣布微软热爱Linux。微软甚至有自己的专用Linux发布版:Azure Cloud Switch。
所有这些动作的目的是使微软成为一个开源公司。
微软不仅仅是在成为一个云公司,微软也在开始利用开源获利。来看看微软2016年里收入来自何处。来自服务器产品和云服务的收入占的比例最大,占总收入的20%。正在变成云服务的微软Office居第三位,排在游戏之后。Windows呢?其收入只占10%多一点点。
Now what runs on the cloud? I'll tell you: It's open-source operating systems and server applications. To quote Mark Russinovich, CTO of Microsoft Azure, "It's obvious, if we don't support Linux, we'll be Windows only and that's not practical." He added that one in four virtual machine instances on Azure are Linux and that the number is increasing.
Azure里运行着开源操作系统和服务器应用程序。笔者在这引用一下微软Azure的CTO Mark Russinovich说过的话,“很明显,如果我们不支持Linux,我们就只能局限于Windows,而这是不现实的。”他还表示,Azure上四分之一的虚拟机实例是Linux,而且这个数字还在增加。
开源已经成为主导发展模式。以前人们谈论开源和自由软件时,两个阵营的人用的是宗教或癌症的字眼,开源获胜的真正原因其实是其在财务上硬梆梆的可取之处。
Linux基金会执行董事Jim Zemlin表示,开放源代码“的分享开发可加快开发、提高质量及降低成本。因而导致软件价值链的改变。”微软对此心知肚明。
而且,还不仅仅是软件。硬件和软件之间的障碍也在被消除。正如Zemlin说的:越来越多的硬件功能被抽象成软件。这可以在软件定义网络(SDN)、服务器虚拟化和云计算里看到。硬件厂商们因此有很大的压力。越来越多的专用硬件已经被通用x86盒子里的开源软件所取代。因此,包括微软在内的科技公司几乎都在开发方面朝开源转型。
当然,微软不会开源Windows或Office。这些东西的滞留成本巨大,而且它们仍然有利可图。而将来项目嘛?所有的都会开源。而且,鉴于Windows和Office迁移到云里,假若有一天在微软数据中心里Windows或Office是在Linux或FreeBSD运行的话,笔者也不会觉得有什么值得大惊小怪的。