Missed the Summit on 17-18 Nov? Watch the videos here!

确保产品质量

让我们从与Trusted Committer角色最经常相关的责任开始讨论:确保产品质量。

在InnerSource社区中,Trusted Committer拥有所有与技术有关的决策权,尤其是与产品质量有关的决策权。这意味着他们需要确保社区内成员在遵循这些决策。这包括在社区内部和外部进行交流,并在必要时公示这些决策。但是,Trusted Committer并不一定要自己做出所有与技术相关的决定,也不一定要负责所有的执行工作。

Trusted Committer的工作是在其社区中交流和阐明质量标准,并以 贡献者(Contributor)可理解和可操作的方式制定这些标准。这其中当然会包括书写文档,但是我们认为可信提交者传达这些质量标准的最有效方法是举例子。我们认为,InnerSource社区尝试将自己与传统软件开发项目区分开来,不仅在于他们组织开发的方式,而且还包括他们生产的软件的质量,这是一个非常有价值的目标。高水平的软件质量对于在InnerSource社区中建立和维持部分用户及其管理层的信任至关重要。我们都知道低质量的发布是会打击人们对社区的信任感的。

Trusted Committer还需要确保社区拥有生产高质量软件所需的基础结构和工具。同行评审通常会作为拉取请求(PRs)的一部分,通常用于确保质量。尽管每个人都可以通过提出重要的进展来启动和参与项目,但是通常只有Trusted Committer才能最终接受、合并或拒绝贡献。这就是我们早先所说的“Trusted Committer可以将代码推向生产环境”的意思。Trusted Committer还应该在PR期间确认贡献者不要超过截止日期进行贡献。

也就是说,实现这一目标最终是 贡献者(Contributor)的工作。Trusted Committer的工作不是默认接受所有贡献,而仅接受在质量和范围方面符合定义标准的贡献。Trusted Committer应避免重写贡献者的代码去让它们尽可能符合规定,即使这意味着要花费更多时间在PR中为 贡献者(Contributor)提供支持。Trusted Committer应具有长远的眼光,并了解这种支持是对社区的一种长期投资,从长远来看,它将提高社区的发展速度。

有时项目需求或限制不是都能预先设计的,而是在开发过程中被发现的。Trusted Committer还会负责为 产品所有者(Product Owner)和贡献者(Contributor)捕获并记录这些发现。

但是,Trusted Committer在控制质量方面的权限超出了普通PR的范围。Trusted Committer从战略角度考虑质量,并确保所构建软件的长期生命力。从确保代码的整洁到维护整个软件的概念完整性,这涉及到面向整体代码的责任。还需要完成面向管理的任务,例如确保给社区足够的时间来重构其软件,或者在需要时为支持质量改进而推迟发布日期。Trusted Committer的工作效率与代码健康状况密切相关。

如果没有后者,则Trusted Committer将不得不花费大量宝贵的时间记录错误或在脆弱的体系结构和验证解决办法,并且将会没有足够的时间花在发展和指导 贡献者(Contributor)上。

总而言之,确保产品质量是Trusted Committer的关键责任。他们设定质量标准并以身作则。他们参与PR并帮助 贡献者(Contributor)达到质量标准。并且还需要负责维护软件的长期健康。

Contributors