說到 Qt 的發(fā)展史,那真是一波三折,幾經(jīng)賣身。Qt 最早是 1991 年由挪威的 Eirik Chambe-Eng 和 Haavard Nord 開發(fā)的, 他們隨后于 1994 年 3 月 4 號正式成立奇趣科技公司(Trolltech)。Qt 原本是商業(yè)授權(quán)的跨平臺開發(fā)庫, 在 2000 年奇趣科技公司為開源社區(qū)發(fā)布了遵循 GPL(GNU General Public License)許可證的開源版本。在 2008 年,諾基亞公司收購了奇趣科技公司,并增加了 LGPL(GNU Lesser General Public License)的授權(quán)模式。諾基亞聯(lián)合英特爾利用 Qt 開發(fā)了全新的智能手機系統(tǒng) MeeGo,可惜遭遇了微軟木馬屠城,諾基亞被迫放棄了 MeeGo, 而 Qt 商業(yè)授權(quán)業(yè)務(wù)也于 2011 年 3 月出售給了芬蘭 IT 服務(wù)公司 Digia。當(dāng)然好消息是 Digia 于 2014 年 9 月宣布成立 Qt Company 全資子公司,獨立運營 Qt 商業(yè)授權(quán)業(yè)務(wù)。目前 Qt 公司大力推廣移動平臺開發(fā)和商業(yè)應(yīng)用, 總的來說 Qt 歷經(jīng)曲折,現(xiàn)在算是步入正軌了。經(jīng)過 30 多年的發(fā)展,Qt 已經(jīng)成為最優(yōu)秀的跨平臺開發(fā)框架之一,在各行各業(yè)的項目開發(fā)中得到廣泛應(yīng)用。許多大型軟件都是用 Qt 開發(fā)的,如 Autodesk Maya、Google Earth、Skype、WPS Office等,同時,也用于MCU項目中。永遠(yuǎn)不要忽視微軟帝國的威脅,作為軟件業(yè)的一代霸主,任何人都不要天真地試圖和它做朋友,因為霸主不可能有朋友。微軟的木馬屠城是所有諾基亞人和芬蘭人的痛,希望讀者們都記牢這條。 KDE:K Desktop Environment,中文譯為“K桌面環(huán)境”。 之前提到 Qt 原本是商業(yè)授權(quán)軟件,是怎么開源的呢?這就涉及 Qt 和 KDE 的糾葛了。 KDE 是 Linux 操作系統(tǒng)的桌面環(huán)境,與 GNOME 桌面是類似的。 KDE 基于 Qt 的,最初于 1996 年作為開源項目公布。許多流行的 Linux 發(fā)行版都提供了 KDE 桌面環(huán)境,比如 Ubuntu、Linux Mint、OpenSUSE、Fedora、Kubuntu、PC Linux OS 等。早期的 Linux 系統(tǒng)都是不帶界面的,只能通過命令來管理,后來隨著 Windows 的普及,計算機界面變得越來越漂亮,點點鼠標(biāo)就能完成很多工作,人們已經(jīng)習(xí)慣了圖形界面化的操作,很難再忍受一片漆黑的命令行窗口了。這推動了 Linux 社區(qū)進(jìn)行變革,很快推出了 Linux 系統(tǒng)的圖形界面環(huán)境。
KDE 是采用 GPL 許可證發(fā)布的開源軟件,而最初 Qt 是商業(yè)授權(quán)的,存在商業(yè)侵權(quán)風(fēng)險,GNOME 則是基于開源 GTK 庫的,沒有什么商業(yè)風(fēng)險,這一度是 GNOME 優(yōu)越于 KDE 的特性。 由于 Qt 的商業(yè)授權(quán),KDE 社區(qū)一度混亂糾結(jié),與此同時 GNOME 則如火如荼發(fā)展起來了。KDE 畢竟算是親兒子,被另一波人欺負(fù),奇趣科技公司當(dāng)然看不下去了,最后是奇趣科技公司為了贏得開發(fā)者的支持,為 Qt 增加了 GPL 的開源授權(quán), 對于開源社區(qū)而言,遵循 GPL 使用 Qt 就不需要付費,這為 KDE 解決了燃眉之急。 除了商業(yè)授權(quán),目前 Qt 的開源授權(quán)有兩種,一種是 GPL 授權(quán),另一種是 LGPL 授權(quán)(諾基亞收購后新增)。對這兩種開源授權(quán),簡單來說,使用 GPL 版本的軟件一定還是 GPL 的開源軟件,無論是使用了 Qt 的程序代碼還是修改了 Qt 庫代碼,都必須按照 GPL 來發(fā)布,這是 GPL 的傳染性。GPL 是什么都要開源,這對商業(yè)軟件應(yīng)用是不利的,所以諾基亞增加了 LGPL 授權(quán) (第一個 L 可以叫 Lesser 寬松版或 Library 開發(fā)庫版)。使用 LGPL 授權(quán)就可以利用 Qt 官方動態(tài)鏈接庫,而不必開放商業(yè)代碼。只要不修改和定制 Qt 庫,僅使用 Qt 官方發(fā)布的動態(tài)鏈接庫就可以不開源,這是商業(yè)友好的授權(quán)模式。其實只要不是做商業(yè),就不太需要關(guān)注用什么授權(quán),以 GPL 授權(quán)發(fā)布程序代碼就可以了。
|