2.8 Contribution Map
2.8.1 Contribution Map 的由来
TiDB 是一个开源的分布式数据库,目前(2020.3.7)在 GitHub 上有 22.7K 个 star,是分布式数据库领域关注度非常高的一个项目,目前有 400 多个 contributors 参与了该项目的贡献,可以说 TiDB 是一个在大家的共同努力下成长起来了项目。为了能让更多的人方便地参与 TiDB 及其周边的项目,我们制作了 Contribution Map。Contribution Map 致力于解决下面几个潜在 contributor 经常会碰到的问题:
- 如何快速找到自己感兴趣的模块?Contribution Map 对各个项目的各个模块进行了描述,并且提供了对应模块的源码路径,这样 contributor 就能很方便地找到自己感兴趣的模块。
- 不知道自己能做什么贡献?Contribution Map 将各个模块的任务会不定期地更新到 What I Can Contribute 那一列,contributor 能快速找到对应模块的任务。
- 暂时不具备贡献所需要的技能,该学习哪些资料?Contribution Map 的 Learning Materials 列列出了如果 contributor 不具备相关的技能可以通过学习哪些资料来提升自己的技能,以达到能够贡献的水平。
- 如何在特定的领域进行进阶提升?可以参考 Contribution Map 的 SIG(Special Interest Group)一节,加入特定的兴趣小组,和兴趣相投的一批人来一起在某个领域进行提升。每个 SIG 会有对应的 tech-lead 和 mentors 来维护和更新每个 SIG 的任务,并帮助大家进行提升。大家可以在 TiDB community 和 TiKV community 来查看各个 SIG 的详细信息。
2.8.2 Contribution Map 解读
下面我们来看下 Contribution Map 的大概结构。开头部分是各个项目的索引,包含了各个项目的简单说明,比如 TiDB 是一个开源的兼容 MySQL 协议的分布式 HTAP 数据库,TiKV 是分布式的事务 KV 数据库等等。
接下来就是每个项目各个模块更详细的介绍,主要分为 6 部分:模块描述;代码位置;如果想要在该模块进行贡献需要具备哪些技能;相关的学习资料;该模块的任务列表;贡献指南。下图展示的是 TiKV 项目各个模块的描述代码位置等:
Contribution Map 仍然在持续完善中,会将越来越多的相关内容包含进来,希望能帮助到更多的 contributors。