在这时,挪威TrollTech一批程序员抓住机遇推出了Qt,一个跨平台的C++图形用户界面库。基本上,Qt同X Window上的 Motif、Open Look、GTK等图形界面库和Windows平台上的 MFC、OWL、VCL、ATL是同类型的东西,但Qt具有优良的跨平台特征
(支持Windows、Linux、各种UNIX、OS390和QNX等)、面向对象机制以及丰富的API,同时也可支持2D/3D渲染和OpenGL API。
1996年10月,由开发图形排版工具Lyx的德国人Matthias Ettrich发起了KDE(K Desktop Environment)计划。在当时的同类图形用户界面库产品中,Qt的功能最为强大,Matthias Ettrich在发起KDE项目时很自然选择了Qt作为开发基础。
KDE本身采用GPL(GNU通用公共许可证)宣言的,但是KDE底层的基础却是Qt。
Qt是一个不遵循GPL的商业软件,一大批自由程序员对KDE项目的决定深为不满,它们认为运用
非自由软件开发违背了GPL的精神,于是GNU拥护者,一批人去开发Harmonny(Harmony是一个兼容替代库,设计用来在没有Qt的情况下也有可能运行KDE软件。),试图重写一套兼容于Qt的替代品,另一一批由一个墨西哥程序员Miguel De Icaza组织下重新开发了一套称为GNOME(GNU Network Object
Enviroment)来替代KDE。
Linux业界老大RedHat不喜欢KDE/Qt的版权,甚至专门派出了多个
全职程序员来加入GNOME的开发工作,于是一场与Motif和Openlook相似的圣战就这么打起来了。
Trolltech为了KDE曾数次修改Qt的版权,从成立KDE Free Qt 基金会到采用GPL,可谓是费尽心机,但是GNOME采用的GTK从一开始就是完全的GPL,因此在这个方面GNOME有一定的优势,加上Qt/KDE采用C++,在当时并不为很多人熟悉,因此GNOME吸引了更多的自由软件开发者,但是KDE毕竟先走一步,推出的KDE1.1.2也十分稳定,而当时急忙中推出的GNOME1.0的系统稳定性奇差,有人甚至笑称GNOME1.0还没有KDE1.0Alpha稳定。
2000年,可谓是风云突变,一个接一个重大的事件先后发生: 首先是一批从Apple公司出来的工程师成立了一个Eazel的公司替GNOME设计界面,然后是一批GNOME程序员成立了一个Helix Code公司替GNOME提供商业支持,而大家期待以久的KDE 2.0也终于揭晓
了,这也是相当庞大的自由软件,除KDE本身,还包括Koffice套件和集成开发环境Kdevelop等等一大批软件,其主力软件Kounqueror也是第一个可以同微软的InternetExp
loer相抗衡的阅读
器。