谷歌开源总监迪博纳专访:开源如何改变了谷歌
谷歌刚刚度过了自己的第 15 个生日,这家搜索巨头在这十余年时间里取得了巨大的成功,而 Linux 操作系统和开源软件是造就其成功的重要因素之一。
为此,英国电脑杂志《inux Format》在最近对谷歌开源总监克里斯·迪博纳(Chris DiBona)进行了采访,后者在这次访谈中谈到了开源是如何令谷歌发生了改变、而反过来谷歌又是如何令开源发生了改变的问题。可惜的是,他并未就 Android 4.4 操作系统为何冠以“KitKat”这个代号名的问题置评。
以下是访谈内容摘要:
问:在谷歌供职九年并经历了 Android 操作系统的发布以后,你觉得自己有什么变化吗?
答:当我刚到谷歌工作时,公司员工总数只有 1800 人,而现在已经超过了 4.4 万人。在公司如此迅速地成长的同时,一切都会随之成长。开发人员变得更多,他们想要使用更多的源代码,软件库也变得越来越大。九年以前,我们没有太多的东 西需要担心,而现在我不得不担心所有事情。当我开始在谷歌供职时,我们没有 Android 也没有 Chrome,而想要以符合开源目标的方式来启动这些项目是很难的一件事情。
单以 Android 为例,它需要 400 Git 软件库,因此我们必须编写所有同样也是开源的新工具,如 Repo(Android 的软件库管理工具)和 Gerritt(一个基于网络的代码检查系统)等。
到后来,Git(开源的分布式版本控制系统)本身也不再好用了,因为当我们发布了操作系统以后,其规模没有相应扩大。因此到最后我们聘用了大多 数 Git 团队,到现在只有那么一两个核心 Git 团队是没有为谷歌工作的,这不仅能让 Git 继续在后端运行,而且还能继续为客户提供更新,让所有一切都保持正常运作。
问:你在谷歌的工作岗位的最初构想是怎样的?是不是谷歌觉得“我们将有 100 个开源项目,需要有人来管理这些项目”?
答:如果只有 100 个项目,那倒是好多了。算起来,从我开始在谷歌供职起,我已经发布了 3700 多个项目,有大也有小,当然大多数都是小的。每个 Android 版本都有上千个小项目,一些小工具和大量补丁会从这些项目中产生。因此,当谷歌聘用我的时候,只是知道需要有人来专业打理这些事情而已。
问:你是如何在 Android 这样的一个项目中管理开源遵循程序的呢?
答:我并不负责运营 Android,但我会帮助开展相关工作。就 Android 来说,我们是非常幸运的,因为我们能提前准备好工具的遵循程序和测试版本的系统。
问:比发布时间要早上几年?
答:没错,大约会提前三年左右。我们跟 Android 团队合作,并为全球范围内的 Android 团队、Android 合作伙伴及其他人提供基础设施。
问:这种遵循的理念是在谷歌工作的人天生就有的理念吗?
答:是,但也不是。你必须认识到,开源授权协议是非常复杂的。
问:在这九年时间里,谷歌从事开源项目的方法是否有所变化呢?
答:那是自然的。不同的项目有不同的开源角度,这一点是很有趣的。
问:也就是说,ChromeOS 与 Android 系统的开源角度是不同的?
答:可以这么说。我的意思是,ChromeOS 与 Android 在操作系统开发的方法上是有所不同的。这一点很有趣,因为如果你想要推出一种浏览器,那么就有些插件是你希望使其变得更安全的,但那些插件从本质上来说并非开源的。
问:就这些项目来说,你是否能拥有自己的观点?或者说,你是否能保持客观的态度?
答:我总是会让一件事情来指导我的行动,而这种作法到目前为止的效果还不错。就一个项目来说,只要开源软件团队中的同事喜欢这个项目,那么我自己并不一定非要喜欢它,然后才会批准这个项目。这是因为,我是个这样的监管者:只要我所监管的东西是健康的,我就会感到高兴。
问:即使是像 HTML5 规格中的 DRM 那么有争议的东西也是如此?
答:这个确实很有争议,而我最后经常会做的事情是,尽我所能的让从事该项目的两个团队能友好相处,而不是以不健康的方式来强迫推进项目的发展。
问:也就是说,只要两个团队都能遵守规范,你就会感到高兴?
答:确实如此。事实上,这从来都不是个问题。他们都知道这是很重要的东西,因此这一点上从来都没有什么问题。
问:现在你大多数时间都用来从事什么工作?
答:我现在拥有一支大约 30 个人的团队,从事各种遵循、工具和基础设施等相关工作。说到底,我所从事的工作是人员管理。当你像我们那样拥有如此之多的工程师、程序经理和项目经理时, 公司内部员工肯定会关心自己的事业问题,而我要做的事情就是确保他们能在像谷歌这样的一家公司中过得很开心。
问:你是否会想去影响政策?
答:是也不是。我是说,我只是公司里的一名主管,这意味着我并非负责人,拉里·佩奇才是负责人。在公司里,有很多人都比我资格更老。但是,我能在很多方面都起到帮助作用,比如说帮助人们找到自己的事业发展道路等。
问:你认为,谷歌对开源所作出的最大贡献是什么?
答:我觉得,我们已经发布的三个最大项目分别是 Android、Chromium 和 Go。如果你问的是十年以前我最感骄傲的是哪一个,那么我会觉得很难回答,因为 Android 拥有无与伦比的影响力。
问:你认为,如果没有开源或是没有 Linuxe,那么谷歌是否还会存在?
答:很可能仍将存在。但我觉得,如果不是因为有了开源和 Linux,那么网络将不复存在,而今天的谷歌自然也就不存在了,而是会变成一家跟现在不同的公司。