編譯丨千山
日前,RedHat發出公告,停止公開提供企業版Linux(RHEL)的源碼。從即日起,CentOS Stream 將成為公共RHEL相關源代碼發布的唯一倉庫。不過,RedHat的客戶和合作伙伴,依然可以根據其訂閱協議通過RedHat Customer Portal 獲得源代碼。
簡言之,只有“掏錢”才能拿到源代碼。一下子,曾經基于RHEL源代碼衍生的下游項目(比如,AlmaLinux,Rocky Linux,Oracle Linux 等)全都被嚴重“打擊”到了。
RedHat的這一舉措引發了不少爭議。有人認為RedHat此舉完全合情合理,有其充分的考量;也有人認為其違背了GPL條款,不符合開源精神。在此,我們首先還原一下這一事件的前因后果。
1、RedHat決意押寶,下游險變“死胡同”
RedHat的博客聲明在開篇如是寫道:
“兩年多前,RedHat推出了CentOS Stream作為RedHat企業Linux(RHEL)協作的焦點。CentOS Stream 縮短了RedHat工程師與合作伙伴、客戶和社區之間的反饋窗口,同時提供了對RHEL未來創新的更大可見性……由于CentOS Stream,RHEL開發比以往任何時候都更加透明和開放。”
曾經CentOS是市面上紅極一時的商用Linux發行版,不過早在2020年,RedHat就官宣終止了CentOS Linux 的開發,轉而將重心放在了CentOS Stream上。
兩者的區別在于,CentOS Stream 位于RHEL的上游,是RedHat推出的一個滾動更新的Linux發行版。它包含RHEL中下一個發行版本的預期功能和更新,待穩定之后再發布RHEL版本。
而之前的CentOS Linux 則是基于RHEL重建的下游分支。目前CentOS 8已絕版,而CentOS 7也將于2024年結束維護。隨著落幕時間的日益臨近,選擇CentOS的替代品也刻不容緩。誠然,使用Ubuntu或者Debian進行替換不失為一種選擇,但對于那些大規模部署了CentOS且持續運行多年的公司來說,將底層操作系統完全替換也極為痛苦。
于是,作為CentOS的替代方案,AlmaLinux、Rocky Linux等發行版應運而生。它們都是基于相同的源代碼重建,都發布了可用于企業級的穩定版本,保證了完美的兼容性。因此,需要類似RHEL的企業級發行版的個人和組織可以采用這些替代方案,而無需向RedHat支付任何費用。
相較之下,CentOS Stream是RHEL未來版的預覽,如果你是開發要在RHEL上運行的產品或驅動程序的合作伙伴,或者想知道下一步進展的用戶,那么CentOS Stream用起來會非常趁手,但如果你只想運行RHEL而不付費,那么它的用處要小得多。
在這次聲明中,RedHat提到:
隨著CentOS Stream 社區的發展,以及應對企業軟件世界新的動態,我們希望將重點放在CentOS Stream 上,以其作為企業Linux創新的支柱。我們將繼續投資并增加對CentOS Stream 的承諾。CentOS Stream 現在將成為公共RHEL相關源代碼發布的唯一倉庫。
需要明確的是,此更改不表示對CentOS項目、CentOS Stream 或CentOS SIGs 的源代碼可用性進行任何更改。
圖片
圖源:Red Hat blog
關于進行這一改變的原因,RedHat做出了如下解釋:
在CentOS Stream之前,Red Hat 將RHEL的公共源代碼推送到git.centos.org。當CentOS計劃轉移到以CentOS Stream 為中心時,盡管不再在RHEL下游構建CentOS Linux,我們依然維護了這些存儲庫。圍繞CentOS Stream 的參與、工程投資水平,以及我們為客戶和合作伙伴解決的新優先事項,使得維護單獨的冗余存儲庫變得低效。最新的源代碼仍然可以通過CentOS Stream 獲得。
2、下游項目的應對計劃
不管RedHat是出于何種動機進行了這一改變,首當其沖的就是基于RHEL重構的諸多下游發行版。目前來看,AlmaLinux和Rocky Linux的官方反應都比較謹慎樂觀。
以AlmaLinux為例。就在RedHat官宣不久,AlmaLinux開發團隊就在社交平臺上表示,將研究這個改動對他們的影響。隨后,他們發布了聲明并披露了一些應對計劃。
圖片
圖源:AlmaLinux blog
AlmaLinux本身是一個基于RHEL的克隆版本,就誕生在RedHat決定停止開發CentOS之后沒多久。其首個正式版本于2021年3月發布。
在回應聲明中,AlmaLinux將RedHat的這一舉措視為“massive shift(巨大轉變)”,認為其“影響了Red Hat Enterprise Linux的所有重建和分支”,鑒于“所有RHEL克隆都依賴于發布的源代碼”,這將“對整個RedHat生態系統造成破壞”。
針對這一變化,AlmaLinux意識到:
“我們作為RHEL克隆的構建者,除了遵循軟件源中包含的許可和協議外,還要負責遵循圍繞RedHat接口的許可和協議。不幸的是,按照我們今天的理解,RedHat的用戶接口協議表明,重新發布通過客戶門戶獲取的資源將違反這些協議。”
實際上,正如有網友指出的,注冊一個免費的RedHat開發者賬戶并通過這種方式合法獲取源代碼是可行的。但問題在于,為了獲得這一賬號而必須簽署的許可與協議,恰恰又會阻止你重新分發軟件。從某種程度上說,盡管下游發行版仍然可以獲得軟件源代碼,但又不能真正使用它。
“這意味著我們需要一個新的解決方案?!?/p>
當然,AlmaLinux清楚地意識到這并非易事?!斑@一變化的短期和長期解決方案是我們將在未來幾周內討論的問題。我們今天花了很多時間深入研究,以確保我們了解問題的深度,并討論我們的潛在選擇?!?/p>
他們給出的初步計劃是:
“在短期內,我們將與RHEL生態系統的其他成員合作,以確保我們繼續以我們公認的速度和穩定性提供安全更新。
從長遠來看,我們將與這些合作伙伴和我們的社區合作,為AlmaLinux作為企業Linux生態系統的一部分確定最佳前進道路。”
3、兩極分化的呼聲:這是對開源的“背叛”嗎
盡管不少下游發行版的團隊還比較冷靜,但在一些論壇上部分用戶也表現出了焦慮的情緒。更有人言辭激烈地指責RedHat違反了GPL條款,違背了開源精神。
“雖然RedHat只需要向其二進制文件的直接接收者提供源代碼,但他們需要提供帶有GPL許可證的源代碼,而不是帶有限制的GPL?!?/p>
圖片
圖源:theregister
反對者認為,RedHat此舉完全是“搬起石頭砸自己的腳”。如果RedHat繼續堅持己見,會嚴重侵蝕社區信任,并逼迫人們從紅帽生態遷移到Debian或Ubuntu。甚至有人直言:也許是時候讓Debian成為長期支持系統的行業標準了?!?/p>
圖片
圖源:Reddit
但事實上,RedHat此舉并不違反GPL條款。資深開源專家譚中意認為:RedHat的做法完全合理,無論從商業還是開源的角度來看,都有其道理。
無獨有偶。Reddit論壇上,同樣有網友提出:”RedHat的做法幾乎是完全公平的。GPL中沒有任何規定源代碼必須是公開的,只是它必須對合法用戶可用。RedHat在構建補丁中投入了大量的價值,而過去CentOS用戶一直可以免費獲得它。我對它唯一的異議是,它的路標不是很清晰,所以很多人選擇了Rocky或Alma這樣的小巷,結果到現在又發現它們成了死胡同。”
圖片
圖源:Reddit
固然GPL與RedHat客戶許可證下的再分發權存在問題,但是GPL中的確沒有規定源代碼必須是公開的。而且關于從RedHat生態遷移出來的問題,對于呼聲很高的Debian,也有開發者表示了質疑,主要理由如下:
“‘常規的舊版Debian’只維護3年(另一個團隊會延長2年)。使用CentOS Stream,你可以從一個始終如一的維護者團隊獲得5年的支持(從RHEL可以獲得10年的支持)。Debian也沒有你可以定期與之見面的開發隊伍,也無從確定他們正在分發的軟件的開發優先級。換言之,得不到真正的支持。Debian是自支撐安裝的優秀發行版。但CentOS Stream也是如此?!?/p>
圖片
圖源:Reddit
RedHat此舉引起的諸多爭議呈現了極與極的分化。我們無從揣測RedHat做出這一決定的初衷,但誠如其在公告中所說,最新的源代碼仍然可以通過CentOS Stream 獲得。大家也可以根據自身的判斷來做出選擇。
4、寫在最后:月亮與六便士是否可以得兼
若從全局來看,RedHat的這一決定或許有其更深層次的考量。
自2019年,RedHat以340億美元的價格被IBM收購后,其各季度收入增幅頗為可觀。但這一情況在近期出現了變化。根據IBM發布的第一季度財報,Red Hat實現了8%的增長,遠低于之前的表現。與前三個季度相比,增速放緩之勢明顯。
結合不久前RedHat裁員數百人的消息,可見其承壓巨大。
CEO Matt Hicks 在寫給員工的公開信中,回顧了公司一路走來的戰略和投資配比,總結了其增長模式:
RedHat的核心價值在于,我們通過開源軟件幫助客戶取得成功。我們自己的大部分投資,無論是資源、預算、員工人數還是時間,都應該優先考慮我們的產品和與客戶的創新需求,而不是我們自身的內部結構。
當我們把人力投入某個項目時,就會希望為之貢獻、讓事情變得更好,也希望自己的努力能夠持續起效、長久發展。但這也意味著Red Hat往往只做加法,卻很少做減法……有時候,即使事情表現良好,我們也必須有意識地進行精簡和聚焦。隨著時間的推移,每個增加的優先級都會導致更多的復雜性,大團隊變得越來越大,更多資源被消耗在過程中,而非結果上。
開源創新依然是RedHat的靈魂,但是在業績承受重壓的背景下,如何取舍就成為了必須直面的命題。開源并非陽春白雪,開源精神與商業利益之間的矛盾也不能一概而論,但是月亮與六便士如何得兼的確是一門需要深研的藝術。
參考鏈接:
https://www.redhat.com/en/blog/furthering-evolution-centos-stream
https://www.theregister.com/2023/06/23/red_hat_centos_move/
https://almalinux.org/blog/impact-of-rhel-changes/
https://www.redhat.com/en/blog/message-red-hat-associates-today