[FZH] GNOME失败之路

微蔡 microcai at fedoraproject.org
Mon Nov 26 09:15:36 UTC 2012


GNOME 是各个主流发行版的默认桌面环境。不过这个名声得来的有点不是那么厚道,起码不是靠
实力获得的。GNOME无论是在易用性还是在可定制性上都离KDE差了一大截。GNOME能获得今天
的成就,原因是
一开始就站在了道义的制高点牵制住了KDE。这是为何呢?

原因就在Qt上。{}Matthias Ettrich{}开发KDE选择了Qt。而当时的Qt并不是一个开源软件。Qt由一家
叫做Troll Tech的公司掌握。Qt采取办法是的是对开源软件的开发使用免费授权,只有开发商业软件
才需要购买商业授权。但是社区的一些人开始担心Qt的未来。
特别是RedHat这样的大公司,不希望Linux桌面被一家挪威公司掐住咽喉。于是 RedHat 伙同 IBM 
,再拉上其他公司\textbf{资助}了另一个项目:GNOME。

没有大公司的资助GNOME从一开始就不会存在。所谓兵马未动粮草先行嘛。GNOME名义为社区项
目,实际上参与GNOME开发的人有大量是Linux界有影响力的大公司的全职员工。
特别是RedHat派出了数量最多的人员参与了GNOME项目。因此在一些人当中流传GNOME是RedHat
项目的说法。这当然是无稽之谈,不过GNOME获得大公司的资金和人员上的直接资助是事实。

GNOME为了避免KDE依赖于一个私有的Qt软件的弊端,选择了Gtk作为其GUI界面库。GTK是GIMP
的副产品。全称为 Gimp Tool Kit。是为了开发GIMP而编写的一个UI库。同Qt一样是对Xlib的一次包
装。
和Qt不同的是Gtk采用C语言开发。

相比采用不标准的C++语言, GNOME选择了同Gtk一样使用C语言进行开发。当时C++还不是一个标准
语言,使用C++的开发者并没有C语言多。所以从一开始GNOME的选择就能吸引更多的社区开发
者。

\begin{notice}
注意:C++语言的第一个标准是在 1998 年通过的,又叫C++98标准。第二个C++标准是2011年通过
的,叫C++11。有人会提到2003年通过的C++03,那个是对标准库的一次扩充和修正,语言本身没
有变化。
所以KDE创立于1996年,实际上是在使用一个没有标准的语言。标准要到2年后才有。
\end{notice}

由于没有协议的问题,GNOME获得了飞快的发展。从1997年立项开始没过多久,就迅速的变成各
大发行版的默认桌面环境。

GNOME的目的是提供一个完全自由的桌面。通过使用完全GPL的Gtk进行开发,GNOME规避了KDE
可能遇到的潜在风险。为了应对这件事,Troll Tech宣布Qt以GPL许可发布。Qt正式开始了GPL和商
业授权的双授权模式。可以说,Qt采用GPL协议后,GNOME事实上已经没有存在的必要了。而Qt最
后被Nokia收购的时候,更是采用了LGPL协议发布,连开发商业软件都不再需要购买授权了。

重重危机下,也许是GNOME推出失败之作Gnome-Shell的原因吧!


-- 
 ______________ 
< gentoo rocks >
 -------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.fedoraproject.org/pipermail/chinese/attachments/20121126/06d71f7e/attachment.sig>


More information about the Chinese mailing list