[FZH] GNOME失败之路

Ma Xiaojun damage3025 at gmail.com
Mon Nov 26 09:46:49 UTC 2012


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

其实你这么说有点不公平,KDE强调定制,GNOME强调开箱即用(虽然他们现在走火入魔了)。就好像你比较单项Feature的话,Windows可能比Mac
OS X多不少,但是大家都觉得Mac OS X有种不同的设计感。

> 原因就在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获得大公司的资金和人员上的直接资助是事实。

其实最早也就是一个人拉几个基友一起开发的项目吧。早期Linux还有收费用Motif+CDE的呢,其实也没什么,比当时的Solaris还有性价比多了就是了。其实那些大公司希望GNOME取代的就是CDE。不过企业应用GNOME
Shell就有点搞笑的感觉了,虽然上次列表上一个Oracle的人说其实GNOME Shell在Solaris也是能跑的。

> 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}

其实那个时候MFC那种C with classes流行了很多年了吧,当然Qt是个概念上先进,又跨平台的选择。
GTK用C实现对象系统实在是比较蛋疼。KDE是早于GNOME的,如果那时候GTK有点成型了可能KDE直接就用了。

> 由于没有协议的问题,GNOME获得了飞快的发展。从1997年立项开始没过多久,就迅速的变成各
> 大发行版的默认桌面环境。
>
> GNOME的目的是提供一个完全自由的桌面。通过使用完全GPL的Gtk进行开发,GNOME规避了KDE
> 可能遇到的潜在风险。为了应对这件事,Troll Tech宣布Qt以GPL许可发布。Qt正式开始了GPL和商
> 业授权的双授权模式。可以说,Qt采用GPL协议后,GNOME事实上已经没有存在的必要了。而Qt最
> 后被Nokia收购的时候,更是采用了LGPL协议发布,连开发商业软件都不再需要购买授权了。
这个逻辑真是,已经有的GNOME用户怎么办?包括Solaris上的,通通改学KDE去?存在就是存在,没什么好否认的。

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

GNOME Shell并不失败,关键是你要看清GNOME在干嘛。

GNOME 2是什么?GNOME 2是自由的,适用于各种Unix的,改进的,Windows 95模式的桌面。
Windows 95模式是至今广为企业和中高级用户接受的模式。要各种定制的,其实大部分都是伪需求,不提高工作效率的。(真要定制各种WM还有KDE摆在那里,乐趣无穷,是不是稳定可靠就要打问号了)

GNOME Shell是什么?是自由的,适用于Fedora Linux的,改进的,iPad模式的桌面。
iPad模式是什么,同一时间只干一件事,要切换,请按键。
iPad目前非常成功,但是之后的前途仍然存在变数。而且有人发现iPad主要用于游戏娱乐。当然这年头找游戏不难,Chrome里面就有。
有人也许说很多App现在还是桌面风格的App啊。我只能说这是他们太忙了,连删feature都没时间。Nautilus
3.6为什么能一下子删掉那么多?因为开发者有时间嘛,把删除任务悉数完成。
https://live.gnome.org/Nautilus/Roadmap/3.6
可是删feature毕竟是一件反人类的事情,为什么他们坚持那么做,因为他们心目中理想的GNOME可能和你想象的完全不同,看看下面的页面就知道了:
https://live.gnome.org/Design/Apps


More information about the Chinese mailing list