如何成为 Apache 项目的 Committer

对于很多在公司维护开源项目的工程师来说,成为 Apache 项目的 committer 应该是很多人的一个小梦想,那么怎么才能成为一位 committer,对于一些比较成熟的项目,现在想成为 committer 是有一定的难度,但也不是不可能。

How can I become an Apache committer? 这个问题在 Quora 上也引起了一些讨论,本文也是看了哪些点赞比较多的答案之后的一些简单总结,也督促自己能够按照别人的建议去践行,实现自己的一个小 dream。

What does Committer mean : 如果你成为了一个项目的 committer,那么意味着你对这个工程已经有了非常深入的理解,你所提交的代码你能清楚地知道它不会对工程的其他地方带来不好的影响、能够兼容之前的功能;

Who decides on committer status : 每一个 Apache 项目是由一个项目管理委员会(Project Management Committee, PMC)来负责的。当一个 PMC 提名一位 committer 时,会由 PMC 的成员们来投票决定这个 contributor 是否达到 committer 的要求;

上面是对 committer 简单的说明,那么如何才能成为一位 committer 呢?

  1. Motivation : 你应该对这个项目中别人提出的问题保持一个积极的态度,如果你认为这个问题是需要解决的,那你自然而然就会去解决这个问题了;
  2. Attention to detail : Apache 的项目都有一个非常高的代码质量要求,在提交一个 pr 时,你应该确保改动的代码是不会由潜在的 bug 的,并且需要写适当的测试对代码变更部分。先从小处着手,关注代码的每一个细节:代码中使用的数据结构、测试是否有异常情况及边界情况的测试等。如果你能够按照这个标准要求自己,那么 committer 在 view 你的代码时,就不会花费太长的时间,久而久之,就会对你慢慢有了一直信任感;
  3. Activity in the community: 你应该积极地关注社区,把自己的邮箱加入到 mailing list,review 其他 contributor 的代码,提出一些建议。如果有新的 feature 或设计的变动在讨论,尽量加入到这些讨论中,即使你的建议不是很出色,也没有关系。这样做的好处是你开始密切关注社区的讨论、跟着项目的最新进展;
  4. Volunteer : Apache 项目有很多与其相关的项目需要 volunteer,如:季度报告、代码发版文档、说明文档等,你应该积极参与其中。

当然不同的项目成为 committer 的要求是不同的,但是上面这四条是比较通用,任何一个项目的 committer 都有上面这几个基本要求。

近段时间听了大沙的一次直播,关于如何成为 Committer,大沙有以下几点建议(与上面的类似,内容上更具体一些):

  1. 关注社区的问题、讨论,读源码,看看自己能不能解决这个问题,如果不能解决,关注这个 issue,看别人怎么解决这个问题,看别人怎么 review code、怎么解决问题;
  2. 当你能够 review 大量的 code,对一个功能比较熟悉,相当于一个 master,那么你离 committer 就非常近了;
  3. 这需要耐心和时间。

你可能感兴趣的:(如何成为 Apache 项目的 Committer)