现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

微软支持开源运动幕后的那些事

2013-07-14 07:39 工业·编程 ⁄ 共 3766字 ⁄ 字号 暂无评论

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并非彻底开源。

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

给我留言

留言无头像?