去年底公佈 CentOS Stream 來替代 CentOS1,也就是說原先的 CentOS 的發佈版本終於迎來它的終焉之時。

簡言之,CentOS 原先作為 RHEL 釋出後的開源版本,如今將重新定位在 Fedora 與 RHEL 釋出之間,成為 RHEL 釋出前的版本,也因為這樣的位置重置,讓原先 CentOS 的用戶立馬就吵翻了天。

不開心! 為何?

先不論是否背叛了開源社群,或者是因為誰而促使這樣的狀況發生。造成這樣的不適感,筆者認為最大的原因有二:

  1. 已如理所當然的長期免費資源,如今不再這樣可口。
  2. 除 CentOS 6 與 CentOS 7 仍按照原先生命週期外,CentOS 8 並不會按照原先預期的約定,直接改止於 2021 年底。這讓已經投入 CentOS 8 轉換且以此展開產品發展計劃的個人或企業,直接面對這突如其來的變化,反應可想而知不會太好。

關於第二點,雖說按目前軟體發展的模式,尤其紅帽這類大型公司,在持續測試整合上的能力已經相當成熟,不管是相容性與主次版本的相關測試案例,應該都能提供對應的保障,但是一聽到是先於企業版本的發展版本時,誰又願意進一步嘗試或者是相信呢?CentOS Stream 並非突然在 2020 拔地而出,而是在 2019 年時便已經問世,開源使用者固然有關注的義務,然而突如其然的轉換聲明,使用者溝通上顯然不足。不過說到此處,基於第一點,說實在很難找到兩全的方法。或許紅帽能為一些先於RHEL釋出的新功能,提供一些開關,讓使用者對於過新的變化至少有個簡便濾除能力。

開源是真的嗎? 如何善用開源幫助數位轉型

開源本質一直以來都是「Freedom (自由)」,而非「Free (免費)」。但伸手牌久了,很容易養成 “滿心期待天上掉下來的禮物” 的 習慣。然而 “天下沒有白吃的午餐”,使用開源都應該對至少以下幾點保持關注:

  1. 發展的前瞻性
  2. 熱度
  3. 社群組成與資金來源
  4. 更新頻率
  5. 授權程度
  6. 開源軟體所影響的業務系統範圍

前四項是使用與選擇開源專案時基礎中的基礎。開發的功能並未滿足科技發展趨勢、成員稀少與偏頗、資金來源、缺乏使用者、問題處理的方式、與發展力低落都會影響開源專案是否會早夭。所以當發現一個專案,雖然有一兩個功能很好,但發現以上早夭特質時,顯然重新造輪子會遠比使用即將爆胎的輪子強得太多。

如果常使用開源軟體就不難理解,很多專案或者是工具有區分社群版本與企業版本、允許商用、或者是開放但限制再開發的授權等。不管是開源或者是閉源,維護一個軟體專案絕不可能單純只用愛發電,它都會消耗資源。因此,參與開源專案的成員與組織肯定是有對應的期待與目的,而這樣的期待也會反映在軟體的使用授權方式上。所以當企業採用開源專案時,不僅需要注意授權程度與永續外,也需要為最壞的狀況作打算,最少的具體作為是持續了解目前企業內的系統與軟體產品,採用與受到開源軟體影響的範圍,尤其是核心系統的影響狀況,務必維持風險在自身能承受的範圍。參與開源專案、投資、或者是付費使用其他工具都是能夠採用的方法,千萬不要拿自己的生命對賭,並且暗自竊喜於暫時的安全。

就如同前述所言,任何開源專案的參與者都會有其相對應的期待。討論轉回 CentOS,雖然是開源專案,也嘉惠了不少大型公司 F5、GE、GoDaddy等,然而以 CentOS 的開源模式,猜想使用者的反饋與參與改變應該是不會太多的 (作為商用版本的另外開源,使用者著眼的是商用版本所衍生帶來的穩定好處)。開源社群講求的是互惠與交流,然而多為使用,而少有參與的單向開源專案,它真得稱得上是具有自由、開放與雙向交流的開源專案嗎?這樣的情況,對於此專案的重要參與者 — 紅帽來說,不管是從商業、或者是產品的發展角度來看,都不太具有好處。因此,當前的轉變便不太讓人意外了。只是如同前述,此次的轉變宣告缺少了良好的溝通 (就網路上能夠找到的資訊來說)。

故事談到這邊,不管如何論述,對於使用者的我們來說,恐怕是免不了對開源專案一陣擔心受怕。然而,受怕如果能讓使用者的我們保持警覺,以結果來看還是不錯的。因為在數位轉型的急迫性日益漸增的當下,開源專案是不可或缺的元素,它能夠為組織帶來至少以下三點好處:

  1. 加速開發
  2. 專注目標
  3. 為團隊挹注活力

至於開源是真的嗎?如果只是將開源當作免費的工具,那麼答案是否定的!如果能夠採用自由、開放與雙向交流的方式謀求共贏,那麼答案才會是正面的。

天下沒有白吃的午餐!

後記

由於工作上的變化,之前使用 CentOS 的熱情也就漸漸冷卻,也轉向哪個方便用哪個的狀況。消息釋出時,也就沒有太過留意。最近剛好友人提起,不禁又再搜索了一下,才發現網路上的討論沸沸揚揚。本想透過分享連結短述的方式,但沒想到短述越寫越多 😂。乾脆寫成一篇完整的文章。

關於 CentOS 8 轉換為 CentOS Stream,可以參考以下指令:

$ sudo  dnf install centos-release-stream
$ sudo  dnf swap centos-{linux,stream}-repos
$ sudo  dnf distro-sync

How to Migrate CentOS 8 Installation to CentOS Stream

按照目前市場上的推估4,60.5% 的用戶仍在等待基於 CentOS 的分支發佈版本、16.7% 考慮 Debian、12.4% 考慮 Ubuntu、而 10.4% 則考慮 openSUSE。

當然 Linux 的發佈版本有很多,比方說還有來自 Oracle、HP 等,但大致上使用者仍會傾向採用與當前使用環境相容性高且"免費"的版本。以下為目前檯面上的分支版本:

  1. CloudLinux 的 AlmaLinux5 2021 第一季便會釋出,最近已經有些好消息6;
  2. Rocky Linux,目前尚未有明確的釋出日期7

整個事件的發展,考慮 CentOS 6,7,8 各自的落日時間,與新釋出的作業系統仍需時間確認是否表現良好,估計整個狀況也得到 2022 年或許才會更加地明朗。不過倒是期待在開源軟體使用上,企業仍以此為契機有更為合理的使用與分配策略,抑或者是改善自身的系統,採取其他更有效率的實作方式。


參考資源

1. CentOS Project shifts focus to CentOS Stream
2. Why Red Hat dumped CentOS for CentOS Stream
3. Before You Get Mad About The CentOS Stream Change, Think About…
4. Where CentOS Linux users can go from here
5. AlmaLinux
6. AlmaLinux is born
7. Rocky Linux