為什麼 Linux 不被接受為官方 GNU 核心?
雖然我很早就知道Hurd的存在,以及它作為官方 GNU 作業系統核心的使命,但我想知道為什麼多年來 Linux 不被接受為官方 GNU 核心,因為它處於更好的狀態比赫德?
到目前為止,Linux 或多或少地為這個角色服務了 20 多年,但是可以看出 GNU 項目在涉及 Linux 時一直保持距離。為什麼會這樣?是因為夢想赫德(在未來的某個時間點)將達到生產質量水平嗎?是因為 GNU 項目沒有看到它的使命在 Linux 中得到了應有的體現嗎?是出於其他政治原因嗎?
除非開發人員同意約束所有官方 GNU 項目的某些規定,否則 GNU 不會採用某些東西作為項目。
目前 Linux 核心可能不符合這些限制,Linus Torvalds、kernel.org 等也沒有。將自己置於 GNU 的保護傘下會獲益,也會失去很多——前面提到的具有約束力的協議,以及公眾認為核心現在是 GNU 項目的看法,這將產生主要的負面影響。GNU 的上級組織自由軟體基金會 (FSF) 是一個政治組織,Torvalds 對它以及 GNU 和 FSF 的頗具爭議、打破傳統的終生領袖/創始人 Richard M. Stallman 提出了各種公開批評。
此外,Linux 核心不需要 GNU 使用者空間,就像 GNU 使用者空間需要 Linux 核心一樣。這種獨立性應該被軟體工程的基本原則視為一件好事,它有利於模組化和更鬆散的耦合,而不是相反的(具有緊密耦合的整體事物)。
反對這個想法的另一點是,雖然 HURD 可能不像 Linux 那樣受到很多人的興趣,但 HURD 的開發人員和使用者可能會反對讓他們的項目在人氣競賽中有效地被扔進垃圾箱。對他們有好處;這種“競爭”是一件積極的事情,而屈服於壟斷則不是——你最終會得到大量的實體,這些實體會扼殺創造力,部分原因是它們容易受到單一/狂妄的控制。Linux 基金會已經是一個獨立的組織,它還不如保持這種狀態。
網上有很多關於此的文件和討論。
簡短的回答是 GNU 項目和 Linux 核心項目之間存在深刻的意識形態差異,這阻礙了可能的統一。
GNU 項目背後的組織 FSF 的重點是關於自由軟體理念的意識形態純潔性。這在很大程度上源於 FSF/GNU 創始人 Richard Stallman 的觀點。此外,正如金發姑娘所提到的,FSF 現在主要是一個政治宣傳組織。很長一段時間以來,FSF 都沒有為 GNU 項目投入大量資源,儘管它們確實提供了支持基礎設施。
Linux 核心項目對軟體自由的態度更為務實,這在很大程度上也源於其創始人 Linus Torvalds。Linux 核心項目主要是一個自由軟體項目,由專門從事核心/作業系統開發的軟體開發人員組成,絕不是一個政治倡導組織。
作為這些意識形態如何在實踐中發揮作用的具體例子,請考慮
Stallman 認為 Debian 項目通過維護其軟體檔案的非自由部分來“宣傳”非自由軟體的事實是不可接受的。這具有諷刺意味,因為 Debian 項目關注的軟體自由與 FSF 非常相似,但在意識形態上並不那麼僵化。
Linux 核心允許(非自由)二進制核心模組與核心一起使用。雖然核心開發人員對此並不熱衷,但他們確實容忍它,但很難想像 FSF 會這樣做。
還值得注意的是,Stallman 試圖將基於 Linux 核心的作業系統命名為 GNU/Linux 可能並沒有改善 FSF 和 Linux 核心社區之間的關係,儘管我沒有關於這方面的具體數據。
除了其他任何事情,正如金發姑娘所提到的,FSF 具有 GNU 項目必須遵守的各種規則。這包括將所有程式碼的版權轉讓給 FSF。這本身就是一個交易破壞者,因為 Linus Torvalds 從未要求過這樣的版權轉讓。因此,如果 Linux 核心成為 GNU 項目的一部分,所有對 Linux 核心的重大貢獻都必須將其版權分配給 FSF。考慮到項目的年齡和規模,以及貢獻者的數量,這基本上是不可能的。更小和更年輕的項目(例如 Mercurial)發現軟體重新授權是一項艱鉅的任務。
請注意,此答案絕不是對 FSF 或 Linux 核心開發人員的批評。雙方都有自己正確的觀點。然而,現實情況是,它們在某種程度上是互不相容的觀點。