专访GitHub CIO Scott Chacon:开源文化与开放API经济

2015 年 11 月 17 日

写在前面: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 变得更简单、更便捷。


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 11 月 17 日 17:101404
用户头像

发布了 62 篇内容, 共 16.3 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

你也许还不懂静态方法和实例方法

架构师修行之路

管理时间还是挥霍时间?

钰湚

学习 时间管理 工作体会 工作哲学

产品经理的架构思维

吴世亮

架构 产品经理 电商

Keepass+Synology 打造私人密码管理器

zj坚果

新时代背景下的Java语法特性

高翔龙

Java java 14 java 14 新特性 Java 分布式

性能相关 磁盘I/O子系统

Linuxer

话题讨论 | 当你敲代码累了时,一般喜欢吃点什么补充能量?

InfoQ写作平台

加班 写作平台 代码 话题讨论

Python 到底是强类型语言,还是弱类型语言?

Python猫

Java c++ Python 编程

文件系统

Linuxer

week 12 作业

Geek_2e7dd7

Jenkins持续集成「编译打包、代码检查、单元测试、环境部署、软件测试​」

清菡

jenkins

SpreadJS 纯前端表格控件应用案例:表格数据管理平台

Geek_Willie

Week12

一叶知秋

面试是一张窄窄的船票

escray

学习 面试 面试现场

区块链usdt支付系统开发,承兑支付跑分系统搭建

WX13823153201

区块链usdt支付系统开发

在面试中成长

escray

学习 面试 面试现场

DockerHub 镜像仓库的使用

哈喽沃德先生

Docker 容器 微服务 镜像 容器技术

拖延症竟然是自己给自己的一种奖励?如何干掉它?

非著名程序员

个人成长 拖延症 番茄土豆工作法

C语言内存泄露很严重,如何应对?

华为云开发者社区

c 内存泄露 内存 代码 函数

自己做的 PPT 总被批「缺少干货」?试试先回答这三个问题

Tony Wu

效率工具 方法论 PPT

java安全编码指南之:对象构建

程序那些事

Java 安全 安全编码指南 对象构建

揭开链表的真面目

Java旅途

Java 数据结构 链表

MySQL复杂where条件分析

程序员历小冰

MySQL

week 12 学习总结

Geek_2e7dd7

图解Janusgraph系列-分布式id生成策略分析

洋仔聊编程

分布式 分布式系统 janusgraph 图数据库

1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知

YourBatman

Hibernate-Validator Bean Validation 数据校验 JSR380

甲方日常4

句子

工作 随笔杂谈 日常

面试必备知识点:悲观锁和乐观锁的那些事儿

鄙人薛某

面试 乐观锁 悲观锁 CAS 并发控制

云原生如何来进行HTTPS升级

soolaugust

架构 云原生 设计模式

Golang写算法

卒迹

golang 算法

oeasy教您玩转linux-010110内容回顾

o

专访GitHub CIO Scott Chacon:开源文化与开放API经济-InfoQ