GitHub 超 14,000 Star,中国又一 Apache 顶级开源项目诞生!( 二 )


但同样 , 进入Apache开源基金会的门槛可并不简单 , 特别对于国内的项目来说 , 语言和地域的障碍无疑雪上加霜 。
成功进入Apache孵化器
在2017年 , 我们把bRPC开源在GitHub上 , 定期会把百度内部的改动同步到GitHub上 , 此时bRPC主要改动的来源是百度内部 。 开源以后 , 几个核心开发者陆续离开百度 , 如何让bRPC可以长久可靠地维护下去 , 并留住项目核心人员 , 成为我们最需要考虑的首要问题 。
当时可行的方案是建立成熟的社区、培养更多的Committer和开发者 。 它的思想有点类似从SinglePointofFailure(单点故障)的团队进化成更可靠的分布式团队的模式 。 Apache软件基金会成熟的社区培育模式能够为bRPC带来新的视角和方法 , 于是我们决定把项目捐给Apache软件基金会 , 用ApacheWay来给bRPC注入新的生命力 , 希望它可以可持续发展 。
决定之后 , 我们首先需要获得百度内部管理层的许可 , 签署捐献项目所需要的文档 。 其次 , 进入孵化 , 我们需要找到一位领路人和三位导师 。 当时负责百度开源整体推进的谭中意找到bRPC项目当时的负责总监 , 完成了ApacheSoftwareGrantAgreement文件的签署 。 其后谭老师又通过各种关系 , 为我们找到了领路人和导师 。 领路人是DaveFisher , Apache软件基金会非常有名望的导师之一 , 三位导师分别是Jean-BaptisteOnofré(我们简称他为JB) , Von(冯嘉)和KevinA.McGrail , 后来Kevin因为太繁忙而中途退出 , 我们又找了Apache软件基金会中国地区的第一位女性成员——潘娟作为导师 。 他们给bRPC在建立社区和代码License规范上提供了不少的建议 。 我们也借鉴了不同开源项目的经验 , 在2018年成功发了第一个Apache(WIP)版本 。 后来的发版过程也越来越顺利 。
整个过程不在这里详细说明了 , 简单来说主要做了如下几件事情:
将所有文件的License改成Apache软件许可协议(ASL) , 并检查第三方代码是否和Apache兼容;
把所有的文档翻译成英文;
提交一份提案来申请进入Apache孵化器 。
社区之火如何燎起
提案通过之后 , 就是孵化和培养社区的过程 。 到今天 , 我们已经有由6个发版管理员发的6个正式版本 。 在今年(2023) , 还会考虑加入更多的功能发版 。
用户、贡献者、Committer和PMC的逐渐增加和多样性的变化
进入了Apache孵化器以后 , 我们面临的问题是:怎么让社区活跃进而扩大?社区的活跃对于开源项目尤为重要 , 无论是用户、贡献者还是Committer的活跃都会给项目带来收益 。 活跃的社区会带来活跃的开发者 , 活跃的开发者又促成活跃的社区 。
在初期我们很难找到合适的新人加入开发队伍 。 关键在于:开源项目不是公司项目 , 没有明确的OKR/KPI驱动 , 大家参与的动力主要是兴趣和技术驱动;C++是一门复杂的语言 , 入门门槛比较高;C++场景的多样性在慢慢变小 , 以致于不是所有开发者都知道bRPC , 也就没办法参与 。
针对上面这些问题我们也采取了一些措施来尝试解决 。
对于第一点 , 当时没有很好的解决办法 , 靠谱的方式是把社区建好和文章写好 , 可以吸引更多的开发者和用户 。 我们相信好的项目自然会吸引更多的开发者参与进来 , 事实也证明了这一点 。 当然也做了一些的运营活动来帮助推广 。
对于第二点 , 我们写了入门文档(https://brpc.apache.org/zh/docs/getting_started/) , 以及在GitHub上标注了GoodFirstIssue(对新人友好的issues)方便开发者提交一些基本的代码和完成整个提交流程 。 我们还举行了若干个线下的活动 。