专访GitHub CIO Scott Chacon:开源文化与开放API经济
写在前面:2015年10月19日, 华为开发者大会(HDC2015) 在深圳大运中心召开。会上,华为产品与解决方案总裁丁耘宣布全方位ICT能力开放战略,并坚持“上不碰应用、下不碰数据”的原则。为了更好地构建生态,华为公布了能力开放平台 eSDK ,并与GitHub达成合作。eSDK是以开放API为基础的针对开发者的一站式服务平台,提供包括便捷开发工具、源码、远程免费接入、开发测试环境、在线实时支撑等服务。据了解,eSDK目前涵盖华为12条产品线开源的全部API,在 GitHub 上开源了110个工程,总计200万行代码。
GitHub现任CIO兼联合创始人 Scott Chacon 也在华为开发者大会上做了主题演讲,他在发言中提出API经济的理念。正如Marc Andreessen所言,软件正在吞噬世界,Scott Chacon认为未来所有的公司都将是软件公司,进而他举例道,GitHub上已经有很多传统行业的公司,比如特斯拉汽车、沃尔玛等等。
- 最成功的API就是那些最简单的 :万物互联使得所有的东西都可以通过API调用的方式给外接提供服务,统计发现最成功的API就是最简单的那些。GitHub也有自己的API,最重要的是,你要有自己的API。
- 开源是最好的方式 :这样能保证你的合作伙伴更加高效地使用你的服务,从而双方都获得收益。GitHub不但提供API,还提供一些类库。这促成了一个生态的形成,社区会为此做很多工作,AWS也在做同样的事情。
- 开源加速应用和标准化 :其实开源就是标准化的过程。GitHub想解决各自为政的问题,发现大家很喜欢开源的方式,所以干脆开放了这种解决方案。不管谁来做这件事,对行业都是好的。开放API和开源都利于合作双方实现商业上的共赢。
在会上,InfoQ采访了GitHub的这位CIO兼联合创始人 Scott Chacon,以下为采访实录:
InfoQ:您提到开源文化对于工程师团队非常重要,怎么理解这句话?
Scott Chacon:开源文化对许多工程师团队很重要,对我们的工程师团队也很重要。我们的项目和开源项目非常相似,因此和开源项目有很多相通的地方。 GitHub的很多人远程工作,不同步工作会产生很多问题,而Github可以用合作解决,这就是我们Github的工作方式。当然也有很多工程师团队不采取这种方式。我认为,总的来说,开源的精神对工程师团队很重要,它使你能够看到同事的工作进展,他们如何去实施,大家还能公开地讨论和了解做事的正确方式。分享和开放的精神在开源文化运行的很好,也同样会适用于工程师团队。
InfoQ:什么是开源文化,它应该包含什么?在您看来,为什么大家会选择开源?
Scott Chacon:开源文化不仅取决于你使用哪种编程语言、从事哪个工程项目,它很大程度上取决于项目发起者或者是社区的参与者。大体来说,开源文化最主要的部分是开放式的决策机制。所以有些事情会被优先考虑,对于有争议的地方,经过讨论而不是谁声音大谁就是对的,开源项目得到好的发展的原因不仅仅是对那些资深的代码贡献者开放,也对刚刚加入的人开放,这使得开源项目得到广泛参与,会不断有更多人加入,带来更多新想法,并且通过开放的讨论,能得到最好的结果。
我想,这首先这取决于个人,我认为人们选择它的原因各有不同。一些人希望通过开源来学习,开源是一种很好的学习方式,因为开放的资源随处可见,你可以通过开源学习到很多很难的项目,你可以在项目里加入一些你想加入的特性,很多人通过这种方式学习和提高个人的能力。在商业角度来讲,我想许多公司在应用开源的很大原因是他们可以跟开源社区交流。如果他们想发展的更好,就必须找到在这个领域最擅长的人——开源项目能够找到他们,或者他们有很好的想法却没有能实施的条件,他们就把这些想法抛出来看看社区有哪些人、有什么反馈。人们选择开源的原因有很多,但最本质的层面是它的开放性,这是开源十分强大的原因。
InfoQ:GitHub的员工是通过开源的方式进行协作,这些具体表现在哪些地方?有什么好的收益吗?
Scott Chacon:我认为Github不同于其他许多公司,我们的工程师团队的运行模式在某些程度上和开源项目很相似。正如我之前提到的,其中的一部分原因是,我们在不同的时区和地区都有人在工作,比如我们有很多要讨论的会议,大家要同一时刻聚集在一起——我们可以把全世界的人都联系在一起,你会发现开源项目的协作方式广泛应用于GitHub每天的工作中。我们试着学会更多开源文化的东西,我们可以把Github当成交流工具,人们不用担心时刻被打扰。你清楚自己和他人在什么时候有私人时间,在工作时间里你可以按自己的日程行事,知道什么时候该做什么;你可以和别人有开放式的交流,并且不会打断他们的工作 ——你可以在任何时间与别人发起讨论,他们会在空闲时间回复你,这能避免工作被打断。换句话说,我们有点像是模仿开源,Github有很多资源,我们希望这些工具对于开发者是有用的。
InfoQ:最近两年GitHub遭到一些DDoS攻击,您能简单说说这些情况吗?
Scott Chacon:我并不知道所有的细节,但是我非常自豪我们能够应对的很好——那都是很核心的攻击。近几年我们也受到了很多次DDOS攻击,我们有太多的开源项目在上面,人们也把想加入的太多东西放在GitHub上,无论是谁攻击了自己人们都会很抓狂——这也是我们很长时间里想回应的东西。所以我们学习了如何防御,现在我们做的越来越好。我认为我们的Ops团队是全世界最好团队的之一,当这些攻击事件发生的时候,他们总能想出办法来应对,对大家托管在 GitHub上的项目负责到底。
InfoQ:今天演讲最后的一页PPT我看到了“华为和GitHub的合作”但你并没有讲太多,能透露这个合作的具体内容吗?有没有时间线?
Scott Chacon:我们正和华为讨论如何帮助华为在中国建设一个这样的社区。我认为对于我们——特别是大多数美国公司来说有些事很困难,我们的目标是世界上的人能够互相交流、互相学习,共同建设开源。但是现在中国的很多开发者我们根本无法取得联系,所以我们要和华为或者其他的中国公司合作,来寻找如何把我们全球化的社区资源带给中国开发者的方法——当然不仅仅是在中国,我们希望更加的全球化。
实际上我们已经是一个全球性的公司,目前只有百分之二十的用户来自美国,其它主要来自欧洲、南美、中国、印度、日本,还有很多其他地区。但我觉得对于进入像中国这样的国家还是有点困难,所以我们才要和华为进行这样的合作,这就是我们来这里的原因——来寻找联络上中国开发者的方法。但目前我们尚没有什么时间线。(另据华为方面透露,双方将有战略层面的合作,但具体计划尚未公布。)
InfoQ:在中国有大量的开发者使用GitHub,能对他们说两句话吗?
Scott Chacon:我们的网站一天有1.3或1.4亿的PV,实际上我想有大概4~5%的用户来自中国,这是个很大的数字,所以我们知道有很多中国开发者正在使用Github。我们一直在想办法,使中国的开发者使用GitHub变得更简单、更便捷。