技术开发 频道

"闭源"微软为何选择拥抱开源:连线盖茨

  英文原文Meet Bill Gates, the Man Who Changed Open Source Software

  导语:《连线》杂志网络版周一刊文称,随着云计算的快速发展,微软开始逐渐支持开源运动,微软的一些程序员甚至直接向开源项目贡献代码。而推动这一改变的包括微软多名高管,以及比尔·盖茨(Bill Gates)本人。

比尔·盖茨

  以下为文章全文:

  盖茨支持

  2008年夏季,在盖茨从微软退休的前一周,微软就开源软件的问题举行了会议。一方面,多年以来开源社区将微软视作头号公敌。另一方面,微软 CEO 史蒂夫·鲍尔默(Steve Ballmer)曾将 Linux 称作“恶性肿瘤”。2007年夏天,微软总法律顾问布拉德·史密斯(Brad Smith)和专利授权主管霍拉西奥·古铁雷兹(Horacio Gutierrez)表示,Linux 侵犯了微软的 235 项专利,并暗示将对任何使用 Linux 的大企业收取专利费。

  然而,微软也逐渐意识到开源运动的力量,并开始探索与开源软件社区交好的方式。在两年的时间中,萨姆·拉姆齐(Sam Ramji)担任了微软开源战略主管。每隔 3 个月,他会与盖茨以及微软其他高管会面,展示由微软工程师团队收集整理的不同开源技术。

  然而 2008 年夏天的这次会议有所不同。在史密斯和古铁雷兹的邀请下,拉姆齐和盖茨、微软总软件架构师雷伊·奥兹(Ray Ozzie),以及其他一些高管坐在一起,讨论微软是否可以开始使用开源软件。拉姆齐和奥兹成为一派,他们坚称微软应当拥抱开源技术,而古铁雷兹也给出了使这一提议成为现实的法律框架。不过微软其他高管对此提出强烈质疑。

  这时,盖茨站了起来。他走到白板处,画下一张系统如何运作的图表,其中包括版权、代码贡献和专利等问题。盖茨斩钉截铁地表示,微软需要支持开源软件。

  拉姆齐已经担任微软的首席开源战略师超过 3 年半时间。对他来说,盖茨站起的那一瞬间就是微软改变对免费软件态度的一瞬间。拉姆齐表示:“开源社区,甚至整个科技行业都不相信盖茨真正理解开源,包括为何开源非常重要,开源如何成为竞争优势,以及为何当竞争对手开始使用开源软件时,你也需要采用同样做法。盖茨实际上了解这些,在那一瞬间,他教给我们所有人。”

  从外部来看,微软似乎确实出现了大转弯。微软近期在 Windows Azure 云计算系统中加入了两款开源平台,并向 3 个开源项目贡献代码。这是一些知名的大项目,包括 Node.js 和 Hadoop。这种情况在以往不可能发生。

  幕后人物

  比尔·希尔夫

  微软的改变是由于一些人,例如拉姆齐,以及聘请他的比尔·希尔夫(Bill Hilf),当然还有盖茨。不过微软这样的转变也反映了科技行业的趋势。随着越来越多的应用从本地数据中心转移至云计算系统,例如亚马逊网络服务和微软 Windows Azure 中,软件经济也在发生变化。以往,企业付费使用微软等公司的软件,并将软件安装在自己的服务器上。现在,企业更多地付费使用在线服务。通过在 Windows Azure 之上提供开源软件,微软很明显也可以赚钱。

  Windows Azure 负责人希尔夫表示:“凭借 Azure,我们通过计算能力、存储空间和网络带宽赚钱。我们希望提供更多类型的应用和系统。我们在 Azure 之上提供 Node.js 并非完全是利他的,这也是推动我们业务发展的一种方式。”

  希尔夫曾是一名 Linux 开发者。本世纪初,他曾是 IBM 的高级架构师,利用 Linux 和其他开源软件搭建过大型的业务基础设施。他还曾负责过 IBM 的开源战略。90年代末,IBM 曾经在 Linux 业务领域投下重注,以对抗微软。2004年,希尔夫接到了来自微软的电话。

  希尔夫回忆称:“微软给我打电话,对我说:‘我们不太了解开源软件,我们需要了解的人。’我就像是这个星球上的第一名宇航员。”

  在最初阶段,希尔夫的主要任务是向微软内部的其他人介绍开源。他表示:“我花费了大量时间指导他人,例如开源过程是怎样的,开源如何运作,互联网上的社区软件如何工作,授权如何进行,人们是否真的在义务工作等。”他同时也帮助建立了微软内部的开源实验室,并与同事一起在运行 Windows 的计算机上搭建 Linux 系统并测试。对于一家长期回避 Samba 项目的公司而言,这是一个显著的改变。Samba 也是一个开源项目,能帮助 Windows 计算机与 Linux 文件服务器通信。

  与此同时,希尔夫的实验室开始探索新项目,推动现有开源工作的发展。最终,希尔夫开始接触到开源社区的一些成员。他表示:“我们希望了解我们与开源社区合作的方式,不仅是了解开源社区如何运作,以及我们是否能实现互操作,还希望了解我们可以推动开源的领域。”

  希尔夫表示,这样的想法推动微软参与了 Node.js 和 Hadoop。去年,微软不仅宣布将把 Node 和 Hadoop 等 Linux 技术移植到 Windows 中,还表示将直接向开源社区提供代码。

  希尔夫表示:“我们有一个专门的团队从事这一工作。我们开展了真正的工程开发工作。我们将取得的成果置于开源协议下,并通过 Github 等组织发布这些成果。这在 6 年前是不可能的。”

  去年秋季,微软甚至还为 Samba 提供代码。Samba 的贡献者克里斯托弗·赫特尔(Christopher Hertel)表示:“几年前,微软程序员提交代码将会令人感觉不可思议。但争端已基本结束,时代也发生了改变。”他指出:“大部分人并未注意到贡献者的来源。但我们中的一些人将这视作里程碑,并希望表达我们对此的赞赏。”

  巨大转变

  微软已经走过了很长的道路。2006年,当希尔夫聘请拉姆齐负责微软的开源项目时,微软与免费软件行业的关系仍然很紧张。一年之后,史密斯和古铁雷兹在接受《财富》杂志采访时公开威胁 Linux。当拉姆齐接受微软的聘请时,他曾对自己将扮演的角色感到怀疑和担忧。

  拉姆齐在工作中遭遇了顺境和逆境,不过他与盖茨的会议意味着巨大的改变即将发生。在这次会议之后不久,微软收购了语义搜索创业企业 Powerset,而该公司是最先在 Hadoop 之上开发网络服务的公司之一。在收购完成后,微软允许 Powerset 的工程师继续向 Hadoop 贡献代码,而该服务也在一段时间内继续基于 Hadoop。不过 Powerset 最终放弃了 Hadoop,转而采用微软的软件。至少一名主要的开源代码贡献者离开了微软。不过 Powerset 至少设定了正确的方向。

  在此后的一年中,拉姆齐和他的团队开发了类似亚马逊的云计算服务原型产品,这完全基于开源软件,例如 Zend、OpenNebula、Eucalyptus、OpenScale 和 Hadoop 等。拉姆齐回忆称:“我们就像测试小分队。我们会说:‘你认为你是领先的?让你看看通过开源、两周的时间,以及天才的 Linux 工程师,我们能做些什么。’”

  拉姆齐表示,这一项目引起了微软顾问团的深深不安。微软当时已开始利用私有技术开发 Windows Azure,代号为 Red Dog。对拉姆齐来说,这种“深深不安”是值得高兴的。他表示:“当微软感到崩溃时,微软将展现出最好的姿态。这就是微软的精神,这是一家以危机为导向的公司。”

  拉姆齐于 2009 年离开微软,加入一家名为 Apigee 的创业企业。Apigee 致力于将全球的网络服务通过 API (应用程序接口)整合起来,拉姆齐认为这一领域的发展与开源运动早期类似。不过,他已经对微软造成了深刻的影响。

  拉姆齐表示:“我认为,我们建立的团队是我工作过的最优秀团队。我们的信念是将公司外部的事物引入公司内部。在当前的世界中,我们无法继续仅仅依靠私有技术。”该团队的成员随后分散至微软内部的其他团队,并带去了这样的思想。

  Windows Azure 仍基于微软私有的软件。不过令许多人感到惊讶的是,该服务向开发者提供了多种开源工具,帮助他们开发自己的应用。这不仅包括 Node 和 Hadoop,也包括 Java 和 PHP 等开源语言。微软甚至表示,将允许开发者在 Windows Azure 之上运行 Linux。

  拉姆齐承认,随着世界的变化,微软在一定程度上也发生了改变。他援引维克多·雨果(Victor Hugo)的名言称:“当一种思想的时代来临时,世界上没有比这更强大的力量。”他同时指出:“对于开源这块巧克力来说,云计算就是花生酱。”

  效仿谷歌

  不过,作为长时间的开源公敌,微软仍然备受质疑,即微软是否真正改变了自己的做法。资深开源用户、2001年微软反垄断案后的监督者罗恩·施奈尔(Ron Schnell)表示:“就我个人而言,我认为微软在开源时代的篇章还未开始。微软还需要向开源运动做更多贡献,才能被视作开源运动的朋友。”

  施奈尔表示,这与经济利益有关。他表示:“开源解决方案对于财务报表没有太大好处。问题在于,在云计算获得成功,导致 Windows 等桌面操作系统不再必要的情况下,微软是否仍能获得以往的高额利润?”这是问题的一方面,但云计算的发展也使得企业通过开源软件盈利更容易,而微软很明显看到了这一点。

  多年以来,外界普遍认为谷歌是开源运动的朋友,而微软则对免费软件不是很友好。不过作为网络服务,谷歌与微软所处的位置有很大不同,后者主要通过销售软件代码才取得了今天的地位。目前,微软也成为一家网络公司,通过多种方式变得更像谷歌。

  微软正在向许多 Android 设备厂商收取专利使用费,而 Android 系统基于 Linux。这表明,微软在软件业的处境仍相对复杂。尽管微软在向网络平台转移,但仍是一家依赖软件业务的公司,并需要采取措施保护自己的业务。不过,微软与 Android 阵营之间的斗争与以往不同。作为谷歌的一个项目,Android 并非彻底开源。

  软件行业不是一个非黑即白的二元世界,但并不是所有人都意识到这一点。盖茨看到了这一点,而微软也很符合这样的说法。

比尔·希尔夫

0
相关文章