上 深度剖析E680G开发三.移植OPIE操作系统( 二 )


面库(Widget-Library) , 而非一个真正意义上的GUI界面 。经过协商之后IBM/HP
与SUN决定将Motif与Open Look整合 , 并在此基础上开发出一个名为“CDE(Common
Desktop Environment) ”的GUI作为UNIX的标准图形界面 。
遗憾的是 , Motif/CDE和UNIX系统的价格都非常昂贵 , 而当时微软的Windows发
展速度惊人并率先在桌面市场占据垄断地位 , CDE则一直停留在UNIX领域提供给root
系统管理员使用 , 直到今天情况依然如此 。
上个世纪九十年代中期 , 以开源模式推进的Linux在开发者中已经拥有广泛的
影响力 。尽管X Window已经非常成熟 , 也有不少基于X Window的图形界面程序 ,
但它们不是未具备完整的图形操作功能就是价格高昂(如CDE) , 根本无法用于
Linux系统中 。如果Linux要获得真正意义上的突破 , 一套完全免费、功能完善的
GUI就非常必要 。
在这时 , 挪威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也是第一个
可以同微软的InternetExploer相抗衡的浏览器 。

Sun公司 , RedHat公司 , Eazel公司 , Helix Code等一批公司成立了一个GNOME
基金会 , Sun还宣布将把重量级办公软件Star office同GNOME集成 , Trolltech公司
自然不能坐以待毙 , 于2000年10月将Qt的free edition变为GPL宣言 , 彻底解决了
KDE的版权问题 , 给了GNOME阵营一个有力的回击 。

推荐阅读