Debian 如何投票?General Resolution 運作方式
Debian 約 1000 名 Developers 以排序投票制定政策。了解 General Resolution 如何提案、附議、計票,以及何時影響你的伺服器。
誰決定 Debian 的內容
Debian General Resolution (GR) 是整個專案的投票機制,用來處理政策問題,而不是將決定權留給單一人士。具備投票資格的是 Debian Developers,約有 1000 人。選票採排序投票,且一定包含一個沒有人提出的選項:「以上皆非」。這個選項可能勝過選票上的所有提案;若確實如此,專案作出的決定就是不作決定。
這些內容都不是傳聞。Debian Constitution 明確規定誰可以決定哪些事項、提案如何進入投票、票數如何計算,以及哪些決定需要超過簡單多數。在選擇伺服器使用的 distribution 前,值得先閱讀這份文件,因為其中說明政策變更如何影響你的機器,以及你能提前多久得知相關變更。
憲章及其修正的問題
Debian 於 1998 年 12 月 2 日批准 1.0 版憲章。目前有效的版本是 1.9 版,於 2022 年 3 月 26 日批准。文件頂端列出所有較早的版本,因為變更憲章的唯一方式,就是依照憲章所述進行表決。
這裡有四個重要角色。Developer 共同行使最終權限。Debian Project Leader (DPL) 每年選出。Technical Committee (TC) 裁決維護者之間的技術爭議。Project Secretary 負責執行表決並裁定程序問題。
第 4.1 節列出 Developers 以整體身分可執行的事項:
- 任命或罷免 Project Leader。
- 以 3:1 多數修改憲章。
- 作成或推翻依 Project Leader 或 Delegate 權限授權的任何決定。
- 以 2:1 多數作成或推翻依 Technical Committee 權限授權的任何決定。
- 發布、取代及撤回非技術性的政策文件與聲明。
這些比例體現了整體設計。推翻 leader 的決定只需簡單多數,因為 leader 的決定原本就應是暫時性的。推翻 Technical Committee 的決定需要 2:1,因為委員會受託裁決必有其理由。修改憲章或 Social Contract 等基礎文件則需要 3:1。決定越難推翻,作成該決定所需的門檻就越高。
誰有投票權,以及領導者實際能做什麼
只有 Debian Developers 可以投票。他們是通過 Debian New Member 流程加入的專案成員,其中也包括不維護套件、但為專案從事其他工作的成員。尚未完成該流程的貢獻者沒有選票,使用者也沒有。投票權屬於個別成員,因此雇主不占有席次,也沒有一票或一組票。
DPL 每年春季依照相同的排序投票機制選出,預設選項為「以上皆非」,任期為 1 年。在 2026 年選舉中,提名期間為 3 月 7 日至 13 日,競選活動持續至 4 月 3 日,投票期間為 2026 年 4 月 4 日至 17 日。Sruthi Chandran 是唯一候選人,並獲選:計票結果顯示,偏好該候選人而非以上皆非的票數為 289 票,反向票數為 50 票。結果於 2026 年 4 月 18 日公布。
這個職位的權力小於名稱所暗示的程度。DPL 會任命代表、代表專案發言、決定需要緊急處理的事項,以及決定沒有其他人負責的事項。DPL 不能以命令制定技術政策,因為第 4.1 節允許 Developers 推翻領導者獲授權作出的任何決定,而推翻決定只需要簡單多數。
Project Secretary 是讓其餘流程正常運作的低調職位。Secretary 會發布選票、召集投票、執行計票,並裁定程序問題,例如某個選項需要哪一種多數。
一般決議的提案與附議方式
決議一開始通常是寄到公開郵件清單的電子郵件,實務上多半是 debian-vote@lists.debian.org。任何人都可以閱讀。只有 Developer 可以提出決議。
章程規定,決議或投票選項「由任何 Developer 提出,並至少獲得 K 名其他 Developer 贊助時,即視為提出」。K 取決於專案規模,法定人數也一樣:
2022 non-free firmware vote, published quorum 47.9765567751584
developers on the roll 1023
Q = sqrt(1023) / 2 = 15.992
K = min(Q, 5) = 5 sponsors needed to introduce an option
3Q = quorum = 47.977 votes an option must draw to surviveQ 是目前 Developer 人數平方根的一半,K 則是 Q 與 5 兩者中較小的值。Debian 幾十年來 Developer 人數一直遠超過 100,因此實務上 K 為 5。提案必須有另外 5 名 Developer 在郵件清單中回覆表示贊助。這項門檻刻意設得很低;贊助不代表同意,而是表示該問題值得交付投票。
接著進入討論期間。最短為 2 週,最長為 3 週。在這段期間,其他 Developer 可以為同一張選票加入不同選項,但也必須取得各自的 5 名贊助者。由於決議程序已在 January 2022 的投票中改寫,所有選項地位相同,原提案者相較其他提案者沒有任何特殊地位。
因此,Debian 的投票很少是單純的贊成或反對問題。GR 通常是在討論期間由不同人士撰寫的一組相互競爭的提案。
討論結束後,Project Secretary 會發布選票並發起投票,而且必須在 7 天內完成。近期的投票期間為 2 週:firmware 決議是 18 September 至 1 October 2022,目前正在進行的決議則是 15 至 28 August 2026。
為何採用排序選票,以及預設選項的作用
Debian 使用 Condorcet 方法計算票數。每位投票者依偏好順序排列選項。計票時會比較每一對選項:對於選項 A 和 B,分別計算將 A 排在 B 前面的選票數,以及將 B 排在 A 前面的選票數。在所有一對一比較中都獲勝的選項就是勝者。當偏好形成循環且不存在這類選項時,憲章會逐步排除最弱的敗選,直到 Schwartz set 中出現勝者。Schwartz set 是一組不會被該組以外任何選項擊敗的選項。
排序選票可避免分裂選票問題。4 個大致一致的提案不會彼此抵銷,因為偏好其中一個提案的投票者,仍可將其他 3 個提案排在自己不支持的選項之前。
每張 General Resolution 選票最後都會列出預設選項。憲章規定,該選項「沒有提案人或提案連署者,且不得修改或撤回」。目前它稱為「以上皆非」。在 2022 年 1 月表決通過流程變更以前,它稱為「進一步討論」;較舊的結果頁面仍會顯示這個名稱。
預設選項是以下兩項可單獨否決提案的規則之基準點:
- 法定人數:任何未獲得至少 3Q 張將其排在預設選項之前的選票之非預設選項,都會被排除,不再列入考量。2022 年約為 48 票。
- 絕對多數:任何未以規定比例擊敗預設選項的非預設選項,都會被排除。3:1 提案必須以 3 比 1 擊敗「以上皆非」。
請再讀一次第二項規則,因為人們最常記錯的就是這一點。Debian 的絕對多數是以預設選項為比較基準。其他競爭提案不會納入計算。
如果預設選項直接獲勝,就不會採納任何提案,問題會退回郵件列表。這是有效且實際的結果。將預設選項排在某個選項之前,表示開發者認為:「我寧可 Debian 什麼都不說,也不要說出這件事。」
自 2022 年 3 月起,選票採匿名方式處理。使選票匿名的決議由 Sam Hartman 提案,並於 2022 年 3 月 13 日至 26 日進行表決。勝出的方案會隱藏哪位開發者投了哪張選票,但仍允許投票者確認自己的選票已納入計票。在此之前,每張排序選票都會連同投票者姓名一併公布。
一般決議實際改變了什麼
初始化系統,兩度成為議題。 2014 年 2 月 11 日,技術委員會在主席 Bdale Garbee 投下決勝票、打破僵局後,通過決議:「jessie 中 Linux 架構的預設初始化系統應為 systemd。」委員會自己的決議也補充,如果專案在 jessie 發行前就初始化系統通過一般決議,「該立場取代本次投票結果」。Ian Jackson 提議了這項一般決議。投票期間為 2014 年 11 月 5 日至 18 日,獲勝選項為「不需要一般決議」。專案藉由這次投票,決定不推翻自身委員會的決定。
2019 年 12 月,這個問題以「初始化系統與 systemd」之名再次提出。5 位開發者撰寫了 7 個實質選項,範圍從一端的「聚焦於 systemd」,到另一端的「必須支援多個初始化系統」。投票期間為 2019 年 12 月 7 日至 27 日,計票結果記錄了 425 張選票。獲勝選項為「採用 Systemd,但支援探索替代方案」。
非自由韌體,以及你下載的安裝程式。 2022 年,專案投票決定官方安裝程式是否應包含網路卡及其他硬體所需的非自由韌體。共有 6 個提案進入投票。投票期間為 2022 年 9 月 18 日至 10 月 1 日,獲勝選項為「變更安裝程式的非自由韌體 Social Contract,使用單一安裝程式」。由於該選項修改了 Social Contract,因此必須以 3:1 的比例擊敗預設選項,而它確實做到了。
這次投票是選票實際抵達你電腦的最清楚範例。Debian 12「bookworm」於 2023 年 6 月 10 日發行,將大部分韌體套件從 non-free 移至新的 non-free-firmware 元件;硬體需要時,安裝程式會啟用該元件。在投票前,使用需要韌體的網路卡,代表你必須知道如何取得非官方映像檔。郵件清單上的文章、選票,以及你下載的 ISO,構成同一串事件。
刻意選擇不發表意見。 2021 年 4 月,專案投票決定是否針對 Richard Stallman 重新加入 Free Software Foundation 董事會一事發表公開聲明。共有 8 個選項進入投票。獲勝選項為「Debian 不會就此議題發表公開聲明」。一般決議可以確立專案沒有共同立場;這種決定,企業的新聞辦公室很少有機會作出。
正在表決中:Debian 中的 LLM 使用政策
目前,大型語言模型(LLM)相關機制仍在運作。關於「Debian 中的 LLM 使用政策」的討論於 2026 年 7 月 23 日至 8 月 13 日在 debian-vote 進行,最後提出 8 項提案,且每項提案皆由不同的開發者提出:
- 透過 Social Contract 禁止對 Debian 提交 LLM 產出
- 在符合條件下允許 AI 輔助的貢獻
- 在實務可行範圍內拒絕 LLM,並更新 Code of Conduct
- 接受針對 Debian 特定工作的 AI 貢獻
- 負責任地使用生成式 AI
- 對生成式 AI 採取審慎態度
- Debian 由人類建立
- 避免使用 LLM:氣候破壞不可接受
其中第 1 項提案會修訂 Social Contract,因此必須以 3:1 的多數票,超過預設選項。其餘 7 項提案只需要簡單多數。投票於 2026 年 8 月 15 日開始,並於 2026 年 8 月 28 日截止。
本文不預測結果,也不宣稱任何投票結論。投票期間結束後,Secretary 會在 Debian 投票頁面發布包含完整成對比較矩陣的票數統計;只有該頁面適合作為引用來源。較早提出的「Interpretation of DFSG on Artificial Intelligence (AI) Models」提案在 2025 年期間、進入投票前撤回;撤回本身也是流程的一部分:DFSG 是 Debian Free Software Guidelines,而尚未準備就緒的提案,可以由提出者撤回。這場更廣泛的爭論不只涉及 Debian,其他專案也正透過截然不同的方式,制定各自對 AI 輔助貢獻的政策。
選擇伺服器發行版時,這代表什麼
直接比較這兩種決策模式。
在 Debian 中,政策變更必須先成為公開文件,才會成為政策。你可以在提案發布當天閱讀內容,觀察不同選項逐一提出,查看發起人姓名,得知最早何時可以進行表決,並在事後閱讀表決結果。代價是速度較慢。每次表決都經過數週討論,而 init system 的問題花了 5 年,並經過 2 次決議,才得到穩定答案。
在 Ubuntu 中,方向由公司內部決定。Ubuntu 的 治理頁面 說明了 Community Council 和 Technical Board,也指出專案贊助者 Mark Shuttleworth 會為兩個組織篩選候選人,並在兩者各自持有決定票;其職稱是終身自封的仁慈獨裁者。結果是決策快速。2014 年 2 月 14 日,在 Debian 的委員會選擇 systemd 3 天後,Shuttleworth 宣布 Ubuntu 將放棄 Upstart;這是 Canonical 自 2006 年起編寫並發布的 init system,並改用 Debian 選擇的 systemd。Debian 則透過委員會表決、2014 年的一項 General Resolution,以及 2019 年的另一項 General Resolution,走到了相同的結果。
抽象地說,沒有哪種模式一定較好,兩者失效的方式也不同。表決速度慢,而堅持推動的團體可以反覆將同一問題列入選票,直到選民改變想法。公司決策速度快,但也可能在你未參與的策略會議中被撤銷。你選擇的是取得通知的方式:可訂閱的公開郵件清單,或在發布當天閱讀的版本公告。
日常使用中,你感受到的差異主要來自版本發布政策,而不是選票,因此實務上的後續內容是 Debian 在伺服器上的 stable、testing 和 unstable 套件庫。如果你正在為新伺服器評估這兩個家族,治理模式只是多項考量之一;Debian 與 Ubuntu 分家的經過涵蓋其餘內容,而 為 VPS 選擇作業系統則將這項選擇與其他候選方案並列比較。這種模式由來已久,發行版家族分支的方式也顯示,造成分支的往往是治理方式,而不是程式碼。
如何自行解讀一次表決
你不需要是 Developer,也能完成以下所有步驟。所有資訊都集中在 4 個地方:
- https://www.debian.org/vote/ 的表決索引依年份列出每項決議,包括已撤回的決議。
- 每個表決頁面都會列出提案、提案發起人的姓名、討論與表決日期,以及各選項所需的多數。
- 每個結果頁面都會顯示成對比較矩陣與計算過程。法定人數的行格式類似
Option 1 Reached quorum: 307 > 47.6943392867539。 - debian-vote 和 debian-devel-announce 封存中,保留了形成各選項的討論內容。
憲章本身位於 https://www.debian.org/devel/constitution.。附錄 A 說明表決方式;如果結果看起來不尋常,應閱讀這個部分。
FAQ
誰可以在 Debian General Resolution 中投票?
Debian Developers,也就是透過 Debian New Member 流程接納的專案成員。人數約為一千人,其中包括不維護套件、但為專案從事其他工作的成員。尚未加入的貢獻者、沒有會員資格的套件維護者,以及使用者都不會收到選票。投票權屬於個別成員,因此雇主不占有席次,也不擁有一批投票權。
如果「以上皆非」在 General Resolution 中勝出,會發生什麼事?
不會採納任何提案,問題會回到 mailing list。預設選項會出現在每張選票上,不能撤回,也是另外兩項規則的基準:未取得達到 quorum 所需票數、且排名高於預設選項的選項會被淘汰;未以規定比例勝過預設選項的選項也會被淘汰。因此,需要 3:1 多數的提案必須以 3 比 1 勝過「以上皆非」,其他競爭提案不會納入這項判定。
General Resolution 可以推翻 Technical Committee 或 Project Leader 的決定嗎?
可以,而且 constitution 對各種情況設定了不同門檻。推翻 Project Leader 或 Delegate 獲授權作出的決定,需要簡單多數。推翻 Technical Committee 的決定,需要 2:1。修訂 constitution,或 Social Contract 等 foundation document,需要 3:1。2014 年 11 月,專案就是否推翻 Technical Committee 對 init system 的決定進行決議,最後選擇不推翻,因為「不需要 General Resolution」這個選項在投票中勝出。
General Resolution 從提案到公布結果需要多久?
在沒有特殊情況時,約需一個月。討論至少進行 2 週,最多 3 週。討論結束後,Project Secretary 會在 7 天內發布選票並開始投票。近期的投票期間通常為 2 週。2026 年關於 LLM 使用方式的決議呈現了典型流程:討論期間為 2026 年 7 月 23 日至 8 月 13 日,接著於 2026 年 8 月 15 日至 28 日投票。