英語

Linux 核心貢獻成熟度模型

背景

作為 2021 年 Linux 核心維護者峰會的一部分,曾進行了一次討論,內容涉及招募核心維護者以及維護者繼任方面的挑戰。該討論的一些結論包括,作為 Linux 核心社群一部分的公司需要允許工程師將維護者工作作為其職責的一部分,以便他們能夠成長為受人尊敬的領導者,並最終成為核心維護者。為了支援強大的人才儲備,應該允許並鼓勵開發者承擔上游貢獻,例如審查他人的補丁、重構核心基礎設施和編寫文件。

為此,Linux 基金會技術諮詢委員會(TAB)提出了這份 Linux 核心貢獻成熟度模型。這些關於上游社群參與的共同期望旨在提高個人開發者的影響力,增強組織的協作,並改善 Linux 核心生態系統的整體健康狀況。

技術諮詢委員會(TAB)敦促各組織持續評估其開源成熟度模型,並致力於改進以符合此模型。為了有效,此評估應納入組織內各層級(包括管理層和所有資深級別的開發者)的反饋。本著開源的精神,我們鼓勵各組織釋出其評估結果和改進與上游社群互動關係的計劃。

級別 0

  • 不允許軟體工程師向 Linux 核心貢獻補丁。

級別 1

  • 允許軟體工程師向 Linux 核心貢獻補丁,作為其工作職責的一部分或利用其個人時間。

級別 2

  • 軟體工程師應將其對 Linux 核心的貢獻作為其工作職責的一部分。

  • 軟體工程師將獲得支援,作為其工作的一部分參加與 Linux 相關的會議。

  • 軟體工程師的上游程式碼貢獻將在晉升和績效評估中予以考慮。

級別 3

  • 軟體工程師應將審查補丁(包括其他公司工程師編寫的補丁)作為其工作職責的一部分。

  • 向與 Linux 相關或學術會議(例如由 Linux 基金會、Usenix、ACM 等組織)貢獻簡報或論文,被視為工程師工作的一部分。

  • 軟體工程師的社群貢獻將在晉升和績效評估中予以考慮。

  • 組織將定期報告其開源貢獻的指標並隨時間跟蹤這些指標。這些指標可能僅在組織內部發布,或由組織自行決定,部分或全部可能對外發布。強烈建議的指標包括:

    • 團隊或組織的上游核心貢獻數量(例如,向經理、總監或副總裁彙報的所有人員)。

    • 在組織內,已進行上游貢獻的核心開發者佔核心開發者總數的百分比。

    • 組織伺服器和/或產品中使用的核心與內部核心所基於的上游核心釋出日期之間的時間間隔。

    • 內部核心中存在的非主線提交數量。

級別 4

  • 鼓勵軟體工程師將一部分工作時間專注於上游工作,上游工作定義為審查補丁、在程式委員會任職、改進核心專案基礎設施(如編寫或維護測試)、減少上游技術債務、編寫文件等。

  • 軟體工程師在協助組織與 Linux 相關的會議方面獲得支援。

  • 組織將在正式績效評估中考慮社群成員的反饋。

級別 5

  • 上游核心開發被視為一個正式的職位,工程師至少有三分之一的時間用於上游工作。

  • 組織將積極徵求社群成員的反饋,作為正式績效評估的一個因素。

  • 組織將定期內部報告上游工作與直接追求業務目標的工作之間的比例。