李开复:没有开源就没有Google?
【IT168 开源分析】8月24日,北京金源饭店,“2006 开源中国 开源世界”高峰论坛上,Google全球副总裁(中国区总裁)李开复博士在其演讲开始之前匆匆赶到会场,并在演讲结束之后同样匆匆离开。在李开复走出会场的过程中,频频受到媒体人员和众多的Google迷们的“围攻”,其中有一位从台湾赶过来专门听李开复这场演讲的Google迷。

图1:演讲中的李开复
李开复的演讲语速缓慢、平和,一如他在人们心目中的“导师”形象,为在场人员讲述了Google内部是如何使用开源软件和开源技术,以及Google内部的开源人才的使用。演讲的过程中,记者注意到李开复始终在强调“没有开源就没有Google”。Google的创建以及如今的成就确实与开源有着密切的关系,但“没有开源就没有Google”是否言过其份?李博士今天有此言论,是应景而发,还是“切中实际”?Google对开源是完全依赖,还是以“应用”为上策?做为一个在全球已经有相当影响力、坚持不做邪恶事情的高科技公司,Google和开源的关系恐怕不是李博士仅仅这一句话就能够涵盖和阐述的。
Google与开源的渊源
做为一家优秀的互联网搜索引擎技术公司,Goolge也许并不热衷于发布、升级开源操作系统软件或者开源桌面应用软件,但是,Goolgle绝对是一家支持、使用开源软件的高科技公司。虽然在2005年Google同Sun公司就基于Web的StarOffice桌面软件有过合作,并且当时还有媒体猜测,Google在这之后不久将要推出一款新的操作系统软件。但是,Google开源项目的负责人士克里斯•迪博纳(Chris DiBona)就此事接受采访时明确表示:Google还没有推出操作系统或Office软件的计划,Google与Sun方面的技术合作只是为了让OpenOffice可以变得更好、装载地更快。
纵然如迪博纳所言,Google没有计划发布针对用户的开源产品,但是Google已经推出了专门针对开发人员的开源项目,而结果证明这些开源项目对开发人员有很大帮助。
在当日的演讲中,李开复首先就表明:每一个互联网搜索引擎的背后,都在使用开源软件,Google自然不能例外。Google在全球的大批服务器上都运行着经过自己修改的GNU/Linux程序。李开复把当初Google选择开源的举措定义为“明智的”,定义为明智的前提是,Google想把未来的命运掌握在自己的手中,开源软件可以满足Google在较短的时间内对其全球的服务器做出修改和处理。这种说法很符合Google目前的地位和“品牌”效应,但是,Google在创立之初就选择使用开源软件和技术,决定性的因素也许是开源软件自身的价格和技术特点,对于当时还名不见经传的新兴Google而言,无疑是非常好的的选择。而之后把“开源”和“掌握自我命运”联系在一起恐怕是Google成长壮大之后的事情了。
【IT168 开源分析】
Google对待开源的策略
李开复当天演讲中的第一个主题是对软件许可发展方向的的看法,从封闭源代码的商业软件到“只许看不许动”的限制性开源(很容易让人想到微软),再到“必须公布修改”的Copyleft开源,最后到可以任意修改但需要保留修改记录的Non-Copyleft开源。

图2:软件许可证的发展方向
做为一家不依靠开源软件盈利的公司,软件的许可协议的作用如何体现在Google对开源软件和技术的使用和支持上?
Google对开源的策略是“师夷长夷以自用。”
在整个Google公司的内部,有不同的软件许可证。Google对四种开源软件架构进行使用和提供支持,即Linux内核及硬件驱动、各种Apache Labirary、各种系统管理工具、编程语言(Python、C++/类C、Perl、PHP、一些Ruby)。这四种开源架构在未来软件业中,都有各自的发展空间。目前的开源软件产品和技术种类繁多,供公司选择使用的余地很大,但是限于不同深度的开源技术水平、不同的产品生命力,大公司对于开源的选择使用采取“择优录取”的方法。IBM亚太区开源项目的负责人士在LinuxWorld(中国北京)大会上,接受IT168记者采访时也表示:IBM不可能对所有的开源软件和技术提供支持,主要是因为开源产品的更新、升级频率很高,公司对开源产品提供长期的支持,在精力和财力上都需要很大的投入。
选择开源架构的同时,李开复在演讲中也坦言,Google也使用了很多微软的桌面软件,原因主要在于“没有其它的选择,必须使用。”李开复随后表达了对Google所使用的不同许可协议的软件的看法,他说:一些只能看到源代码但是不能使用的软件,对于Google这样的高科技软件而言,是没有用处的;而在Google所使用的四种开源软件架构中,Google最看重的是最后两种,即系统管理工具和编程语言。
李开复进一步阐述,很多开源都是使用在Google内部架构里面。Google在全球有非常多的服务器,在其上面部署了很多开源系统管理工具,另外,Google还使用了很多和开源有相当密切关系的不同的计算机语言和工具。Google内部所使用的工具里面,有很多是在开源基础上开发的,包括数据分析工具在内的互联网上所需要的不同的工具。
与其说Google在创建之初对开源的选择是明智的,不如说如今Google对开源软件和技术的“先选择,再修改,最后自己使用”的策略是明智的。Google所选择的具有高技术含金量和美好发展前途的开源系统管理工具,可以在很大程度上节省自身的研发精力和财力,对于种类繁多的“嫁衣裳”,Google可以反复“试穿”,以便找到最“合身”的一件。Google内部有很多的开源人才,而对于开源编程语言的重视无疑是Google的一项长远的计划,优秀的开源底层开发人员与优秀的开源底层开发语言的结合的结果,或许是一款优秀的产品工具,但这时候的产品已经成为了Google的专有“御用”工具,而其自身的“开源”成分却已经淡化或者消失了。
“我们要的是炼金术,而不是黄金。”Google一方面在寻找现成的开源软件工具,一方面在酝酿、研制自己的开源工具。这种“黄金”与“炼金术”兼得的策略,是被定义为“明智”之举,还是被定义为“机巧”之举?
Google的开源人才策略
Google对开源“改以致用”的同时,在许多方面也推动着开源的发展。Mozilla基金会在前期的财季中出人意料地赚得7200万美元,根本原因就是将Google Search定为Firefox浏览器的默认首页。
在与许多开源组织合作的同时,Google也在广纳开源人才。2004年年底,Python创始人居依德•范•罗森加入Google;2005年1月,Firefox首席工程师本•古德格被Google雇用;最近,Linux 2.6内核维护者安德鲁•默顿也离开OSDL前往Google。李开复在演讲中也提到,“Google里面其实有相当多的开源的元老”。对于这些人的到来,李开复解释到:Google可以给这些人更多的弹性时间,以让他们在各自的开源领域和开源项目上更有贡献,从而更好地回馈开源社区。但从另外一个方面来讲,在未来的一段时间内,Google也许是最大的受益者。
Google这种吸纳开源顶尖人才的策略,无疑又是一招“妙棋”或是又一“明智之举”。雇用古德格和默顿等人,可以保证这些人所负责的项目(即Firefox和Linux)在他们的全力维持之下继续获利,而不必再担心生计或管理过程枯燥的问题。而事实上,这是Google撼动微软优势地位的上佳之策,同时并不会被微软视为明显的敌对势力。从表面上看来,Google的确不会与微软直接竞争,但很明显这只是假象而已。
Google的这种策略体现出了一种别样的人才使用模式。在第一次互联网发展浪潮中,早期的开源公司开始雇用优异的程序员,阿伦•科克斯、戴维•米勒、斯蒂芬•特维迪等内核开发人员去了Red Hat,另外有许多程序员被Linuxcare雇用。而在浪潮结束之后,他们不得不开始寻找新的工作,有些人最终落脚在日渐重要起来的OSDL(开放源码开发实验室,Linux之父Linus Torvalds的工作单位)。在这种背景下,Google的吸收人才策略表明,业界又回到当年编程人才集中在一个公司的发展类型。但这一次,他们的工作只是间接与Google的主要市场工作有关。
Google在重视顶尖开源的同时,同样对在校的“开源”大学生加以支持。Google在2005年花费了200万美元发起了一项“Summer of Code”项目,旨在鼓励在校生关注、使用、开发开源技术。Google开源项目的负责人士克里斯•迪博纳表示:Google意在通过此项目为一些长远的计划注入新鲜血液。在当天的演讲中,李开复也提到,目前全球已经有将近400个学生得到这个项目的支持。在2006年,Google的投入资金是300万美元,将来会更多。“Summer of Code”现在已经稳定地发展成开放源代码人才和开源项目的培养基地,它还具有丰富程度可以与Sourceforge相匹敌的开源代码库。
迪博纳所言的“长远的计划”是否是专为Google所有、所用的计划?“Summer of Code”的代码库,Google是否具有最高优先选择、使用权?
Google对开源社区的回报
最近有些关于Google是否在努力满足它对开源世界的“道德”义务的争论。争论的高度已经提升到了Google应该开放所有源代码,因为它的产品基本上都源于自由/开源软件。
无独有偶,李开复在演讲中也提到了这一点。
Google在对开源软件进行了很多很特殊的修改,以期让其更加灵活、易用。做为全球的知名公司,Google同其他商业公司一样,都有自己的商业秘密和技术秘密,李开复表示,Google不可能把所有的技术都公开。当Google在做自己的“开源”的时候,在内部对开源软件和技术做了很多的调整和修改,这些调整和修改是不需要公开的,是没有必要让别人知道的。李开复举例说,如果Google购买了别人的操作系统软件,每年要支付一定数目的费用,但在付费的时候,别人就知道了Google有多少台服务器,在这时候就把Google的一些秘密信息透露出去了。这就违背了Google“把未来的命运掌握在自己手里”的信条,所以,Google的“开源”应该定义为:使用开源,但要保证Google的秘密能够留在公司,不为外人所知。
从某种程度上说,如果Google要回报开源社区的话,支持开源开发人员要比单纯把自己的源代码“公之于众”更有效。开源开发人员所编写的代码正是他们所针对的项目所需要的,比那些项目所在公司中的开发人员自己编写的还要好。而且,这种吸引人的职位越多,为开源软件工作就会越来越吸引人。
关于使用开源软件的公司必须开放源代码的争论并不是只针对Google一家的,另一个开源软件受益者是Yahoo。Yahoo热衷于收购Web 2.0公司,比如Flickr和del.icio.us,很显然它们都属于开源世界,但在直接支持开源事业上,Yahoo远远落后于Google。正如Google雇用自开源软件开发者致力于公共项目一样,如果Yahoo也能为社区的发展投入一些经费,而不只是为了公司的利益,它也能为自己谋得更多。
小结
“穷则独善其身,达则兼济天下。”
Google在对开源软件和技术的选取、修改方面,在对开源人才的使用策略方面,在对开源社区和开源项目的支持方面,都有自己的Google特色和模式。Google对开源的利用已经可以算是“独善其身”。
在当天的演讲中,有人预言到2010年Linux将会成为主流的操作系统软件,未来的软件领域是开源的领域。
现而今,在开源趋于务实、趋于实际的时候,在人们正纷纷探讨开源的商业模式、开源是如何盈利的时候,Google对开源的策略是深入地加以利用,并且是“为我所用”。在商业软件模式尚未日落西山,开源模式处于新兴姿态之时,Google已经有了自己的一套开源利用模式。而在开源占领软件主流市场之时,Google的角色是否与如今商业软件模式中的微软相类似?
Google信奉不做邪恶的事情,但在其独善其身之后,在其发达之时,在所有的事情都水到渠成之时,Google在未来主流软件市场中将是怎样的一种姿态出现在大家面前?Google会站在怎样的一个高度或位置上面对和应对开源厂商、人才和社区?