采访嘉宾 | 姚维

作者 | 夕颜

出品 | AI科技大本营(ID:rgznai100)

年前,企业级开源软件服务供应商 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 之后,姚维从一线写代码做内核开发,一路成长,目前负责 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 组等技术团队,现在主要聚焦在社区生态开拓和开源社区治理等领域。

更多精彩推荐
☞读懂深度迁移学习,看这文就够了 | 赠书
☞『带你学AI』一文带你搞懂OCR识别算法CRNN:解析+源码
☞龙泉寺贤超法师:用 AI 为古籍经书识别、断句、翻译
☞微信十周年,腾讯晒成绩单了!
点分享点收藏点点赞点在看

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

  1. Github标星超7k!从零开始,最简明扼要的数据科学学习路径(附高效免费小工具)...

    点击上方"涛哥聊Python",选择"星标"公众号 重磅干货,第一时间送达 来源:大数据文摘 大数据文摘出品 作者:蒋宝尚 试图入门一个新话题时,多数人会感到不 ...

  2. Github标星超7k!从零开始,最简明扼要的数据科学学习路径

    大数据文摘出品  作者:蒋宝尚 试图入门一个新话题时,多数人会感到不知所措?这时候,一份明确的学习路径可以帮你去除这一焦虑.数据科学当然也有这样一套路径. 一周前在Github上出现的一份超高赞贴就总 ...

  3. python抢票脚本github_GitHub标星超12K,抢票神器大更新,支持候补!

    原标题:GitHub标星超12K,抢票神器大更新,支持候补! " 掐指一算,距离国庆黄金周还有半个月的时间!你出行的车票都抢到了吗? 图片来自 pexels 根据国务院办公厅发布的关于 20 ...

  4. 【干货】Github标星1.2K,Visual Transformer 最全最新资源,包含期刊、顶会论文

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨梁定康 编辑丨极市平台 导读 给大家分享一个超全面的visua ...

  5. python抢票代码_GitHub标星超12K,抢票神器大更新,支持候补

    掐指一算,距离国庆黄金周还有半个月的时间!你出行的车票都抢到了吗? 图片来自 pexels 根据国务院办公厅发布的关于 2019 年部分节假日安排的通知,国庆放假安排是:10 月 1 日至 7 日. ...

  6. GitHub 标星 1.6w+,我发现了一个宝藏项目,推荐大家学习

    GitHub 标星 1.6w+,我发现了一个宝藏项目,推荐大家学习 本文链接:https://blog.csdn.net/u013486414/article/details/103274892 大家 ...

  7. Github | 标星20k+ Facebook 开源高效词表征学习库fastText

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :https://githu ...

  8. Github | 标星3W+ ! Face Recognition世界上最简洁的人脸识别库!

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :Github [人工智能资 ...

  9. Github | 标星9W+如何准备谷歌面试?

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :Github https: ...

最新文章

  1. 怎样使windows上的javaWEB项目公布到Centos上
  2. js 函数定义三种方式
  3. Leetcode 剑指 Offer 57 - II. 和为s的连续正数序列 (每日一题 20210809)
  4. mysql 日期_Mysql数据库常见函数(下)——日期时间函数
  5. chromium浏览器_微软将全面向Windows 10用户推送Chromium版Edge浏览器
  6. python如何控制程序_Python 控制程式执行流程
  7. 构建根文件系统(2)Busybox init 进程
  8. 回归分析什么时候取对数_冬蜜什么时候取,冬天取蜂蜜的方法
  9. 荣耀9X的AI得分第一:这只是达芬奇架构的冰山一角
  10. 计算机组成原理课后习题答案(第五版白中英)
  11. linux能运行关关采集器吗,杰奇linux采集器,基本能用且速度还行
  12. 基于STM32(F103ZE)的LD3320语音控制系统
  13. keilC51和MDK_ARM的安装与兼容及LED点亮实验
  14. 数据分析实战项目--链家租房数据可视化分析
  15. 关于生成树的一些小东西
  16. 读书笔记:《关于上班这件事--自序·朱德庸》
  17. Golang的文件处理方式-常见的读写
  18. Web前端 HTML Day_01
  19. 深圳Java培训:相伴java,感受spring
  20. Android系统开机到Launcher启动流程分析

热门文章

  1. 如何简单计算patch代码变化量?
  2. STM32+Air202+Air530+HXDZ-30102-ACC心率血氧GPS采集上传到阿里云
  3. 想换4K显示器了?那你搞懂啥是4K了吗?
  4. C#与三菱FX5U PLC以太网通讯
  5. Sasha and a Bit of Relax K倍区间 (前缀和异或 前缀和计数 思维)
  6. android软件无法联网,关于android软件wifi联网无法使用的问题
  7. adb 禁止app联网_通过ADB启用和禁用系统应用
  8. 迅雷因版权问题不能访问
  9. 安卓9可用的性能监视器_监视应用程序生态系统的性能和可用性
  10. vite postcss