成为提交者
TL;DR
- 提交者权限授予对仓库 dev/* 分支和 Perfetto CI 机器人的写入权限。
- 你不需要成为提交者就可以向 Perfetto 贡献补丁,因为你可以像在任何其他 GitHub 项目中那样从 fork 的仓库工作。
- 如果你经常为项目做贡献,拥有对 dev/* 分支的提交者权限可以使某些工作流程更容易(例如,堆叠补丁)。
- 如果你对项目有高质量贡献的良好记录,就可以成为 Perfetto 提交者。
什么是提交者
从技术上讲,提交者是可以提交自己的补丁或其他人补丁的人。提交者还可以审查来自他人的补丁,尽管所有补丁都需要由 CODEOWNER 编写或审查。
授予此权限带有一定的责任期望:提交者是关心 Perfetto 项目并希望帮助维护它并实现其目标的人。提交者不仅仅是能够进行更改的人,而是能够与团队协作、让最博学的人审查代码、贡献高质量代码并跟进解决问题(在代码或测试中)的人。
提交者是 Perfetto 项目成功的贡献者,也是帮助项目取得成功的社区公民。
成为提交者
要成为提交者,你必须至少有十个非平凡的补丁合并到 Perfetto 中,并获得现有的提交者提名你。你需要至少两名提交者,其中一名是顶级所有者,来支持提名。
我们希望看到足够的证据,表明你能够遵循 Perfetto 最佳实践,并且在不确定的情况下能够有效地寻求额外指导。也许成为提交者最重要的方面是你将能够审查和批准其他人的更改,因此我们在寻找我们认为你是否能够做好这项工作。
因此,除了实际进行代码更改之外,你基本上在展示你的:
- 对项目的承诺(10+ 个好的补丁需要大量宝贵时间)
- 与团队协作和良好沟通的能力
- 对团队工作方式的理解(策略、代码审查流程等)
- 对项目代码库和编码风格的理解
- 判断补丁何时准备好审查和提交的能力(你的工作通常不应有明显缺陷,除非你明确请求对不完整补丁的反馈)
- 编写好代码的能力(最后但绝不是最不重要的)
非平凡补丁
不幸的是,定义什么是非平凡补丁并不容易,因为一行更改可能是微妙的,而触及许多文件的更改可能仍然是平凡的。例如,或多或少机械性的更改(例如,重命名函数)可能会被认为是平凡的。
即使是很小的更改,如果得出该更改的理由或好处是非平凡的,那么该更改也是非平凡的。
如果你不确定你的工作是否符合标准,请询问现有的提交者。
提名流程
如果你认为自己可能准备好成为提交者,请询问你的 CL 的审查者之一或另一位熟悉你工作的提交者,看看他们是否会提名你。
如果是,他们通过发送一个编辑 /CONTRIBUTORS.txt 的 Committers 部分的 pull request 来提名你。
CONTRIBUTORS.txt 条目应包含以下内容:
- 姓和姓氏
- 电子邮件地址。
- GitHub 处理程序。
- 一行关于你工作领域/保留知识的描述。
pull request 注释应包含:
- 关于你应该是提交者的解释。
- 代表性合并补丁的列表。
需要另外两名提交者通过批准 PR 来支持你的提名。
我们将在提名后等待五个工作日(英国时间)进行投票和讨论。如果有讨论,我们将在讨论中的最后一条消息后再等待两个工作日(英国时间),以确保人们有时间审查提名。
如果你获得投票且没有人反对,此时你就成为提交者。如果有人反对或想要更多信息,提交者将讨论并通常会达成共识。如果问题无法解决,将在当前提交者中进行投票。
维护提交者状态
提交者社区共同努力推动项目前进对于创建值得努力工作的成功项目至关重要。如果社区内存在问题或分歧,通常可以通过公开讨论和辩论来解决。
在不愉快的事件中,提交者继续无视良好公民身份(或积极破坏项目),我们可能需要撤销该人的身份。该流程与提名新提交者的流程相同:某人提出带有充分理由的撤销,两人支持该动议,如果无法达成共识可能会进行投票。
此外,作为安全措施,如果你超过一年不活跃,我们可能会撤销你的提交者权限并从任何 OWNERS 文件中删除你的地址。这并非旨在作为惩罚,因此如果你希望在那之后继续贡献,请联系维护者请求恢复它,我们通常会这样做。
[致谢:这些内容的大部分灵感来自/复制自 Chromium、WebKit 和 Mozilla 的提交者策略。]