首页 -> IT文摘 -> IT技术 -> 正文
微软支持开源运动的幕后故事

导语:《连线》杂志网络版周一刊文称,随着云计算的快速发展,微软开始逐渐支持开源运动,微软的一些程序员甚至直接向开源项目贡献代码。而推动这一改变的包括微软多名高管,以及比尔•盖茨(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并非彻底开源。
  软件行业不是一个非黑即白的二元世界,但并不是所有人都意识到这一点。盖茨看到了这一点,而微软也很符合这样的说法。

文章搜索

覆盖全国各省会城市及海外城市的网速测试
→选择要测试的地区
→选择目标测试点
>> 测试点注册