Apache:GitHub 标星 10,000+,Apache 顶级项目 ShardingSphere 的开源之路( 三 )


第三位 mentor 则是由 Apache RocketMQ 的核心成员冯嘉担任;最后由 Roman Shaposhnik 担任项目的 Champion , 为项目寻找导师之旅画上完美句号 。 至今还记得我们当时的欣喜和激动 。 之前的无助、徘徊、失落在这一瞬间柳暗花明 。
每个进入 Apache 基金会的项目 , 一定都有自己的故事 。 尤其对于中国的项目来说 , 语言与地域的障碍会让我们更加艰难 。 好在有越来越多的来自于中国的项目进入了 Apache 基金会 , 也能看到越来越多的华人活跃在 Apache 的邮件列表里 , 还有 ALC Beijing 的建立让参与门槛不断降低 , 这对想要参与的国内朋友来说 , 确实是个 good news!
Apache:GitHub 标星 10,000+,Apache 顶级项目 ShardingSphere 的开源之路
本文插图

进入 Apache 孵化器
为了正式进入 Apache 孵化器 , 项目代码、社区、文档等都需要进行一系列的规范和整理 。 这确实是个琐碎但很重要的事情 。

  • 代码层面 , 合规操作是首要原则 。 我们梳理第三方依赖的许可协议 , 确保满足 Apache 软件许可协议(ASL)合规的要求;
  • 社区方面 , 我们开始由中文转变成英文;
  • 文档方面则需要我们准备英文文档 , 并准备相关的 proposal 。
由于项目最开始的目标就是进入 Apache 基金会 , 所以在项目初期 , 依赖就尽可能地简单 , 社区相对规范 , 文档在不断翻译 。 不打无准备之仗 , 这些提前的准备让这部分工作进展顺利 , 而项目获得 Apache 域名的那一刻 , 大家才真切感受到所有付出得到了最有价值的回报 。
除了学习写规范代码 , 团队成员也开始学习 Apache 的规范、运作方式、英文沟通渠道等细节 。 我们开始了解到如何关注社区 , 什么是 consensus decision , 如何用异步方式进行邮件沟通 。 特别是邮件列表的学习非常重要 , 你可以在其中找到历史问题记录、合规的解决方案、优秀的案例等 。
Apache:GitHub 标星 10,000+,Apache 顶级项目 ShardingSphere 的开源之路
本文插图

Apache way 的探索
很多人认为只要代码开放 , 就叫做开源 。 但其实 , 这仅仅只是开源旅程的第一步 。
如何构建一个活跃的社区 , 如何理解 Apache way , 是一个更为重要的话题 。 ShardingSphere 在进入 Apache 孵化器初期并未能完全理解 Apache way , 并且由于过度注重代码风格 , 以至于参与门槛较高、社区活跃度平平 。
起初 , 我们并不知道问题出在哪里 , 迷茫了很长一段时间 , 直到在跟 Apache 的 member 不断交流的过程中才渐渐意识到问题所在 , 因此社区发起了有关 committer bar 的讨论 , 见图 1-2 。 这是社区建设之路的转折点 , 因为从此 community over code 的理念开始逐渐渗入人心 , 并指导我们的行动 。
Apache:GitHub 标星 10,000+,Apache 顶级项目 ShardingSphere 的开源之路
本文插图

1-2 Committer bar 讨论邮件
仔细阅读 Apache way 的关注点:
Earned Authority, Community of Peers, Open Communications, Consensus Decision Making, Responsible Oversight
你会发现它一直在强调合规、开放、平等、协作 , 为的就是建立合规且活跃的项目社区 , 尽可能地做到让更多的人参与 , 平等沟通 , 推动项目发展 , 促进个人成长 。 秉持这个理念 , ShardingSphere 开始在多维度进行调整: