GNU/Linux 適合做為桌面系統嗎? (2018 年版)

雖然我們可能無法看到真正的 GNU/Linux 元年,但在 2016 至 2017 年間,GNU/Linux 桌面系統的市佔率突破 2% (根據 Net Marketshare 數據),表示 GNU/Linux 還是有一定的使用人口。目前為止,Windows 仍然是桌面系統的霸主 (85-90% 市佔率),而 Mac 則有一批忠實擁護者 (7-10%);GNU/Linux 往往給人難學的印象,有時又會在網路上看到某個網友灌了 GNU/Linux 後無法開機進入系統的慘案,到底 GNU/Linux 是否適合做為桌面系統?筆者三大桌面系統都使用過,以 GNU/Linux 為桌面多年,筆者認為 GNU/Linux 桌面雖非簡單無腦,但入門的門檻的確比先前低了。接下來,我們會進行相關的討論。

GNU/Linux 的桌面軟體比先前好用,很大一部分是搭上全球資訊網的順風車。由於電腦硬體的進步,執行網頁程式比先前順暢很多,瀏覽器就像是微型的作業系統,在本地端有使用者介面 (HTML 和 CSS),可以用程式語言執行一些任務 (JavaScript),而伺服端負責實際的內部工作;除了瀏覽器以外,使用者不需預先安裝軟體,只要網路暢通,使用上相當地簡單。有許多科技公司開發網站或網頁程式,像臉書的整個核心業務就是一個網站 (臉書在社群媒體市佔率達 75%),但也造就了一代巨擘;谷歌許多為人熟知的産品,像是 Google 搜尋、Gmail、Google 地圖、Google 文件等,都是網頁程式;微軟的業務原先以桌面軟體為主,現在也提供雲端化的 Office 和 Outlook。由於網頁程式變多,某種程度補足了 GNU/Linux 桌面軟體的不足。

那麼,GNU/Linux 桌面軟體有沒有進步呢?以筆者觀察,其實也有,但進步幅度沒那麼大。這是因為 GNU/Linux 市場小又分裂,減低了開發者的意願。開發好一套軟體後,至少要包成 DEB 和 RPM 兩種格式,必需在數種主流 GNU/Linux 發行版上測試,但這些努力,卻只照顧到一小群用戶,除非有一定規模的公司,通常不會將 GNU/Linux 做為首選平台。另外,GNU/Linux 充斥免費且開源的文化,很多使用者不太願意花錢買桌面軟體,使得開發者的回報更少,這也使得桌面軟體不盛行。對於程式開發者來說,GNU/Linux 上面己經有許多開發工具,但對於一般使用者來說,軟體的質和量相對缺乏。

以遊戲來說,GNU/Linux 仍然算是弱勢族群。如同其他的電腦軟體,電腦遊戲本身也是一種電腦軟體。對於遊戲者來說,GNU/Linux 的驅動模組支援度比較差,而一些 GNU/Linux 的強項,像是終端機環境及運行於其上的程式語言,對遊戲者來說並不重要;如果像 SteamOS 般把 GNU/Linux 包成遊戲用主機,基本上就只是一台相對弱勢的 PlayStation 或 XBox。如同我們先前所述,GNU/Linux 社群的小規模和分裂化,使得遊戲開發者不願去碰觸這個相對不賺錢的市場。像是 Steam 的 GNU/Linux 用戶比率己經低於 1%,在獲利不足的情形下,未來 Steam 是否會終止 GNU/Linux 支援仍是未知數。

在專業軟體上,GNU/Linux 有沒有進步呢?如果我們把程式語言也當成一種廣義的軟體產品,那麼,GNU/Linux 的確是不可忽視的存在,除了原先就在類 Unix 系統上可執行的程式語言,一些商業語言也會考慮 GNU/Linux;像微軟在 GNU/Linux 上就發布了 ASP.NET Core 和 SQL Server,但不支援桌面程式,代表著,即使是微軟,也無法忽略 GNU/Linux 在伺服端的重要性。不過,除了程式語言和開發工具,對於傳統的專業用套裝軟體來說,GNU/Linux 仍然是相對不足的;這點在短期內似乎也沒有什麼改善的跡象。

基本上,GNU/Linux 等類 Unix 系統是技客寫給技客用的系統,根據 StackOverflow 2016 年的調查,GNU/Linux 的市占率約在 21.7%,而 StackOverflow 的受訪對象約 45% 從事網頁程式開發 (包含前端、後端和全端);雖然筆者認為這樣的受訪族群不太均衡,但至少代表有較多程式設計者會去用 GNU/Linux。對於桌面系統,GNU/Linux 是堪用的,但桌面軟體的缺乏,以及一定的學習門檻,使得一般使用者沒有轉換的動力。GNU/Linux 是一種系統,而非一種信仰,自己覺得好用就夠了,倒沒有必要讓自己變成過於熱心的傳教士。

註:StackOverflow 在 2017 年的訪查改變了相關問題的詢問方式,筆者認為 2016 年的問題較有代表性,故仍沿用 2016 年的訪查。

上篇如何挑選 web framework?
下篇為什麼 Nim 無法造成流行