Google 是如何打造独一无二的开源项目部的

在开源成为主流的今天,可能你会和我一样低估了 Google 的影响力,当互联网公司争相开源各种内部框架、项目的时候,比如连阿里巴巴都成为了Linux黄金会员,你一定在纳闷,这些人开源到底是为了什么?那么你可能需要读一下此文,看看这些公司都在模仿谁,或者说找到其背后的推动力——究竟为何?

Fri Mar 17, 2017 | 3600 Words | 大约需要阅读 8 分钟 | |

《每家公司都应该设立开源项目部门(OSPO)》一文中,我介绍了开源项目部的来龙去脉,职责所在,以及讨论了为什么每家公司都应该设立这样一个部门。在本文中,则会聚焦于Google的开源项目部,试图以实例的方式说明第一家战略性的设立开源项目的前世今生。

从 IBM 到 Intel 再到 Oracle,乃至 Microsoft,在1999年到2005年这段时间,这些公司都其实有开源项目部的存在,只不过是不叫这个名字罢了,类似的部门就是鼓励内部融入到开源的世界,以及做一些协调的事情。但是2005,有一家公司明确的成立了“开源项目部”,完全重新改写了这个部门的定义,这叫公司叫做——Google。

Google 从某种意义上说并非是一家软件供应商,至少不完全是。Google是互联网搜索服务和广告的提供商,后来又将业务发展到移动平台和服务上,(也是主要的云平台提供商)Google 的能力对于开源软件的开发产生了直接的影响力,即开源软件的核心原则之一:每个人都有自己的位置,并在哪里发挥自己的能量。Google 涉足开源至少澄清了一件事,那就是:软件的生产再也不依赖于那些软件供应商了。从那以后,一个接一个的商业软件用户走上了自我研发的道路,以至于后来发展的至为强大,并均称自己为——软件制造者。

正是由于 Google 的示范力量引领了软件开发的潮流,我们看到很多其它的公司都加入到开源的世界中了,包括雅虎、脸书、推特、贝宝、网飞、GitHub等等,这些公司都有一个共同点,那就是他们都不是为了售卖软件而开发软件的,他们均是为用户提供服务而不是软件闻名遐迩的,尽管他们当中很多是技术公司。随着互联网的大潮涌来,这些公司对于软件行业的影响力越来越重要了。最为显而易见的表现,莫过于在很多的技术会议上可以看到技术相关的工程师和管理人员作主题演讲和致开场词。

Google 的开源项目部

尽管有很多公司都创建了开源项目部,并对开源社区和生态系统产生了一定的影响,Google 依旧是独领风骚。可能的原因是所有Google之外的开源项目部都是具有功利性质的。虽然功利并不是什么该去谴责的,但是Google就是区别于他们,Google 除了是第一个采用开源项目部的方法论之外,Google还担负了将自由软件传播到世界的使命。正是因为非功利性,因此而备受好评,也让Google总部戴上了荣耀的光环。但是就我所知,我认识Google开源项目部的很多人,我从来都没有听他们说过“我是一名开源实用主义者”,然而,我在其它公司的开源项目部的人机会都会说这样的话,并且还颇为自豪。Google 开源项目部的人们不仅仅是让Google的软件变得更好——他们更加热衷于通过开源改变世界。

那么读者可能还是会纠结一个问题,Google 通过这样的超越业内影响力的使命感到底有何好处?好处是颇难以计算的,但是依旧有一些客观的衡量标准,举例来说,感观上的影响力、实际的工程贡献。Google 或许并不是贡献代码最多的公司,在 Kubernetes 项目之前,Google的开源项目甚至是只有很小的贡献率、或者是强约束的、并不完全的开放(比如,Chrome和Android),但是它依旧在开源开发者圈具有强大的影响力(甚至有人说是最大的),这就是一旦彻底开放如Kubernetes这样的平台,就促使这个项目异常的成功。再说了,Google 除了项目之外,还创建过 Google Code,曾经一度是开源软件最大的代码托管的地方,以及大名鼎鼎的 Google代码夏令营(GSoC),虽然这些举措Google都没有大量的代码贡献,但是它促使世界各地的开发人员能够合作,从而编写更多的代码。到目前为止,还未出现任何一家公司——无论是供应商、软件用户还是其它公司——都没有达到Google如此的高度。我们现在是看到了,Google 如此的做法,为它赢得了更多,但是是否还有其它同样具有远见卓识的公司也会如此投入了呢?

这非常容易令人质疑,这条底线是有风险的:为什么会去做一个和公司业务目标完全没有关联的事情?拿Facebook来说,Facebook的业务广告,并不是构建一个开源的社区,二者完全不搭。大多数从书上得出的结论是:Facebook花钱投入增长的开源生态系统不符合上市公司的目标。然而,Google却与此观点完全对立,我们知道,Google的核心业务也是广告,但是它也利用其为开源所做的工作成为其真正的商业优势。

或许有人会说,正是Google有了今天的成就了,所以显示它对于开源的影响力了。其实,Google在开始启动开源项目部的时候,这个世界将最终运行多少开源软件是尚不明朗,可以说是完全一片混沌,如今,开源完全占据了软件的世界,是的,几乎所有主要领域的创新均是在开源的平台上发生的。或许这些公司没有看到需要去拥抱一个远大的使命,尤其是看到Google能够完全胜任的时候,他们或许是在想,对于创建世界上最好的软件,建立开源的代码的可行性是一项非常艰难的工作,已经完成了,为什么还要去花费时间和金钱增强它了呢?

我这里必须要指出,开源项目仍然有很多的工作要做,尤其是那些面向最终用户的软件和平台。更进一步,将开放源代码的使命扩展到代表性不足的社区,将为技术世界和这些社区带来巨大的收益。解决这个问题的好处是巨大的——那又有谁会壮大自己的开源部门去做了呢?那么重点来了,如果谷歌的独特性和成功的核心因素是它拥抱的问题空间比其直接的商业目标更大,那么可以从中学习到什么?

技术供应商及其它公司

以上便是我所谈到的类似Google这样的公司会成立开源项目部门的缘由,下面我们就来聊聊其它的技术公司。正如我原来所提到过的,软件公司在创建开源项目部(OSPO)和其它不以软件为销售和支持为主营业务的公司,是有着不同的目标,也面临不同的挑战的。后者的软件开发的主要目的是创建更好的解决方案,仅供内部实用,然而软件公司却是将开源视之为全球分发软件的渠道而已。这就很好的解释了为什么有些软件供应商在开源的参与程度和影响力方面都较弱的原因,他们更加担心开源会让他们失去许可或支持的销售,而几乎不会考虑参与到开源生态系统中来。

从传统软件供应商的思路来讲,开源是被极度厌恶的,(甚至有人形容为“搅屎棍”)毕竟,一家售卖软件产品和服务,并拥有高额利润的公司,没有任何理由去冒着失去利润的风险,而仅仅去增加开源生态系统的影响力,这似乎非常的不划算。再说了,那些不销售软件的公司非常乐意参与到开源生态系统,以和社区进行深度的合作,而参与的额外的目的就是避免供应商捆绑,供应商没有任何理由去帮助他们?不是吗?其实,他们思考的角度还是过去的老一套的思路,而没有意识到,传统的软件供应链市场正在急速下滑。

不言而喻,现在是开源的时代,毫不夸张的说,一家公司的成功与否是与其参与的开源程度密切相关的。因此,洞悉这一点的公司,利润都有所上升,而视而不见的则凸显颓势。基于这样的情况,我就很纳闷,不得不问问那些技术供应商,为什么不顺势而为,加大在开源社区的投入了呢?

事实上,让我们回想一下在上世纪末、本世纪初发生的事,IBM 抛出 10 亿美金支持 Linux 的新闻,以及施行“和平、爱、以及Linux”的营销活动。从这里可以看到,作为供应商,要清楚的看到开源的双面效果:一方面为开源投入资金,等同于资助了竞争对手,失去了一些潜在的销售机会;但是若不投入的话,就可能会失去整个的技术机会。

说到底,技术供应商没有其它的选择,要么合作,要么沉没于历史。他们也许能够抵抗一阵子,但那样的损失将是巨大的。这些供应商应该去向Google或类似ToDO Group这样的组织取经,对于开源的生态系统应该有全局的视野和方法:哪些是具有战略重要性?如何参与开源,可以让新的产品和服务迅速的走向市场?

还有就是,Google向世人说明了一点:在聚焦于公司的主要产品之余,拥抱一个额外的任务也会开花结果。但是要脚踏实地,一步一个脚印的来。

关于作者

John Mark Walker 是 Dell EMC 的产品管理总监,否则管理ViPR 控制器产品,以及CoprHD开源项目,他也是资深的开源社区活跃者,如ManageIQ、Gluster、Hyperic,乃至过去的SourceForge。

关于激进的言论,请关注他的Twitter:@johnmark,他也有领英账号:johnmarkwalker,也不定期的会更新自己的博客:johnmark.org

John Mark 经常在各个开源技术会议上做演讲,并有优秀的论述开源的文章,如根本就不存在开源社区永远不要搞创新逝者如斯:写在VA Linux IPO 十年之际

本文由作者John Mark Walker 发表在Opensource.com上:How Google created a new kind of open source program office。本文在Creative Commons BY-SA 4.0许可证下发布。由开源之道翻译共享,欢迎转载!