比尔·盖茨:一位改变开源软件的人
扫描二维码
随时随地手机看文章
在比尔·盖茨退休前的一周召开了一场会议,会议的主题是关于开源软件。
那是2008年夏天,多年以来开源社区将微软公司视作头号公敌。七年以前,微软CEO史蒂夫·鲍尔默(Steve Ballmer)曾将Linux称作“恶性肿瘤”。2007年夏天,微软法律顾问布拉德·史密斯(Brad Smith)和授权许可主管霍拉西奥·古铁雷兹(Horacio Gutierrez)告诉《财富》杂志,Linux侵犯了微软的235项专利,并暗示将对任何使用Linux的大型企业收取授权费。
与此同时,微软也逐渐意识到自由软件运动的力量,并开始探索向开发者数量日益增长的开源软件社区示好的方式。在两年的时间中,萨姆·拉姆齐(Sam Ramji)担任了微软开源战略主管。每隔三个月,他会与盖茨以及微软其他高管会面,展示由一组微软小型工程师团队收集的不同开源技术。
然而这天下午的会议与以往不同。在公司首席法律智囊史密斯和古铁雷兹的邀请下,拉姆齐和盖茨、微软首席软件架构师雷伊·奥兹(Ray Ozzie),以及其他一些高管坐在一起,讨论微软是否真的可以开始使用开源软件。拉姆齐和奥兹,站在他们支持微软应当拥抱开源技术的一边,而古铁雷兹也给出了能使这一提议成为现实的法律框架。不过微软其他高管对此提出强烈质疑。
这时,比尔·盖茨站了起来。
他走到白板前,画下一张系统如何运作的框架,其中包括版权、代码贡献和专利。盖茨斩钉截铁地表示,微软必须做出改变。
拉姆齐此时已经担任微软的首席开源战略师超过3年半时间。对他来说,盖茨站起来的那一刻就是微软改变对自由软件的态度。拉姆齐表示:“开源社区,甚至整个科技行业都不相信盖茨真正理解开源,包括开源为何变得非常重要,为何成为了竞争优势,以及为何当竞争对手开始使用开源技术的同时时,微软也必须这么做。盖茨实际已经领悟到,在那一刻,他教会我们所有人。”
从外界来看,似乎微软已经彻底改变了态度。微软近期为Windows Azure中加入了两项开源技术平台,并和其他支持开源企业一样,向开源项目贡献代码。这些都不是小型的开源项目,而是知名的大型开源项目,包括Node.js和Hadoop。这在以前是不可能的。
微软的改变是由于这样一群人,例如萨姆·拉姆齐,以及聘用他的比尔·希尔夫(Bill Hilf),当然还有比尔·盖茨。不过微软这样的转变也反映了科技行业正在发生巨大的变化趋势。随着越来越多的应用从本地数据中心转移至云计算系统,例如亚马逊Amazon Web服务和微软Windows Azure中,软件经济也在发生着变化。以往,企业付费给微软等公司的软件,再将微软的软件安装在自己的服务器上。现在,企业更多地愿意付费使用在线服务。通过在Windows Azure之上提供开源软件,这是微软一条的确可以赚钱的方法。
Windows Azure负责人希尔夫表示:“凭借Azure,我们通过提供计算能力、存储空间和网络带宽赚钱。我们希望我们将能够提供更多类型的应用程序和系统,所以开源技术能够帮助(业务)迅速提升……我们在Azure上提供Node.js并非完全是利他的,这也是推动微软业务发展的一种方式。”
比尔·希尔夫(Bill Hilf),微软开源技术先驱 (照片来自:Microsoft)
希尔夫曾是一名Linux开发者。2000年代初,他曾是IBM的高级架构师,利用Linux与其他开源软件搭建过大型商业业务。他还曾负责过IBM的开源战略。1990年代末,IBM曾经在Linux业务领域投下重注,以对抗微软。这时,在2004年,希尔夫接到了一通来自微软的电话。
希尔夫回忆道:“微软给我打来电话,对我说:‘我们不太了解开源软件,我们需要了解的人。’我就像是成为微软这颗星球上的第一名宇航员。”
希尔夫的主要任务(至少在最初阶段)是教会微软的人了解开源。他表示:“我花费了大量时间指导他人,例如开源过程是怎样的:开源项目如何运作,互联网上的社区软件如何工作,授权如何进行,人们是否真的为此无偿工作等。”他同时也帮助建立了微软内部的开源实验室,并与同事一起在安装Windows软件PC平台上搭建Linux系统进行批量测试。对于一家长期回避像Samba项目的公司,这是一个重要的许诺。Samba也是一个开源项目,能帮助Windows计算机与Linux文件服务器通信。
与此同时,希尔夫的实验室开始探索新项目,推动现有开源工作的发展。在他微软职业生涯结束前,希尔夫开始接触到开源社区的一些成员。他表示:“我们希望了解微软与开源社区合作的方式,不仅是了解开源社区如何运作,以及我们是否能实现互动,更希望寻找我们可以相互推动的领域。”
希尔夫表示,基于这样的想法推动微软参与了Node.js和Hadoop。去年,微软不仅宣布将把Node.js和Hadoop等Linux技术移植到Windows中,还表示将直接向开源社区贡献代码。
希尔夫表示:“我们有一个专门的团队从事这一工作。我们已经进入实际工程开发工作中。我们将取得的成果置于开源协议下,并通过Github等组织发布这些成果。这在六年前是不可想象的。”
去年秋季,微软甚至还为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的初创企业,抓住这一领域的发展机遇与开源运动早期类似:致力于将全球的网络服务集成到应用程序接口或说API。不过,他在雷德蒙德留下自己的烙印。
拉姆齐表示:“我认为,我们建立的团队是我工作过的最优秀团队。着实执行一个信条是将外部的事物引入内部。在这个世界中,我们无法继续仅仅依靠自有技术,那只能将我们变成沙文主义者——摇旗呐喊的狂热微软粉丝。”此后,该团队的成员随后分散至微软内部的其他团队,并传播了这样的思想。
Windows Azure仍基于微软自有技术软件。不过令许多人感到惊讶的是,该服务向开发者提供了多种开源工具,帮助他们开发自己的应用。这不仅包括Node.js和Hadoop,也包括Java和PHP等开源语言。微软甚至表示,将允许开发者在Windows Azure之上运行Linux。
拉姆齐承认,微软在一定程度上也在发生了改变,因为世界已经发生了变化。他援引维克多·雨果(Victor Hugo)的名言:“当一种思想的时代来临时,世界上没有比这更强大的力量。”他更通俗的语言形容到:“对于开源这块巧克力来说,云计算就是花生酱。”
不过,作为长期以来的开源软件的公敌,微软仍然备受质疑,即微软是否真正改变了自己的做法。资深开源用户、2001年微软反垄断案后的监督者罗恩·施奈尔(Ron Schnell)表示:“就我个人而言,我认为微软在开源时代的篇章还未开始书写。微软还需要向开源运动做更多贡献,才能被视作开源运动的朋友。”
在采访尾声时,施奈尔表示,所有归宗于金钱。他表示:“开源解决方案对于财务报表没有太大好处。问题在于,在云计算获得成功导致Windows等桌面操作系统必要性的降低情况下,微软是否仍能获得以往的高额利润?”这是问题的一方面,但云计算的发展也使得企业通过开源软件盈利更容易,显然,微软认识到了这点。
多年以来,人们总是容易认为谷歌是开源运动的朋友,而微软则对自由软件保持着距离。不过作为互联网服务,谷歌与微软所处的位置有很大不同,微软主要通过销售软件授权码才取得了今天的地位。如今,微软也正变成为一家互联网公司,变得更像谷歌——不单是通过一种方式。
是的!微软正在多起案例中向Android手机厂商收取授权费,而Android系统正基于Linux。这表明,微软在软件行业中处境仍旧复杂。尽管微软已经向互联网实现战略转移,但仍是一家依赖传统软件业务的公司,并依然有心想采取措施保护传统业务。不过,微软与Android阵营之间的斗争与以往不同。作为谷歌的一个项目,Android作为谷歌项目并非那么开源。
现实并不是一个非黑即白的二元世界,软件世界同样如此,并不是每个人都意识到这一点。但比尔盖茨做到,而微软更因此受益。