Linux 内核贡献成熟度模型¶
背景¶
作为 2021 年 Linux 内核维护者峰会的一部分,曾就招募内核维护者以及维护者继任方面的挑战进行了讨论。该讨论的一些结论包括,作为 Linux 内核社区一部分的公司需要允许工程师将担任维护者作为其工作的一部分,以便他们成长为受人尊敬的领导者,并最终成为内核维护者。为了支持强大的人才储备,应允许并鼓励开发人员承担上游贡献,例如审查其他人的补丁、重构内核基础设施以及编写文档。
为此,Linux 基金会技术咨询委员会 (TAB) 提出了此 Linux 内核贡献成熟度模型。这些对上游社区参与的共同期望旨在增加个体开发人员的影响力,增加组织的协作,并改善 Linux 内核生态系统的整体健康状况。
TAB 敦促各组织不断评估其开源成熟度模型,并承诺进行改进以符合该模型。为了有效,此评估应纳入来自整个组织的反馈,包括管理层和所有资历级别的开发人员。本着开源精神,我们鼓励各组织发布其评估和计划,以改善其与上游社区的互动。
级别 0¶
不允许软件工程师向 Linux 内核贡献补丁。
级别 1¶
允许软件工程师向 Linux 内核贡献补丁,无论是作为其工作职责的一部分还是在自己的时间。
级别 2¶
软件工程师应期望将其对 Linux 内核的贡献作为其工作职责的一部分。
软件工程师将获得支持,参加与 Linux 相关的会议作为其工作的一部分。
软件工程师的上游代码贡献将在晋升和绩效评估中考虑。
级别 3¶
软件工程师应期望审查补丁(包括来自其他公司工程师编写的补丁)作为其工作职责的一部分。
向 Linux 相关或学术会议(例如 Linux 基金会、Usenix、ACM 等组织的会议)贡献演示文稿或论文被视为工程师工作的一部分。
软件工程师的社区贡献将在晋升和绩效评估中考虑。
组织将定期报告其开源贡献的指标,并跟踪这些指标随时间的变化。这些指标可能仅在组织内部发布,或者由组织自行决定,部分或全部可能在外部发布。强烈建议的指标包括
团队或组织的 upstream 内核贡献数量(例如,所有向上级经理、主管或副总裁汇报的人员)。
与组织中内核开发人员总数相比,已做出上游贡献的内核开发人员的百分比。
组织服务器和/或产品中使用的内核与内部内核所基于的 upstream 内核的发布日期之间的时间间隔。
内部内核中存在的树外提交的数量。
级别 4¶
鼓励软件工程师将一部分工作时间专注于上游工作,上游工作定义为审查补丁、在项目委员会任职、改进核心项目基础设施(如编写或维护测试)、减少上游技术债务、编写文档等。
软件工程师在帮助组织 Linux 相关会议方面获得支持。
组织将在官方绩效评估中考虑社区成员的反馈。
级别 5¶
上游内核开发被认为是正式的工作职位,工程师至少三分之一的时间用于进行上游工作。
组织将积极寻求社区成员的反馈作为官方绩效评估的因素。
组织将定期内部报告上游工作与专注于直接追求业务目标的工作的比例。