提交者指南
本指南是一个不断发展的文档,旨在为提交者(Committer)提供一些实用的建议。大多数内容都源自开发过程中的经验教训。我们欢迎每一位提交者为本文档作出贡献。有关提交者职责和开发流程的总体概览,请参阅 TVM 社区指南。
社区优先
社区的共同努力推动了项目的前进,并使项目对所有人都更具吸引力。在做决策时,始终牢记社区的整体利益是非常有帮助的。以下是一些可以自问的问题:
- 我该如何鼓励新的贡献者更积极地参与项目?
- 我能否帮助其他提交者节省时间?
- 我是否为其他社区成员参与设计提案提供了机会?
公开归档原则
虽然面对面或私下交流在开发过程中有其便利性,但它们也会成为更广泛社区参与的障碍。Apache 的开发方式要求所有决策都应通过公开的、可归档的渠道进行,以确保每位贡献者都可以通过阅读归档内容了解开发进展,随时参与项目。
虽然这一原则适用于所有贡献者,但对提交者尤其重要。以下是该原则的一些具体应用示例:
- 当有人通过私人渠道(如私信)提出与项目相关的问题时,鼓励他们在公共论坛上开帖,以便整个社区都能从答复中受益。
- 线下讨论结束后,应在公共渠道(如发起 RFC 或讨论帖)中总结内容并分享。
独立项目管理
在参与项目时,每个人都应以 Apache 提交者的身份参与。这意味着提交者在项目活动中应始终以项目的最大利益为出发点。将提交者身份与可能拥有的其他角色区分开来在各方面都很重要。
在参与项目时,如可能引发混淆,明确你当前所处的“身份”会很有帮助,特别是当你并非以提交者身份发言时。例如:
- 「以 [foo] 身份发言:[作为 foo 角色的发言,不代表提交者身份]。」
- 「以 Apache TVM 提交者身份发言:[作为提交者的发言内容]。」
指导 Pull Request(PR)
以下是一些帮助你指导 PR 的建议。你也可以参考 代码审查指南。
- 将 PR 分配给自己,让其他提交者知道该 PR 已经在处理。
- 使用状态标签表示当前处理进度。
- 检查是否需要提交 RFC。
- 如果贡献者尚未请求审阅者,可以礼貌地提醒对方这么做。如果是新贡献者,可以帮他们添加审阅者,并提示下次由其自行添加。
- 协调评审流程,确保评审者明确表示「批准」。
- 将 PR 标记为「已接受」,并感谢贡献者和评审者。
- 合并 PR :)
时间管理
提交者可以做很多事情,比如主持讨论、审查 PR 和贡献代码等。
参与开源项目非常有成就感,但有时也可能令人应接不暇。适当的时间管理可以缓解压力。例如,有些提交者会设定一周中的「社区日」,集中处理未完成的 PR,其余时间则减少参与频率。
请记住,你的贡献价值是不会消失的,因此请根据自己的节奏来参与项目 :)。
广泛协作
有时我们会倾向于只和熟悉的人互动,但项目的成功离不开广泛的协作。请牢记这一点,积极引导其他成员的 PR,并邀请不熟悉的社区成员参与代码审查。