摘要:在由开源社主办,在华东师范大学以「开源无疆、携手出航」为主题召开的 2019 中国开源年会 (COSCon’19)上,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手 GitHub 副总裁 Thomas Dohmke 重磅展开「炉边对谈」,围绕着技术社区及开源的发展进行了深度的探讨。
中国开发者正在走向世界!
当我们进入 GitHub Trending 时,会发现格外有意思的现象。进入 GitHub TOP 榜的中文项目越来越多了,以至于有来自欧洲的开发者在 HackerNews 和 Medium 发问这一现象,引起了广泛的讨论。
据 GitHub 年度数据报告统计,在 GitHub 全球 4000 万的开发者中,中国开发者无论从数量还是开源项目的贡献上均已位列第二。并且,越来越多的中国企业正在国际开源项目及贡献中扮演着重要角色,譬如阿里、腾讯、百度均已进入 GitHub 全球公司贡献榜。
但同时,今年以来,开源在全球范围内也发生了诸多颇让开发者困扰的问题,比如几天前全球第二大开源代码托管平台 GitLab 刚刚发布地域封锁的公告,引发了全球开发者的激烈讨论。
在由开源社主办,在华东师范大学以「开源无疆、携手出航」为主题召开的 2019 中国开源年会 (COSCon’19)上,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手 GitHub 副总裁 Thomas Dohmke 重磅展开「炉边对谈」,围绕着技术社区及开源的发展进行了深度的探讨。
重点速览:
- 中国开发者走向世界:在国际性项目中会看到中国开发者的身影,可以说中国开发者的国际化水平已经非常高了,开发者之间的凝聚力也很强,能够在开发者之间实现不同的协同。
- 开源正在吞噬世界:任何一家公司都不可能脱离软件,更不可能脱离开源。
- 全球开发者群体年轻化:中国的活跃开源项目贡献者,有 40%~50% 都是在过去一年里加入的。开发者群体中很多人都是 90 后,或者是高中生,对软件开发有着非常强烈的兴趣。在世界各地,比如尼日利亚、印度和非洲地区也有很多年轻一代加入到开发者阵营中。
- GitHub 不会分区:开源项目被分成不同的区域并不是最好的方式,项目只有可能按照来源地域被划分。
- GitHub 多语言支持:GitHub 已经考虑把所有的文档都翻译成中文,这是第一步,未来还会推出不同语言版本的 GitHub。
- GitHub 加强在中国的活动及合作:GitHub 正在和中国的大学进行合作,鼓励高校的教师在教学中使用 GitHub。近期也在中国公开了一些相关的资料给大家参考,让学生更好地了解 GitHub。明年将在中国开展更多的 meetup。
- 对于中国开发者的建议:中国的开源开发者跟世界顶级的开源项目开发者之间没有太大的区别,要永远对参与的项目保持激情,与世界其他开发者保持紧密协作。
以下为 CSDN 董事长蒋涛、GitHub 副总裁 Thomas Dohmke 对话实录:
蒋涛:大家好,很高兴来到开源社的活动,我也是最早的发起人。这些年开源也变得越来越重要,前不久梅宏院士在政府专题讲座上做报告时提到,开源社区也作为国家的一个重点建设,我想未来开源的发展会越来越好。
CSDN创始人&董事长、极客帮创投创始合伙人 蒋涛
Thomas Dohmke:大家好,我是 Thomas,GitHub 的副总裁(VP),我管理的团队包括产品经理、特定产品的开发。大家都知道,去年微软完成了对 GitHub 的收购,在 CEO Nat Friedman 的带领下,去年 6-10 月我们也完成了一些重组。非常高兴能够来到中国参加此次开源年会,也非常开心见到大家。
GitHub VP Thomas Dohmke
蒋涛:根据 GitHub 公布的数据来看,现有注册用户应该是 4000 万,其中中国开发者的增量位居 TOP2,中国开发者在 GitHub 上的表现怎么样?
Thomas Dohmke:的确如此,中国的开发者数量位居第二位,同样在开源项目上的贡献也是位居第二。在不同的国家和业务中,中国的开发者都有很好的表现。
蒋涛:有一个问题大家经常问我,就是中国乃至全球到底有多少开发者。根据你们的数据来看,全球开发者总计有多少,其中中国开发者占比怎么样?
Thomas Dohmke:我也不知道确切的全部开发者数量,但我可以分享一下 GitHub 的注册用户数量。去年我们有 2900 万注册用户,今年我们的注册账户的数量超过了 4000 万。其中有 20% 是美国开发者,另外的 80% 开发者都是来自中国或其他国家及地区,但中国开发者的具体占比还没有确切统计。在活跃用户数量方面,我们还没有可公开的数据,但我们的愿景是 4000 万。
蒋涛:我可以公布一下 CSDN 的数据,我们有 5700 万的注册用户,在排重后对外公布的数据是 2800 万,活跃的用户在 1500 万左右,这是中国的开发者数据。从 GitHub 上来看,中国的开源项目与美国或全球其他国家及地区的开源项目有什么不同?
Thomas Dohmke:我认为有着非常大的不同点。比如中国的开发者在开源项目中是使用中文版文档,而且项目测试的工作也不同。我之前在北京、深圳和上海都见过一些中国的开发者。他们有着非常棒的创意想法,精神面貌也非常地积极。这些都是我在美国见不到的,所以我觉得中国开发者总体而言非常的正能量,并且能够影响到其他人。
因此,我也非常希望能够看到他们做的开源项目。从全球的开源项目情况来看,我们会看到不同的依存度,包括项目与不同的数据包的挂钩,还有社区数量的变化(其实社区的贡献者数量也在不断地上升)。我们之前对一些头部的项目进行过分析,有些比较大的项目,会由超过 7 万名贡献者联合完成。所以就算是一些国际的项目,也可能会看到中国开发者的身影。可以说中国开发者的国际化水平已经非常高了,开发者之间的凝聚力也很强,能够在开发者之间实现不同的协同。
蒋涛:昨天我看到 Apache 软件基金会社区发展副总裁 Sharan Foga 分享了一个很有趣的数据,中国的活跃开源项目贡献者,有 40%~50% 都是在过去一年里加入的。你觉得这个情况在开源项目中是随处可见,还是只是在中国开发者中出现?未来 3-5 年,GitHub 上开发者的增长会呈现什么样的趋势?
中国活跃开源项目及贡献者情况
Thomas Dohmke:我觉得这是中国特有的特色,因为开发者群体中很多人都是 90 后,或者是高中生,他们很多人都对软件开发有着非常强烈的兴趣。在世界各地,例如尼日利亚、印度和非洲地区也有很多年轻一代加入到开发者阵营中。
同时,在开发者增长上,我觉得还是会保持在现在的一个增长水平上,无论是活跃开发者还是注册账号的数量都能够保持一个比较好的增长。其中,中国的开发者会以每年 100 万的增速增加,这些开发者中很大一部分是来自于高校的学生。
蒋涛:所以我想这也是开源年会今年会选择来到华东师范大学的一个考虑,能够让更多的学生参与到开源的活动里。
那么,GitHub 在教育中也有一些动作,现在全球的进展情况如何?在中国有这方面的计划吗?
Thomas Dohmke:我们有针对学生群体的 GitHub 开发项目,现在这个项目也向中国开发者开放了。这个项目可以提供合作伙伴的机制和其他训练的机会,并且给学生提供 1000 美元的资助,类似于奖学金计划,让他们可以参与到一些国际的培训当中。同时我们也和中国的大学进行合作,鼓励高校的教师在教学中使用 GitHub。最近我们也在中国公开了一些相关的资料给大家参考,让学生更好地了解 GitHub。
蒋涛:前不久有一位欧洲的开发者撰文吐槽 GitHub Trending 都被中国开发者的中文项目霸榜,引发了许多的讨论。未来 GitHub 会考虑像 App Store 那样分区吗,譬如不同的国家会有不同的版本?
Thomas Dohmke:我们现在没有打算出不同的版本,不过在不同的国家,不同的主题表达习惯不同。比如在中国,我们会根据中文的使用习惯来做一些工作表述上的本地化。其他国家也类似,就是会做一些符合自然语言习惯的本地化表述。
我们认为开源项目被分成不同的区域并不是最好的方式,项目只有可能按照来源地域被划分。所以我们在中国的一些登录页,还有提供给中国开发者的资源,暂时不会有什么变化。比如有些项目可能会被分为中国、欧洲、美国,但这并不是对项目本身的区域划分,而是不同区域的项目语言会有所不同。在我们未来的社区中可能会提供一些翻译服务,也会放出一些多语言的版本。不过这是未来的打算,现在暂时还没有实现。
蒋涛:大概 7 年多前我曾拜访过 GitHub,当时 GitHub 还是一个只有 20 人左右的初创公司,我见到了创始人,我说我们中国有很多的开发者,问 GitHub 有中文的版本吗,他说你们不是第一个来问这个问题的,因为我当时拜访的时候是下午,他说上午就有个日本的开发者也来问有没有日语的版本。
CSDN 董事长蒋涛拜访 GitHub 旧照(摄影:李涛)
Thomas Dohmke:我们现在已经考虑把所有的文档都翻译成中文。这是第一步,未来我们也会推出不同语言版本的 GitHub。不过现在我们能做的只是一些文档的翻译。
蒋涛:中国的开发者大部分都是微信的用户,但是在开源项目中邮件是最常用的沟通方式,也会使用 IM 工具,你们会考虑做一些支持本地化沟通平台的事情吗?
Thomas Dohmke:我们会通过自己的努力来提升对本地化通讯平台的支持。不过这里还需要考虑安全的问题,在私人通讯中需要做端到端的加密,从而更好地保护用户的隐私,毕竟安全是开发者非常看重的问题。我们可以一起来期待一下未来 GitHub 在这方面的一些动作,希望能够更快支持。
蒋涛:作为微软大家庭中的一员,GitHub 的运营一直都比较独立,在这种模式之下,GitHub 还有哪些其他的盈利来源?
Thomas Dohmke:我们可以看到 GitHub 现在的页面跟去年被收购前实际上没有什么区别。我们考虑过加上微软的 Logo,但到现在都没有加,就是希望能保持 GitHub 的独立性。但我们的总部就设在旧金山,我们希望在需要协同的时候可以跟微软快速沟通,同时又能够保持一定的独立性。实际上这也是我们的意愿,我们的 CFO 目前就负责跟微软的协同相关的工作。
微软是一家非常成熟的公司,他们的产品也能够提供非常好的服务。GitHub 相当于在这个基础上锦上添花,我们有很多开发者,也希望通过这种合作方式让他们融入到微软的服务当中。我相信这种合作模式会持续下去,并且取得更大的成功。
蒋涛:GitHub 现在有多少位员工?
Thomas Dohmke:超过 1000 人。
蒋涛:Thomas 你的工作经历很丰富,从自己创业到成为微软员工进而加入 GitHub,在不同公司工作的心得与感受如何?
Thomas Dohmke:过去 5 年来,在 CEO 萨提亚的带领下,微软发生了巨大的变化。萨提亚本身就负责一些开源的业务,所以对开源项目很乐观。大家知道微软成立了 .NET 基金会全面扶持开源项目,大家可以去 GitHub 上找微软社区的 Bug,找到可以提交,我希望大家都能够参与进来,因为这是我们开源项目中的一个重点。
其实不仅仅是 GitHub,我们也在项目规划,产品特色上不断前进。要说工作体验,大家可以想到,微软是一家很大的公司,在全球都有分部。每天有很多往来的邮件,要开很多的会议,人员结构很庞大,每天要跟不同职级的员工和经历对接。而 GitHub 是个中小型公司,比较扁平化,业务处理很灵活。我觉得 GitHub 是一个全新的公司,有自己的文化。只有 30% 的员工是 base 在旧金山,其他的员工都是远程办公,用例如 Slack 这样的软件工具进行协同,可以说我们建立了一个很好的沟通机制。
另外一点就是 GitHub 自身也会有一些管理的制度、课程,也会有专业的法律事务团队,来负责调整我们的服务。
蒋涛:在开源项目中,商业项目开发大多会遇到一些挑战。在这个方面你认为会有一些新的模型或其他可以跟中国开发者分享的内容吗?
Thomas Dohmke:是的。如果让 GitHub 的赞助商了解我们的新产品,并且能给我们的开发者提供赞助,需要经过特定的流程。比如如果你有了 GitHub 的账户,你就可以加入 GitHub Sponsors,有点类似于网络众筹,对你欣赏的开发者或项目进行资助,可以一次性提供也可以分段提供。另一方面,我们也会跟一些其他的开发者联系,比如中国的某些支付工具,他们也可以提供赞助。目前赞助商可以通过银行进行赞助,未来我们也会考虑其他的赞助方式。
蒋涛:对于开源项目的激励方面,区块链近来非常地火,尤其在中国。GitHub 是否有考虑使用区块链技术来作为一种激励机制
Thomas Dohmke:现在我们还没有任何使用区块链的考虑。但是我们允许开发者不仅使用我们的激励系统,也可以使用其他的激励系统,例如赞助等。在这方面,我们的方式是「多管齐下」。此外,我们也会有月度激励的计划,所有激活过账户的用户都可以参加。如果你有区块链平台和其他激励平台,你都可以加入到激励的资料库中,我们会在项目中显示「赞助」的入口,进去后不仅会显示 GitHub 的赞助,也会显示其他的赞助方式。
蒋涛:现在同时人工智能也非常地火热,我们看到已经有一些基于 AI 的辅助编程平台,比如中国的 aiXcoder,在美国也会有一些类似的项目可以基于 AI 提供代码编写辅助的功能吗?你觉得这方面未来将呈现怎么样的发展趋势?
Thomas Dohmke:我们相信未来是属于机器学习和人工智能的。我们有团队现在就在做这些,比如今天我们可以给一些代码加一些标签,例如 Python、Go 等,这些标签都是分析了你的源码或知识库后生成的。还有一个事情是,我们最近正在开发一个数据集的模型,这个模型可以允许通过自然语言来检索代码。你可以直接说你想要找哪个项目的源代码,通过自然语言处理,系统会把这段代码显示给你。我们打算把这个模型开源,其他数据集也可以使用这个数据集进行训练。
还有一个例子是,微软也在通过机器学习对源代码进行分析,理解源代码中的语义,系统可以在你敲代码的时候自动显示剩下的语句,或者显示出一些建议和推荐。总而言之,就是帮你找出你最有可能键入的那个语句。
蒋涛:那么关于 GitHub,近期有哪些计划?
Thomas Dohmke:我们会在 11 月份在旧金山举行的 GitHub Universe 大会上宣布一些新的产品功能。上个月我们发布了 GitHub Actions 作为我们的 CI/CD 解决方案。GitHub Actions 支持的操作系统从 Linux 扩展到 macOS 和 Windows,支持 Node.js、Python 以及 .NET 等,可以帮助开发者更好地开发应用。同时在 GitHub Universe 大会上我们还会发布面向 Python 和 JavaScript 的两个工具包,可以在 GitHub 的官网上了解更多信息。
蒋涛:你们有没有打算来中国举办一场大会?
Thomas Dohmke:是的,我们打算在北京、深圳举办一些 meetup,应该是在 12 月 4~6 日。明年,我们可能会开展更多的 meetup,以及跟中国的一些大学建立合作关系。
蒋涛:你已经来过中国很多次了,也去过很多地方见过很多中国的开发者,能不能跟大家分享一些你的寄语或建议?
Thomas Dohmke:这是一个很好的问题。我觉得就是「Stay hungry. Stay foolish.」(求知若饥,虚心若愚),保持学习的好奇心。开发者要学的知识很多,有大量的学习模型可以应用。中国的开源开发者跟世界顶级的开源项目开发者之间没有太大的区别,要永远对参与的项目保持激情,与世界其他开发者保持紧密协作。我们之间最大的障碍应该是时区和语言,除此之外,我们作为一个社区应该紧密合作。
我们在企业客户打交道时,分享过一些数字,其实 98% 的项目都是开源的,所以开源真的是有很大的发展空间,任何一家公司都不可能脱离软件,更不可能脱离开源。
蒋涛:Thomas 的分享很棒,大家有没有什么问题想要问 Thomas?
Q1:GitHub 是如何制定 KPI 的?
Thomas Dohmke:我们正在使用一种专门的 OKR(Objectives and Key Results,目标和关键成果)系统,这方面也会有比较详细的规则来适用于产品和开发团队。在这个系统中,当然财务目标是首先需要达到的;另一个指标就是每日和每月的活跃用户数;此外,我们开发者的满意度也是考核的关键之一;如果有新的产品功能发布,我们希望这个功能能够提升开发者的开发能力。
Q2:我是一名来自 SAP 的开发者,我们也有很多 CI/CD 的工具,我们有一位德国的架构师,他认为 GitHub 很酷,但他不是 GitHub 企业服务的用户。所以在企业服务这方面,你们的目标是什么?
Thomas Dohmke:我觉得 GitHub 最大的优点就是它的 workflow(工作流)很好,能够帮助你解决一些实际的问题,有体验良好的用户界面。另外一个优点在于,GitHub 对企业级业务的整合,企业服务可以直接在你们的系统里面进行设置。
另外,GitHub 的生态系统非常完善,我们也跟合作伙伴有很好的合作,已经在 CI/CD 方面建立了紧密的联系。我们会在日后公布更多关于这个的消息。