GitHub 标星超 26600,TiDB 社区运营的道与术!

百家 作者:PingCAP 2021-01-28 19:35:26
年前,企业级开源软件服务供应商 PingCAP 宣布完成 2.7 亿美元的 D 轮融资,创造了全球数据库历史新的里程碑,也为这家成立并不久(2015 年)却已在海内外已有名气的数据库厂商注入了新的活力。
在国内外的各种榜单上,PingCAP 的产品都有了一定的知名度和影响力。在国内墨天轮对国产数据库的排名中,PingCAP 一手打造,也是其最核心的分布式数据库产品 TiDB,自 2020 年 1 月起至今已经连续霸榜冠军达 13 个月之久。

在全球范围内,PingCAP 已经向包括中国、美国、欧洲、日本、东南亚等国家和地区,超过 1500 家企业提供服务,涉及金融、运营商、制造、零售、互联网、政府等多个行业。在最能体现企业技术研发能力的 GitHub 上,TiDB 目前已总计获得超过 26600 颗星,超过 1200 位开源代码贡献者,参与企业包括美团、知乎、伴鱼、丰巢、小米、微众银行、UCloud、Zoom、Samsung、Square、PayPay 等,TiDB 已成为全球基础软件领域的知名开源项目。

TiDB 之所以能够获得这样的影响力,与其背后高度活跃的开源社区紧密相关,完整的『用户——产品——Contributor 』社区飞轮也形成了 TiDB 独具特色运营模式。
TiDB 社区有何运营之道?为什么能够成为国内少数几个高度活跃的开发者社区?PingCAP 社区事业部总经理姚维与 AI 科技大本营对话,对外分享了 TiDB 社区的治理之道,及对开源的独到见解。

一个技术创业者与 TiDB 的渊源


在加入 PingCAP 之前,姚维是一个典型的技术创业者。最初姚维创业,就想要做一个安卓推送系统,靠卖基础设施赚钱,然而很遗憾,由于种种原因,姚维这次创业最终以失败告终。
这次创业失败后,姚维加入 360,做起了技术架构方面的工作,负责当时在中国很有名的开源项目——Atlas(MySQL 中间件服务)。这个项目与当时 PingCAP 创始人刘奇、黄东旭和崔秋在做的 TiDB 目标相同,都是为了解决 MySQL 扩展性和局限性问题,比如  MySQL 不支持跨节点事务,运维很不方便,可能出现热点的单片等很难解决等问题。作为 TiDB 最早的 contributor 之一,姚维与 PingCAP 的缘分就此展开。

姚维 | PingCAP 社区事业部总经理

加入 PingCAP 之后,姚维从一线写代码做内核开发,一路成长,目前负责 TiDB 社区管理。从一线技术到社区管理,姚维的工作内容发生了很多改变,精力也从之前写代码转移到社区的运营和治理中来。


TiDB 开源社区为什么能壮大?


以开发者为中心,是社区不断壮大的基础。比如不久刚结束的 TiDB Hackathon ,就被誉为『开发者的春晚』》。这次赛事吸引了海内外数千名技术爱好者参加,围绕 TiDB 提交了各种各样有创意性的作品。其中,最让姚维印象深刻,也是作为彩蛋出现的 TiCockpit(滑滑蛋)。
TiCockpit 是一款虚拟现实运维套件,像一个驾驶舱一样,它让 DBA 能够使用 VR 设备直观地观测 TiDB 集群的指标, 带给开发者沉浸式的运维体验,和直观的操作反馈。

遗憾的是,这个作品虽然趣味性强,但是与获奖作品相比,落地性和实用性还是有所差距,因此并未获奖。但这种大开脑洞的方案,为优化 TiDB 提出更好的思路,这也是 TiDB 举办 Hackathon 的意义所在。
有人说 TiDB 是一家 Hackathon 驱动的公司,正是因为 TiDB 的 Hackathon 是从社区出发,尊重每一个开发者的创意和想法,给他们充分的自由和空间,开发者才会为 TiDB 的贡献出源源不断的灵感,创造出无限可能。
从成立到现在,TiDB 社区已经获得 26,600+ Stars 、1200+ Contributors,以及众多海外贡献者,在 CNCF 2020 全球贡献榜中,PingCAP 排名第六,在国内企业中贡献排名第一。

PingCAP 开源社区为什么能壮大?姚维分享了其在开源社区运营中的经验。
以 TiDB 社区为例,他认为 PingCAP 开源社区壮大的根本原因,在于其更注重人的体验,更关注人和社区中的每一个人的荣誉感和参与感。一般做开发者社区有这样几种方法,一种是从顶向下,通过渠道和宣传吸引开发者;一种是从底向上的方法,这也是 PingCAP 现在所采用的方式,更关注社区开发者的进阶和每个阶段能做的事情与遇到的障碍,并通过荣誉上的激励和组织建设,给社区用户好的体验,从而达到口口相传,获得传播的目的。
无论是开发者还是用户组,TiDB 社区都会为进阶的贡献者准备对应的荣誉体系。比如开发者在社区中可以沿着 Contributor,Reviewer,Committer,Maintainer 的成长路径。用户组成员可以成为 MVA(Most Valuable Advocate),MOA (Most Outstanding Advocate)等等。通过设计社区的参与规则和进阶规则,让贡献者们能够按照规则不断有升级打怪的感觉。
同时,TiDB 社区还参考其他社区的玩法,设立相应的 SIG(Special Interest Group)。让不同兴趣爱好的人能够在一个相对垂直的小组里面找到同好,也让彼此之间的协作更加紧密。
对社区而言,透明、公开、信任是基础。所以 TiDB 社区中,包括技术方案,社区决策在内的讨论,都是公开、透明的,所有的内容都会通过邮件组 lists.tidb.io 中进行展示及落地。TiDB 社区之前尝试过多种讨论的承载平台,包括 GitHub、Slack、微信群,最终还是坚持了国际通用的邮件组方式,因为这种方式给异步工作以及讨论回溯带来非常好的用户体验。
另外,为了降低参与社区的门槛, TiDB 还会为贡献者们设计一些针对性的课程,手把手的教大家学会开发和使用 TiDB,这些课程包括面向开发者的 Talent Plan,和面向使用者的 PCTA,PCTP 培训等课程。

项目治理要避免自嗨

 
在 TiDB 开源项目的治理中,姚维也积累了一些自己的经验。
姚维认为,开源项目治理最重要一件事,是要避免自嗨。比如看到 Apache 基金会、Linux 基金会、CNCF 基金会都有详细的规则规范,新的开源项目上来就想照搬经验,大概率是会失败的。因为这些开源社区的规则,是根据各自社群的特点制定运转的,协作和组织的方式有各自的特点,不一定是适用于所有开源社区。姚维认为,可以借鉴已经做得很完善的开源社区的治理规则,但切记生搬硬套。TiDB 在开源项目治理中就借鉴了很多优秀开源社区的项目治理经验,比如 Apache、Kubernetes、Linux 等,但是在面对国内开发者群体时,还是会根据国内的人群特有的一些习惯来做本地化。

做国际化的社区


另一个值得注意的问题是,通常在国内做开源社区时,大家会把做国内和海外分得特别清楚,但 PingCAP 似乎没有考虑过这个问题,他们更多地是思考如何做一个国际化的开源社区,因此并没有专门设计一套国内开发者规则,而是从全球化的角度,适应国际化的需求。这也是 PingCAP 在运营 TiDB 时所坚持的一点,避免把它做成一个只属于中国的社区。
提到国际化,怎样做才能免去国际化过程中的障碍, PingCAP 也做了一些尝试。比如在运营上,国内社区的主阵地通常是微信群、钉钉群和 QQ 群等社交平台,但这种方式对于海外协作不够友好。因此, PingCAP 优先 Slack 的运营,技术讨论也建议开发者在邮件组中进行,这样有利于回溯讨论背景,而微信群等国内社交平台,则作为活动通知和关系维护的渠道而存在。
姚维还特意提到,在国内做社区,中文和英文也是一定会面临的问题,TiDB  也参考 Apache Flink 的做法。Flink 是 Apache 邮件组中唯一一个有中文邮件组的,他们会把中文的讨论放在中文邮件组中,而默认的 dev 邮件列表是英文为主。这样,中文和英文的沟通问题可以得到比较好的解决。

开源与商业化


TiDB 是一个开源社区,如何在开源的基础上获得商业上的收益,是 TiDB 和所有社区运营者都在思考的问题,也是业界探讨已久的一个话题。
很多时候大家可能会认为,开源就意味着免费,开源与商业化背道而驰。但实践证明,其实开源与商业化并非一对矛盾体。
姚维分析道,关于开源与商业化的共赢共存模式,已经历过数次迭代。在 Linux 这一代的潮流中,开源的概念在当时并没有很多人关注,大家更多地是讲免费与自由。接下来,红帽进行了典型的商业化尝试,模式基本上是出售服务和品牌。但在姚维看来,相对于微软和 Oracle,红帽在开源商业化上的尝试仅仅算是不温不火的成功。
到第二代,出现了 Open Core 模式,比如 MongoDB,ElasticSearch 等等。再到最近这些年,开源与云产生联系。云带来了类似于 SaaS 的规模化效应方式,云+开源成为一种更好的商业模式。
PingCAP 从来不担心开源与免费之间的冲突,而是认为只有符合经济学意义上的开源,才是一种可持续的模式。

PingCAP 的开源之道


开源是 PingCAP 从创立之初就坚持的企业发展战略,认为开源是当前全球化背景下基础软件领域成功的唯一道路。
开源与商业并不冲突。坚持开源的 PingCAP,迄今为止从开源中也得到了一些实实在在的收益。
谈及此,姚维提到了埃里克·斯蒂芬·雷蒙在《大教堂和市集》中写到的大教堂模式(The Cathedral model):源代码在软件发行后公开,但在软件的每个版本开发过程中是由一个专属的团队所控管的),姚维也非常认可开源的“集市”模式。他认为,这种集中式、有规划的开发模式的优势,就在于有足够多的眼睛帮你发现复杂系统中隐藏的,根本不可能由开发者自己或测试人员发现的问题,由此带来的高速迭代,是“大教堂”方式开发的软件所不能比拟的。

(大教堂和市集封面,来源:维基百科)
这是 PingCAP 坚持开源的原因之一,而开源所带来的收益,PingCAP 也可以切身感受到。比如对于 PingCAP 产品的发展的推动,短短几年之内,TiDB 就发展成如今这样的成熟产品。
第二个收益,是开源这种更加开放的文化,为 PingCAP 内部的决策和组织形式带来很多帮助。红帽总裁兼 CEO Jim Whitehurst 在出版的《开放式组织》一书中,曾详细解析了这家公司是如何在公司范围内收集所有人的建议作为决策依据的机制,呼吁企业组织从 20 世纪传统的管理模式中解放出来,拥抱开放式组织模式。受到感染,PingCAP 也在践行类似的文化,比如此次举办的黑客马拉松,初版的整体设计机制,就是通过开源社区的反馈和意见来决策的,初赛和最终决赛的赛制,也是一名社区成员提出的。这种公开、开放的文化对于工程师来说是友好的,因为工程师就是一个喜欢公开透明、开放的群体,PingCAP 的开源文化,成为其招揽优秀工程师的重要因素。
第三个就是商业和市场上的收益,开源使得 PingCAP 的每一次测评都会吸引大量开发者参与,甚至自发写下体验文章,无形中,用户和开发者的背书提高了 PingCAP 产品的可信度,商业上的效益自然随之而来。
当然,开源也为 PingCAP 带来互联网公司对其技术栈的信任,能够被技术能力较强的互联网公司用起来的技术栈,通常代表着下一代技术的发展方向,如果不开源,这些产品可能到不了这些互联网公司的面前。
从此次采访中,姚维对外界分享了开源社区运营上的独到见解,相信对于国内类似开源社区来说也是一个不错的借鉴。可以看到,作为一家企业级开源软件服务提供商,PingCAP 志在全球,开源开放的态度对于其构建国际化生态体系,显然大有裨益,无论是口碑建设还是商业收益,通过社区兼收并蓄海内外开发者的优势和长处,都会让 PingCAP 走得更远。

采访嘉宾:

姚维,PingCAP 社区事业部总经理。曾在奇虎 360 基础架构组负责开源 MySQL 中间件 Atlas, 2012 年创业做过安卓推送系统聚能推。加入 PingCAP 后曾带领 TiDB SQL Infra 组,TiKV 事务组,PD 组等技术团队,现在主要聚焦在社区生态开拓和开源社区治理等领域。


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接