GTK2-NG:社群努力復興與現代化 GTK2

開源桌面環境的格局持續演變,像 GTK 這樣的工具箱不斷推出新版本。然而,這種進步常常留下仍依賴舊版的應用程式。GTK2-NG 正是這樣一個由社群主導的專案,旨在復興與現代化 GTK2——儘管已經年代久遠,仍對大量應用程式至關重要。

此倡議凸顯了開源世界中一個常見的主題:當官方支援減弱時,熱情的社群往往會挺身而出填補空缺。GTK2-NG 代表了一項積極的努力,確保依賴 GTK2 的應用程式能在現代計算環境中持續運作,甚至可能蓬勃發展,而不是因工具箱被棄用而被遺棄。

棄用的現況

主要的 Linux 發行版已開始從官方套件庫中逐步移除 GTK2,這象徵著其主流支援的終結。此趨勢是 GTK2-NG 計畫的主要推動力。

這是因為 Devuan 受那些惱人的 Debian 開發者移除 GTK2 所驅動 Debian 並非唯一這樣做的發行版。幾個月前,Arch Linux 已從其官方(非 AUR)套件庫中移除 GTK 2 [1]。RHEL 10 於 2025 年初發布,未包含 GTK 2。

從開發的角度來看,這種廣泛的移除是可以理解的;GTK3 本身於 15 年前推出,其穩定的 3.24 系列已提供超過七年。此舉旨在簡化開發、減少維護負擔,並鼓勵遷移至更新、更安全且功能更豐富的工具箱。然而,這也為尚未完成遷移的應用程式帶來重大挑戰。

為何 GTK2 仍然存在

儘管 GTK3 已相當成熟且 GTK4 持續開發,仍有大量應用程式依賴 GTK2。例如,Debian 關於移除 GTK2 的公告中提到「相當長的套件清單仍在使用它」。這引發了為何遷移尚未普及的疑問。

從一個主要工具箱版本遷移到另一個版本往往不是小事,需要大量開發工作以因應 API 變更、新的範式以及可能的視覺重新設計。對於較小的專案或維護者資源有限的情況,這樣的遷移可能是艱鉅的任務,導致長期依賴舊版。

即使是知名的應用程式也在謹慎地導航這些轉變。正如一位評論者指出:

他們只是「反對」嗎,還是目前有一批必須使用的應用程式無法遷移到 Gtk3 或 Gtk4?即使 Gimp 也在使用 Gtk3,且已在朝向 Gtk4 前進。請以微笑看待 ;)

此觀察指出,雖然像 GIMP 這樣的應用程式確實正朝向更新的 GTK 版本前進,但過程是漸進的,且並非所有專案擁有相同的資源或開發速度。

開源社群的回應:GTK2-NG

GTK2-NG 的出現完美詮釋了開源模式內在的韌性與適應力。當官方渠道前進時,社群常會挺身而出,確保有價值的軟體元件不被遺棄。

這很有趣,顯示了開源的美好:如果你想讓 GTK2 繼續存活,就可以投入精力將其復興。

GTK2-NG 旨在現代化 GTK2,這可能包括解決與新系統元件的相容性問題、修復錯誤,甚至引入符合當代開發實踐的增強功能,同時保留舊有應用程式所依賴的功能。雖然該專案的網站目前顯示內部伺服器錯誤,但 GTK2-NG 的目的十分明確:為仍根植於 GTK2 的應用程式生態系提供生命線。

前進的道路

GTK2-NG 專案凸顯了技術進步與向後相容需求之間持續的張力。雖然工具箱必須演進,但龐大的軟體生態系實際上使得舊元件的使用壽命往往比預期更長。像 GTK2-NG 這樣的社群努力在彌合此差距上扮演關鍵角色,確保舊有應用程式的使用者與開發者不會被拋棄。此倡議不僅保留了功能,也展示了集體行動在維護開源軟體多樣性與韌性方面的力量。

Sources