Bus Factor 1 Is Not a Secret
Most small open-source projects pretend to have a team. We just shipped governance docs that openly disclose ATR is a single-maintainer project — and explain how that constrains decision-making.
我們剛為 AI RMF OSCAL catalog 和 ATR rules 兩個 repo ship 了 CONTRIBUTING.md、MAINTAINERS.md、SECURITY.md。MAINTAINERS.md 裡面最顯眼的一句話,我們琢磨了一陣子:
> Bus factor 目前 = 1。我們正在積極招募額外 maintainer。
大多數小型開源安全專案不會大聲講這件事。它們用複數代名詞(「我們的團隊」、「我們」),在 README 上掛 2-3 個一年沒 commit 的名字,然後祈禱沒人問。這招撐得住 — 直到有真正採購要求的下游用戶開始問。然後可信度懸崖就回不來了。
COI(利益衝突)聲明
MAINTAINERS.md 也包含明確的 COI 宣告:
> 維護者(Adam Lin)同時是 PanGuard AI 的創辦人 — 這是使用 ATR 規則的商業產品。ATR 依公開的 GOVERNANCE.md,永久維持 MIT 授權。維護者在「廠商利益可能實質影響 catalog 內容」的決策中迴避 — 例如,有提案要在 NIST control 中加入 ATR 特定的指引。
這不是法律掩護。這是日常運作規則。當有貢獻者提 PR,內容會把 catalog 文字向 PanGuard 掃描器有利的方向偏,維護者就從審查中退出,決策走公開評論流程。
Bus Factor = 1 下的決策
治理文件寫明三條路徑:
- ●例行修正(typo、broken link、schema 一致的非內容變更):單一 maintainer 審查。
- ●實質變更(新 control、profile 結構改動、分類法更新):公開討論 7 天,在對應 issue,加 lazy consensus。
- ●破壞性變更(schema 遷移、棄用識別碼、major version bump):2 位 maintainer 同意,或 14 天公開評論(若只有 1 位 maintainer)。
Bus factor = 1 不代表單方面決定。它代表實質與破壞性變更被強制推到公開、有時間窗口的流程。
通往 Bus Factor 2+ 的路徑
我們正在積極招募。路徑已公開:
- ●3 個以上已合併的 PR
- ●8 週積極參與(審 PR、回 issue、出席每月社群會議)
- ●現有 maintainer 共識通過
這不是俱樂部式的篩選。這是學會 catalog 編輯慣例的時間 — 學會到不會因為衝太快而造成傷害的程度。
為什麼要公開講
兩個理由。第一,下游用戶 — 接觸聯邦合規的團隊、整合 ATR 規則的安全廠商、做第三方風險評估的人 — 拿到專案韌性的準確圖像。他們可以圍繞它做規劃(鏡像 repo、釘版本、貢獻一位 maintainer)。
第二,另一個選擇更糟。隱藏 bus factor = 1 的專案,第一個發現的審查人就會把它寫成「單點失敗」敘事。誠實先講,把同樣的事實重構成透明度的優點。