對FOSS的rabbit hole越鑽越深,逐漸發現我是站在反多元化的那一方呢。
有笑話說,Linux電腦要中毒很難,因為發行版太多了,每個系統的函式庫也不一樣,病毒執行的時候容易顯示no such file or directory。
我沒有影響Linux社群的決策權,只是我自己的想法。 就是又一篇rant。
我們先從一篇文章開始看起:Grub & Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea?
看到這篇,我不禁想到:「你還能有老祖宗聰明?張獻忠.jpg」梗圖。
不願意接受變革,動輒拿「Unix哲學」出來說嘴的人,是該改改了。現在還有人在反Systemd,刻意選擇其他init的發行版,他們堅持的理由「做一件事並做好」隨著時間過去越顯得可笑。同理,推廣到Linux的其他新技術也是一樣,舉凡Wayland、Pipewire、Flatpak等等。這些東西慢慢成為新一代Linux桌面的標準,雖不完美但應保持樂觀。不過依然有很多人不從技術的角度去批評這些東西的進展,反之以嘲諷辱罵(想想4chan /g/鄉民的rant口氣就知道了),認為一切都是RedHat統治世界的陰謀。有人甚至成立了一個 flatkill.org 網站來攻擊Flatpak。
正如死命堅持DRM是壞東西的社會運動家一般,情緒性的說我反對!但是提不出更好的解決方案(例如搞個LibreDRM之類的),就只是瞎反對。
雖然開源社區的fragmentation長期以來是Linux發行版的基因,有些用戶也刻意愛與眾不同的推廣一些詭異的發行版,甚至單純為了不一樣而宣稱要有多元性,但是有些東西還是應該要標準化較好。這方案不會所有人都滿意,但至少結果不會太壞。
進入正題。私以為,與其花時間維護自己的Linux發行版,自行製作所謂「大補帖光碟」,不如集眾人之力,將精力放在「mainstream」和「general-purpose」系統的開發工作上。並呼籲大家遵守XDG標準來做事,不要downstream patch,或是搞distro-specific的hack。
Linux有太多發行版了,碎片化嚴重,這是Torvalds也講過的事情,還特別喜歡break userspace。長期下來的開源社群風氣,也導致了許多「標準」出現,xkcd的漫畫相信大家都看過。一個開源軟體同時會有多種解決方案廝殺,最後靠著社群的認可生存下來。近年來唯一一個確定勝出的例子就是Systemd了,只剩少數發行版還在反抗。
我很認同Systemd統一管理系統服務的作法,甚至覺得使用systemd-homed和systemd-nspawn也未有不可。
Linux的問題在於選擇過多,如果是軟體多樣化也就算了,但若是牽扯到底層的圖形桌面環境和系統服務也硬要「多元化」,就會讓事情變得很複雜。就Linux發行版來說,我很反感特化發行版的做法。比如中國有修改過的deepin,台灣則是有ezgo。他們說為了國情需要而特別修改,並預載一系列他們覺得你會需要的軟體,bullshit!華國美學的設計破壞了Linux桌面的美學。軟體要裝不會自己裝嗎。與其做這些事情不如去貢獻上游的localization。
ㄟ,可就連Ubuntu本身也是修改自Debian並推行修改過的GNOME的系統,他們自己就破壞了上游的東西。
如果要追求「純粹」的Linux系統,是不存在的選項,可能就Fedora更符合vanilla軟體的標準。可是對桌面用戶而言,在易用性和名氣,種種考量下,商業公司支持的Ubuntu依然是最佳選擇,起碼Ubuntu LTS只比Debian Stable還不穩定些。在Fedora放棄把用戶當白老鼠養之前我都不會推薦它。雖然Canonical公司常常做一些奇怪決策就是了,也有社群批評Ubuntu不愛upstream,唉
這樣的話大家就專注開發Ubuntu的東西就好了吧。其實我對Ubuntu也有不滿,譬如GNOME真的不如KDE Plasma好用,所以我才會裝Kubuntu而非適應GNOME。
我想,就是這種「反叛精神」才會導致Linux社群的碎片化,每個人都有一絲不同的想法的話,自己寫個桌面,乃至創立發行版也就不足為奇了。這就是開源軟體既定的詛咒。永遠不會有讓所有人滿意的方案出現,除非一間公司能像Apple一樣賣信仰,或是Google的Chromebook大量傾銷,逼迫所有人接受整齊劃一的使用者介面。