在 Unix 的圖形界面一向是以 MIT 的 X Window 系統為標準, 可是在商業應用上有兩大流派,一派是以 Sun 公司領導的 Openlook 陣營,一派是 IBM/HP 領導的OSF (Open Software Foundation) 的 Motif, 雙方經過多年競爭之后, Motif 最終勝出,成為最普遍使用的界面庫, 后來雙方又妥協出一個 CDE(Common Desktop Enviroment) 作為一個標準的圖形界面。 但是 Motif/CDER 的價格非常昂貴,在這同時微軟的 Windows 圖 形界面發展速度非常快,而 Unix 界的后起之秀 Linux 也急需一個可靠并且免費的圖形界面。
1996 年 10 月,由開發圖形排版工具Lyx的德國人 Matthias Ettrich 發起了 KDE 計劃。 KDE 的全稱為 K Desktop Environment,可以看出是針對 CDE。 KDE 本身 是采用 GPL 宣言的,但是 KDE 卻是使用 Qt 來作為其底層庫,因為當時 Qt 已經將其 Unix 版本自由發布了,但是 Qt 并不遵循 GPL, 因此 KDE 被很多自由軟件的作者攻擊,認為利用非自 由軟件開發違背了 GPL 的精神,于是 GNU 的狂熱信徒兵分兩路,一路是去制作 Harmonny,試圖重寫一套兼容于 Qt 的替代品,另一路是由一個 26 歲的墨西哥程序員 Miguel De Icaza 領導 下重新開發一套叫 GNOME(GNU Network Object Enviroment)來替代 KDE。 feedom.net
由于 Linux 界的老大 RedHat 不喜歡 KDE/Qt 的版權,因此 RedHat 甚至專門派出了幾個全職程序員來加入 GNOME 進行開發工作,于是一場同 Motif VS Openlook 相似的圣戰就這么打起來了。 Trolltech 為了 KDE 曾數次修改 Qt 的版權,從成立 KDE Free Qt 基 金會到采用 QPL,可謂是費盡心機,但是 GNOME 采用的 GTK 一開始就是完全的 GPL,因此在這個方 面 GNOME 有一定的優勢,加上 Qt/KDE 采用 C++ 開發,入門的門檻比較高,而 GTK/Gnome 采用 C, 因此 GNOME 吸引了更多的自由軟件開發者,但是 KDE 畢竟先走了一步, 推出的 KDE1.1.2 十分穩定, 而當時急忙中推出的 GNOME1.0 的系統穩定性奇差,有人甚至笑稱 GNOME1.0 還沒有 KDE 1.0 Alpha 穩定。但是 GNOME 后來發展比較快,大有迎頭趕上的勢頭。當時雙方的開發者在網絡 上炒得天翻地覆,連 Linux 之父 Linus 只是說了一句喜歡用 KDE 都倍受指責。
戰爭到了第三個年頭,也就是2000年,可謂是風云突變,一個接一個重大的事件先后發生: 首先是一批從 Apple 公司出來的工程師成立了一個叫 Eazel 的公司替 GNOME 設計界面,然后是一批 GNOME 程序員成立了一個 Helix Code 公司替 GNOME 提供商業支持,而大家期待以久的 KDE 2.0 也終于發布了,這恐怕是目前最為龐大的自由 軟件了之一, 除了 KDE 本身,還包括 Koffice 套件,和集成開發環境 Kdevelop 等等大批軟件,其主力軟件 Kounqueror 也是第一個可以同微軟的 Internet Exploer 相抗衡的瀏覽器。 而 Sun 公司,Red Hat 公司, Eazel 公司,Helix Code 等一批公司成立了一個GNOME 基金會, Sun 還宣布將把重量級辦公軟件 Star office 同 GNOME 集成, Trolltech 公司自然不能坐以 待斃,于今年 10 月 4 日將 Qt 的 free edition 變為 GPL 宣言,徹底解決了 KDE 的版權問題, 又推出了嵌入式 Qt ,給了 GNOME 陣營一個有力的回擊。
到現在為止,這場戰爭還在繼續,相信我們不能很快看到結果。一般說來, 目前 GNOME 吸引的公司比較多,但是 KDE/Qt 的開發的效率和質量比 GNOME 高,而且在 Office/嵌入式 環境中先走一步,在一定時間內還將處于優勢地位。
那么對于用戶來說,如何在 Qt/GTK 中作出選擇呢?一般來說,如果用戶使用 C++,對庫的穩定性,健壯性要求比較高,并且希望跨平臺開發的話,那么使用 Qt 是較好的選擇, 但是值得注意的是,雖然 Qt 的 Free Edition 采用了 GPL 宣言,但是如果你開發 Windows 上的 Qt 軟件或者是 Unix 上的商業軟件,還是需要向 Trolltech 公司支付版權費用的。