rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 操作系统 » Linux桌面

Linux Gnome 与KDE对决(二)

KDE项目发起后,迅速吸引了一大批高水平的自由软件开发者,这些开发者都希望KDE能够将Linux系统的强大能力与舒适直观的图形界面联结起来,创建 最优秀的桌面操作系统。经过艰苦卓绝的共同努力,KDE 1.0终于在1998年的7月12日正式推出。以当时的水平来说,KDE 1.0在技术上可圈可点,它较好的实现了预期的目标,各项功能初步具备,开发人员已经可以很好地使用它了。当然,对用户来说,KDE 1.0远远比不上同时期的Windows 98来得平易近人,KDE 1.0中大量的Bug更是让人头疼。但对开发人员来说,KDE 1.0的推出鼓舞人心,它证明了KDE项目开源协作的开发方式完全可行,开发者对未来充满信心。有必要提到的是,在KDE 1.0版的开发过程中,SUSE、Caldera等Linux商业公司对 该项目提供资金上的支持,在1999年,IBM、Corel、RedHat、富士通-西门子等公司也纷纷对KDE项目提供资金和技术支持,自此KDE项目 走上了快速发展阶段并长期保持着领先地位。但在2004年之后,GNOME不仅开始在技术上超越前者,也获得更多商业公司的广泛支持,KDE丧失主导地 位,其原因就在于KDE选择在Qt平台的基础上开发,而Qt在版权方面的限制让许多商业公司望而却步。

     Qt是一个跨平台的C++图形用户界面库,它是挪威TrollTech公司的产品。基本上,Qt同X Window上的 Motif、Open Look、GTK等图形界面库和Windows平台上的 MFC、OWL、VCL、ATL是同类型的东西,但Qt具有优良的跨平台特性(支持Windows、Linux、各种UNIX、OS390和QNX等)、 面向对象机制以及丰富的API,同时也可支持2D/3D渲染和OpenGL API。在当时的同类图形用户界面库产品中,Qt的功能最为强大,Matthias Ettrich在发起KDE项目时很自然选择了Qt作为开发基础,也正是得益于Qt的完善性,KDE的开发进展颇为顺利,例如Netscape5.0在从 Motif移植到Qt平台上仅仅花费了5天时间。这样,当KDE 1.0正式发布时,外界看到的便是一个各项功能基本具备的GUI操作环境,且在后来的发展中,Qt/KDE一直都保持领先优势。有必要提到的 是,TrollTech公司实质性参与了KDE项目,如前面提到Netscape 5.0 的移植工作就是由TrollTech的程序员完成,而KDE工程的发起者、Matthias Ettrich本人也在1998年离开学术界加入TrollTech,并一直担任该公司的软件开发部主管,因此TrollTech公司对于KDE项目拥有 非常强的影响力(当然不能说绝对掌握,毕竟KDE开发工作仍然是由自由程序员协作完成的)。我们前面提到,KDE采用GPL规范进行发行,但底层的基础 Qt却是一个不遵循GPL的商业软件,这就给KDE上了一道无形的枷锁并带来可能的法律风险。一大批自由程序员对KDE项目的决定深为不满,它们认为利用 非自由软件开发违背了GPL的精神,于是这些GNU的狂热信徒兵分两路:其中一部分人去制作Harmonny,试图重写出一套兼容Qt的替代品,这个项目 虽然技术上相对简单,但却没有获得KDE项目的支持;另一路人马则决定重新开发一套名为“GNOME(GNU Network Object Environment)”的图形环境来替代KDE,一场因为思想分歧引发的GUI之战开始了。

Linux Gnome 与KDE对决(二)

图3 Qt是整个KDE的基础,它采用双重授权。GNOME与KDE交替发展

     GNOME 项目于1997年8月发起,创始人是当时年仅26岁的墨西哥程序员Miguel De Icaza。关于GNOME的名称有一个非常有趣的典故:Miguel到微软公司应聘时对它的ActiveX/COM model颇有兴趣,GNOME(Network Object Model )的名称便从此而来。GNOME选择完全遵循GPL的GTK图形界面库为基础,因此我们也一般将GNOME和KDE两大阵营称为GNOME/GTK和 KDE/Qt。与Qt基于C++语言不同,GTK采用较传统的C语言,虽然C语言不支持面向对象设计,看起来比较落后,但当时熟悉C语言的开发者远远多于 熟悉C++的开发者。加之GNOME/GTK完全遵循GPL版权公约,吸引了更多的自由程序员参与,但由于KDE先行一步,且基础占优势,一直都保持领先 地位。1999年3月,GNOME 1.0在匆忙中推出,稳定性奇差无比,以至于许多人笑称GNOME 1.0还没有KDE 1.0 Alpha稳定,而同期的KDE 1.1.2无论在稳定性还是功能上都远胜于GNOME,直到10月份推出的GNOME 1.0.55版才较好解决了稳定性问题,给GNOME重新赢回声誉。由于思想分歧,当时GNOME的开发者与KDE的开发者在网络上吵得天翻地覆,几乎达到相互仇视的地步。但不管怎么说,GNOME都跌跌撞撞迈出了第一步,尽管那时KDE几乎是所有Linux发行版默认的桌面环境。

Linux Gnome 与KDE对决(二)

图4 GTK库是GNOME项目的基础,它完全采用GPL授权因此获得广泛支持。GNOME获得商业公司的支持

     GNOME 的转机来自于商业公司的支持。当时Linux业界的老大RedHat很不喜欢KDE/Qt的版权,在GNOME项目发起后RedHat立刻对其提供支持。为了促进GNOME的成熟,RedHat 甚至专门派出几位全职程序员参与GNOME的开发工作,并在1998年1月与GNOME项目成员携手成立了 RedHat高级开发实验室。1999年4月,Miguel与另一名GNOME项目的核心成员共同成立Helix Code公司为GNOME提供商业支持,这家公司后来更名为Ximian,它事实上就成为GNOME 项目的母公司,GNOME平台上的Evolution 邮件套件便出自该公司之手。进入2000年之后,一系列重大事件接连发生,首先,一批从苹果公司出来的工程师成立Eazel公司,为GNOME设计用户界 面和Nautilus(鹦鹉螺)文件管理器。同年8月,GNOME基金会 在Sun 、RedHat、Eazel、Helix Code(Ximian)的共同努力下正式成立,该基金会负责GNOME项目的开发管理以及提供资金,Miguel本人则担任基金会的总裁。此 时,GNOME获得许多重量级商业公司的支持,如惠普公司采用GNOME作为HP-UX系统的用户环境,SUN则宣布将StarOffice套件与 GNOME环境相整合,而GNOME也将选择OpenOffice.org作为办公套件,IBM公司则为GNOME共享了SashXB极速开发环境。同 时,GNOME基金会也决定采用Mozilla作为网页浏览器。KDE阵营也毫不示弱,在当年10月份推出万众瞩目的KDE 2.0。KDE 2.0堪称当时最庞大的自由软件,除了KDE平台自身外,还包括Koffice办公套件、Kdevelop集成开发环境以及Konqueror网页浏览 器。尽管这些软件都还比较粗糙,但KDE 2.0已经很好实现了Matthias Ettrich成立KDE项目的目标。也是在这个月,TrollTech公司决定采用GPL公约来发行Qt的免费版本,希望能够以此赢得开发者的支持。这 样,Qt实际上就拥有双重授权:如果对应的Linux发行版采用免费非商业性的方式进行发放,那么使用KDE无须向TrollTech交纳授权费用;但如 果Linux发行版为盈利性的商业软件,那么使用KDE时必须获得授权。由于TrollTech是商业公司且一直主导着KDE的方向,双许可方式不失为解 决开源与盈利矛盾的好办法。TrollTech宣称,双许可制度彻底解决了KDE在GPL公约方面的问题,但RedHat并不喜欢,RedHat不断对 GNOME项目提供支持,希望它能够尽快走向成熟,除RedHat之外的其他Linux厂商暂时都站在KDE这一边,但他们同时也在发行版中捆绑了 GNOME桌面。

     在2001-2002年,火热一时的Linux运动开始陷入低潮期,几乎所有的厂商都发现桌面Linux版本不可能盈利,而易用性的不足也让业界不看好 Linux进入桌面的前途。但在服务器市场,Linux发展势头非常迅猛,直接对UNIX和Windows Server造成威胁。不过,秉承自由软件理念的开发者们并不理会外界的论调,他们一直将Linux桌面化作为目标,GNOME项目和KDE项目都在这期 间获得完善发展。2001年4月,GNOME 1.4发布,它修正了之前版本的Bug,功能也较为完善,但在各方面与KDE依然存在差距;同年8月,KDE发展到2.2版本。2002年4月,KDE跳 跃到3.0版本,它以Qt 3.0为基础,各项功能都颇为完备,具备卓越的使用价值;两个月后,GNOME阵营也推出2.0版本,它基于更完善的GTK 2.0图形库。进入到2003年后,KDE与GNOME进入真正意义上的技术较量。1月份,KDE 3.1推出,而GNOME 2.4则在随后的2月份推出,两大平台都努力进行自我完善。也是在这一年,Linux商业界出现一系列重大的并购案:1月份,Novell公司宣布收购德 国的SUSE Linux,而SuSE Linux是地位仅次于RedHat的全球第二大Linux商业企业;8月,Novell接着将GNOME的母公司Ximian收归旗下。这两起并购案让 Novell成为实力与RedHat不相上下的强大Linux企业,而Novell和RedHat就成为能够影响Linux未来的两家企业。在图形环境 上,SuSE一向选择KDE,并在KDE身上投入相当多的精力,在被Novell并购后,SuSE的桌面发行版尽管还侧重于KDE,但同样不喜欢Qt授权 的Novell已经开始向GNOME迁移。

Linux Gnome 与KDE对决(二)

图5 KDE2.0拥有丰富的应用软件,实力明显超过GNOME。

     进入2004年后,KDE与GNOME依然保持快速发展,KDE阵营分别在2月份和8月份推出3.2、3.3版本,GNOME则在3月和9月推出2.6和 2.8,两者的版本升级步幅旗鼓相当。到3.3版本的KDE已经非常成 熟,它拥有包括KOffice、Konqueror浏览器、Kmail套件、KDE 即时消息在内的一大堆应用软件,且多数都达到可用标准,功能上完全不亚于Windows 2000。而GNOME更是在此期间高速发展,GNOME 2.8版本的水准完全不逊于KDE 3.3,而且此时两者的技术特点非常鲜明:GNOME讲究简单、高效,运行速度比KDE更快;KDE则拥有华丽的界面和丰富的功能,使用习惯也与微软 Windows较类似。商业支持方面,RedHat还是GNOME的铁杆支持者,IBM、SUN、Novell、HP等重量级企业也都选择GNOME,而 KDE的主要支持者暂时为SUSE、 Mandrake以及中科红旗、共创开源在内的国内发行商。2005年,厚积薄发的GNOME开始全面反超,3月份的 2.10、9月份的2.12让GNOME获得近乎脱胎换骨的变化,加之OpenOffice.org 2.0、Firefox 1.5等重磅软件的出台让GNOME如虎添翼;KDE方面则分别在3月和11月推出3.4和3.5,其中KDE 3.5也逼近完美境地,我们认为它的水平与GNOME 2.12不相伯仲。但KDE在商业支持方面每况愈下,Novell在11月宣布旗下所有的商业性发行版将使用GNOME作为默认桌面(仍会对KDE Libraries提供支持),SuSE Linux桌面版则会对KDE与GNOME提供同等支持,而社区支持的OpenSuSE仍将使用KDE体系―但谁都明白GNOME将成为Novell的重 心,KDE只是活跃在免费的自由发行版中。

Linux Gnome 与KDE对决(二)

图6 GNOME 1.4解决了稳定性问题,功能初步完善。

     到这里,我们发现一个颇富戏剧性的结局:致力于商业化的KDE反而失去了重量级商业企业的支持,尽管一些中小规模的Linux企业因技术能力问题将继续支持 KDE,但它的商业前途有限。而遵循GPL、完全不以商业化为目的的GNOME反而在该领域大 获成功。许多Linux发烧友都不明白为什么优秀的KDE会受到如此待遇,其实道理非常简单―没有哪一家重量级企业喜欢受制于人,也许KDE的Qt不需要 很多授权费,但谁知道TrollTech公司以后会不会漫天要价?既然有免费的GNOME可以选择,那为什么不呢?基于此种理由,RedHat、 Novell两家最大的Linux企业和SUN都采用GNOME,而它们对GNOME的鼎力支持也让该项目可拥有足够多的技术保证,为今后的高速发展奠定 坚实的基础。需要纠正一个可能的误解,虽然Novell收购了 Ximian,但RedHat并没有受到太大影响,双方对GNOME的贡献都是相互共享的,因为GNOME以GPL自由版权公约发行,合作即共赢。至于 KDE项目,虽然它失去这些商业巨头的支持,但没有能力转换桌面的中小Linux厂商将继续追随KDE,而且在非商业的社区Linux发行版中,KDE依 然有强大的生命力。

Linux Gnome 与KDE对决(二)

图7 KDE3.5可实现半透明和阴影效果,界面华丽、软件丰富。

     虽然在商业方面存在竞争,GNOME与KDE两大阵营的开发者关系并没有变得更糟,相反他们都意识到支持对方的重要性。如果KDE和GNOME无法实现应用程序的共享,那不仅是巨大的资源浪费,而且将导致Linux出现根本上的分裂。事实上,无论是GNOME的开发者还是KDE的开发者,他们都有着共同的目标, 就是为Linux开发最好的图形环境,只是因为理念之差而分属不同的阵营。KDE与GNOME的商业竞争对开发者们其实没有任何利益影响(只有 TrollTech会受影响),基于共同的目的,KDE与GNOME阵营大约从2003年开始逐渐相互支持对方的程序―只要你在KDE环境中安装GTK 库,便可以运行GNOME的程序,反之亦然。经过两年多的努力,KDE和GNOME都已经实 现高度的互操作性,两大平台的程序都是完全共享的,例如你可以在GNOME中运行Konqueror浏览器、Koffice套件,也可以在KDE中运行 Evolution和OpenOffice.org,只不过执行本地程序的速度和视觉效果会好一些。在未来一两年内,KDE和GNOME将进行更高等级的 融合,但两者大概永远都不会合为一体―GNOME还是 GNOME,KDE也还是KDE。或许你觉得这是浪费开发资源而且很可能让用户无从选择,但我们告诉你这就是Linux,它与Windows和Mac OS X有着绝然不同的文化。更何况全球有越来越多自由软件开发者(所以不必担心浪费开发资源),Linux用户的使用偏好也不可能总是相同,保持两个并行发展 的图形环境项目没有什么不妥。至于GNOME项目和KDE项目的开发者们,曾经因为理念不同而吵得天翻地覆,但他们现在尽释前嫌,因为所有人都意识到,他 们其实彼此需要,团结在一起可以让他们在硬件厂商面前有更大的发言权,从而促使厂商在推出Windows驱动的同时也提供相应的Linux版本,而且彼此 可以相互借鉴优秀的设计,确保Linux拥有一个最出色的图形桌面环境。

Linux Gnome 与KDE对决(二)
图8 GNOME 2.12保持惯有的简洁和高效KDE与GNOME走向融合

     2006 年,GNOME与KDE都站在一个全新的起点,获得商业公司和更多自由程序员支持的GNOME踌躇满志,将超越的目光放在Mac OS X系统。也许你认为Windows Vista的半透明和三维界面将Linux远远抛在后面,那么我们告诉你这是绝对的误解,GNOME目前已经可以实现类似的效果,Novell在前几个月 就向外界作过详细的演示。当前的KDE也可支持相当不错的半透明和阴影特效,技术上毫不落后于GNOME。现在,GNOME项目朝向革命性的3.0版本迈 进,KDE则致力于开发同样有重大技术变革的4.0,这两个成果大概在2007年可进入现实,届时Linux系统将具备更卓越的可用性。也就是 说,Linux桌面应用的全面铺开指日可待,而除了开发者和厂商的努力外,如何向企业和个人用户推广以及提供培训将是厂商要考虑的主要问题,我们今天恰好 站在这样的一道门槛上。

顶一下
(0)
踩一下
(0)