个人工具

Linux不是Windows/zh

来自Ubuntu中文

Oneleaf讨论 | 贡献2007年11月23日 (五) 18:15的版本

跳转至: 导航, 搜索


Tux.png != Windows.png
(Linux不是Windows)

Derived works

如果你跳转到了这个页面,那么十有八九你是一个Linux 的新用户,你正遇到许许多多的麻烦关于如何由Windows 转向Linux,这篇文章的目的正是向新手解释这个问题。由于这个大问题衍生出许多枝节,下面我将对此逐一进行讨论。


问题一:Linux 和 Windows 根本不一样

你一定会惊讶于有这么多人对Linux 发出相似的抱怨,他们奔向Linux,盘算着找到一个免费的、开源版的Windows。通常,这正是那些狂热的Linux 使用者所告诉他们去期待的状况。然而这却是个似是而非的期待。

人们尝试Linux 的原因不尽相同,但所有的原因都可以归结为一:他们希望 Linux 会比 windows 更优秀。正是出于这一点,Linux的小成本、更广泛的选择权、高性能和高安全性——当然,还有许多其它的方面——被作为与windows 比较时的衡量标准。往往每一个开始尝试Linux 的Windows 用户都是如此。

这正是问题之所在。

太多的人都忽略了这样一个事实:从逻辑上讲,在保持某样东西与被比较体完全相同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越原版。所以当你怀抱着linux 的使用方式该和使用 windows 差不多的观念而尝试 Linux ,并希望它能够做的更好,你便会无可避免的发现他们之间的不同,并且把这些不同之处看作是 Linux 的缺陷。

举一个简单的例子,让我们来想一想驱动程序的升级吧:通常的情况下,倘若我们要在 windows 下升级某个硬件的驱动,我们需要去硬件制造商的网站上找到并下载新的驱动;然而在 Linux 下,我们只须简单地升级内核即可。

这意味着在Linux 下,仅仅一次下载和升级便能提供所有适用的最新驱动,然而在 Windows 下我们却不得不浏览多个网站并分别下载升级程序。这是一个不同的过程。并且显然,这绝不会是一种糟糕的体验。然而却有很多人对此抱怨不停,只因为这不是他们习惯的方式。

或者从另一个更经常接触到的例子来看,想一想 Firefox ——开源软件伟大的成功例子、一个席卷全球的浏览器。它是通过模仿IE —— 那个“最流行的浏览器”而取得成功的吗?

不,它的成功是因为它比IE 更好 , 它之所以 更好 正是因为它 不同. 它有标签式浏览,实时书签,内建搜索条,PNG支持,adblock扩展,以及其它美妙的东西。"查找"工具条显示在底部的工具栏中,它能够查找你键入的内容并且以红色标识表示没有相匹配的内容。而IE没有标签页浏览,没有RSS功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击 "确认"按钮开始查找,而且还要再点击一次"确认"才能清除"未发现" 的错误提示。它明白无疑地证明了一个开源应用程序通过“不同”而做到了“更好”,依靠“更好”进而取得了成功。如果FF是一个IE的克隆,它必然早已微不足道地消逝在了IE的阴影之下。如果 Linux 是一个 Windows的克隆,同样的事情也会发生在 Linux 身上。

因此,解决这个问题的关键在于:记住 Linux 中那些对于你的使用习惯来说熟悉或相同的部分,Linux 不是 新版的 或 改进版的Windows。 积极地迎接那些不同之处,因为只有不同,Linux 才真正拥有闪耀出其光彩的机会。

问题二 : Linux 和Windows 不一样了

当人们期待着linux 有所特色的时候,又一个问题接踵而至。Linux 和Windows 实在是太不一样了,一些差异简直难以让人适应。也许最典型的例子就是可供linux 用户选择的东西实在是太多了。对于一个刚上手的windows 用户,他拥有一个经典 或 XP风格的桌面主题、写字板程序、IE浏览器,Outlook Express;然而对于一个初用linux 的家伙,他面前有上百种发行版供以挑选,此后,是Gnome 或者KDE 或者Fluxbox,Vi 或者emacs 或者kate,Konqueror 或者Opera 或者Firefox 或者Mozilla 或者其他随便什么带来的一系列选择,如此等等不一而足。

windows用户不曾为了安装和使用(一个OS)而面对过如此丰富的选择, “有必要来那么多种选择吗?”这样的抱怨帖子很常见。

Linux 真的 和Windows 有那么大的区别吗?不管怎么说,它们都是操作系统。它们都做同样的工作:操作你的计算机,让你有个东西运行你的应用程序,自然它们多少都有些共通的地方吧?

让我们从这个角度看问题:出门看看路上行驶的各种不同的车辆。所有的车辆不管是什么样的设计多少都有同样的目的:从路上把你由A处运到B处。注意它们有不同的设计。

但是你会想,汽车之间的差异非常小:它们都有方向盘,脚踏板,变速杆,手闸,车窗和车门,油箱……如果你能够开这部车,你就能开任何一部车。

确实如此。但你有没看见过有些人不开汽车,取而代之他们骑摩托车?

从一个版本的windows切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95到Win98,老实说我说不出什么区别。Win98到WinXp,区别比较大但是也没有什么真正的重大区别。

但是从windows 切换到Linux 就象从开汽车切换到骑摩托车。他们都是 操作系统/道路车辆。他们可能都使用同样的 硬件/道路。他们可能都提供一个运行应用程序的 环境/把你从甲地运到乙地 。但他们使用本质不同的两种方法达到目的。

Windows/汽车对于病毒/小偷并不安全,除非你安装反病毒软件/锁上车门。Linux/摩托车却没有病毒/车门,所以即使你没有安装反病毒软件/锁车门也非常安全。

让我们反过来看一看:

Linux/汽车 从根本上用于多用户/乘客。Windows/摩托车 用于单用户/乘客。每个 Windows 用户/摩托车驾驶员每时每刻都要习惯集中精力控制他的 计算机/车辆。而一个 Linux 用户/汽车乘客 只要在以根用户登录/坐在驾驶座上时才要习惯去控制他的 计算机/车辆。

通过两种不同的方法来达成同样的目标,他们各有长处和缺陷: 当载上一整个家庭的成员和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择: 它有充裕座位以及足够的储存空间。而在单人从甲地到乙地的旅程中,摩托车则是更好的伴侣:它不怎么会遇上堵车,消耗的燃油也更少。

无论选择了摩托或是汽车,仍有很多事情不会改变:你要把油加进油箱,把车开在同一条道上,必须遵守红绿灯和禁令,在转弯之前打转向灯,你也仍要遵守速度限制。

但是也终究有很多情形不同了:汽车驾驶者不必带着安全盔开车,摩托骑手不用系安全带,开车的人转动方向盘来转弯,摩托车驾驶者则要匐下身子改变重心,开车的人裁油门踏板来加速,而摩托车通过手旋转握把来控制加速。

一位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的,一个Windows 用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个Windows 高级用户在Linux 的使用过程中常遇上更多麻烦。那些根深蒂固的Windows 经验用户在面对问题时如果无法解决,常会觉得“如果我这么有知识的都搞不定,那新手就更不别想了”,因而得出的“Linux离桌面应用还有十万八千里呢”想法也便大错特错。

解决方法在于, Windows用户必须意识到他只是一个有经验的Windows用户,而不是有经验的电脑用户,Windows用户必须意识到当自己在尝试Linux时,他又成了一个新手。

问题三: 文化冲击

子问题 3a : 那一种文化

WINDOWS用户或多或少的处在一种消费者和提供者的关系,他们花钱买软件,获得授权,得到支持等等.他们希望软件能够有明确的可用性.因此他们习惯得到使用软件的权利,他们花钱去得到技术上的支持以及他们需要的权利,他们也得到了.他们也经常要与一些实体打交道:例如他们与一家公司签一份合同,而不是个人.

LINUX用户有着更多的一致性.他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力.他们免费下载软件,并且利用快速通信和到论坛去寻求帮助.他们和个人打交道,而不是公司.

一个Windows的用户如果只是把他的观点带到Linux中,那么他是不会喜欢上Linux的.要慢慢的改变观点.

引起矛盾的最大原因是在在线交流方面:一个刚刚用Linux的3a用户在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助.因为这正是他以前用付费的来获得帮助的方式.问题就是这不是付费提供帮助的系统.而是很多热心人发自内心的帮助其他人解决问题的系统.一个新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样.

相同的,一个Windows用户习惯了使用商业软件. 这些软件在没有做到足够的可靠性,功能性和对用户友好的截面前,公司是不会开放代码的.这正是Windows用户期待Linux下的软件的原因,从Linux1.0版本的软件开始,用户就希望尽快得到开放的代码.这样,真正需要这些的人就会很快的得到它,并且这也使开发者会在提高代码这方面感兴趣,因此整个团体就会知道接下来要做什么了.

如果一个3a用户在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求.并且他认为他有权利得到这样的满足.他的情绪将会有所改进,如果他等到这样的带有讽刺性的回答:如果我是你,我要求退款!

所以,对于3a用户,为了避免这些问题,应做到:只要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱.他们并不欠你任何东西.

子问题 3b : 新的 vs. 旧的

Linux几乎是因黑客的业余爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux在获得一个易于使用的可用安装程序前一直默默无闻。在相当长的时间里,它在大众眼中只是一个奇客而已。可以说Linux“始于奇客,馈于奇客”。直至今日,大多数Linux的老用户仍自认为是奇客。

这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群奇客们不断探寻解决方案这个状况显然一种明显的优势。

但长久以来Linux的成长仍旧十分有限。尽管存在一些可以被绝大多数安装的发行版本,甚至一些版本基于CD并且与用户使用的硬件并无冲突。当Linux开始因其无病毒和省级廉价而吸引一些非发烧友用户时,两大用户阵营间并不是罕有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互理解而已。

首先,你面临的是核心奇客们仍然假设所有使用Linux的用户们都是奇客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有些时候如此。但大多时候却并非这样:“每个人都应知道”这样的善意表达被说成了“地球人都知道!”——大相径庭。

其次,你面临着从使用的商用操作系统转投而来的新用户。这些用户已习惯使用人机界面友善的软件,他们也是不确定因素。

这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好重构系统,而第二类人对操作系统如何工作漠不关心,只要它能工作就好。

在乐高(Lego)发生的类似的情况正好阐述这种问题。试想下面的情景:

新用户(以下简称“新”):我想要一个新玩具汽车,每个人都因乐高汽车的优秀而着了迷。所以我也买了它,但当我到家后我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?

老用户(以下简称“老”):我要用造车而且要超脱于积木之外,这才是乐高的真谛。

新:什么??我不知道应怎样拼装这个车子。我不是个机械师。为什么我应该知道如何组装它?

老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。

新:好吧,我找到了步骤。这将占用我很多时间!为什么厂家不能装好了再卖给我,还得让我自己动手??

老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。

新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。无论如何,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?

老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。

新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!

老:那你干嘛吃多了撑的要买乐高?

很明显,对那些只想要一个玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这显而易见。

由于长久以来一直关注Linux的老用户,同样的问题在Linux上体现越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?

与乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用Linux的舒适性,这使得更广大的用户可以使用Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实吗?

因此,为了避免问题#3b:请铭记现在的Linux已今非昔比。Linux社区最大的也是最关键的组成部分——黑客和开发者们,他们因Linux的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。

注: 奇客:geek,词典中解释为因穿着不时尚和不懂得如何在社会中行事而作出一些怪事的人。现在指那些可以在电子和虚拟世界中非常有才华和想象力的发烧友。Geek宗教一般信仰科技或者颠覆科技。--chronmancer

问题 #4 为设计者而设计

在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。

但在Linux的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好”的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出vi,所以新用户不得不靠重起计算机退出的事情时有发生。

但是,FOSS程序员与商用软件程序员的一个最重大区别在于,FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户“舒适”的使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。

所尽管vi拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉后就会发现它原来无比强大。Firefox也是被经常浏览网页的人编写出来的。Gimp同样是出自经常处理图形文件的人之手。不胜枚举。

Linux的界面对于新手而言同样的有些“危险”。尽管vi名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在“计划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再不断改进界面。

所以为了避免问题#4:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨vi对新手不够友好只是舍本求末罢了。

问题 #5: “用户界面友好”的神话

“界面友好”是个重大议题。它是计算机领域一个重量级术语。它甚至是一部网络漫画的名字。但它也是一个令人误解的术语。

基本的想法是好的: 软件按照用户的需求来设计。 但它总被片面解释,实际的情形并非如此。

如果你花一生的时间来处理文本文件,你理想的软件应该是快速和高效的,它使你能够以最少的工夫做最多的事。它应该具有简单的键盘快捷键并能脱离鼠标操作。

但是,如果你几乎不编辑文本,仅仅偶尔写封信,那么你一定不愿被记忆键盘快捷键所折磨。组织良好的菜单和工具栏上清晰的图标一定是你向往的。

显然,为满足第一个用户的需求而设计的软件一定不适合第二个人,反之亦然。应此,假如我们的需求各不相同哪有软件能称为“界面友好”呢?

简单的回答是:“界面友好”是个误解,令使用困难的也可能是简单界面。

那么“界面友好”为什么又如此有意义呢?当人们谈起“界面友好”时它意味着“软件应该对先前没有该软件使用经验的用户有一定程度的易用性” 遗憾的是,那些设计粗糙但却为人熟悉的界面常常获此美名。

"用户友好"的神话

在电脑世界里,“用户友好“是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。

基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。这个方法一直都被认为是单一的实现办法,但事实并非如此。

如果你一辈子都在进行文书处理的工作,理想的软件对你来说就是个快捷强大、能让你投入最小的精力来实现最大的工作效率的字处理软件。简单的键盘快捷键和无须鼠标的操作将是最基本的需求。

但如果你很少做字处理的工作,你只是要写一封普通的信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。

很明显,你为某个用户的需求所设计的软件可能对其他的用户来说并不合适。如此说来,若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢?

简单来说:“用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。

那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手“。这就使得那些看上去用户界面都差不多的软件都被归类为“用户友好“。

子问题 #5a: 熟悉的就是友好的

所以在大多数被认为“用户友好”的文字编辑 和文字处理的系统中,你的剪切和复制使用 “Ctrl-X” 和 “Ctrl-V”来完成,这完全 不直观, 但是每个人都习惯这些快捷键, 所以他们把这当作“友好的”快捷方式.

如果有人使用 vi并且发现里面“d”是剪切, "p"是复制,这将被当成是不友好的: 因为这不是大多数人习惯的方式.

但这是更好的方式吗? 明显是的.

如果使用“Ctrl-X”的方法,你怎样从你当前正在编辑的文件中剪切一个单词?(没有鼠标的前提下!)

你必须从开头的字符开始,用“ Ctrl-Shift-Right”来选择单词.

然后“ Ctrl-X”把它剪切下来.

vi中的方式呢?“dw”就是删除单词的意思.

如果要剪切 5个单词使用 “Ctrl-X” 方式会出现什么情况呢?

从开头的单词开始:

“Ctrl-Shift-Right”

“Ctrl-Shift-Right”

“Ctrl-Shift-Right”

“Ctrl-Shift-Right”

“Ctrl-Shift-Right”

“Ctrl-X“

要使用5个动作

在VI中的情况呢?

d5w

只要上面一个动作

vi方式具有更好的功能性和直观性 。“X” 和 “V” 并不是能够直观记忆“Cut”和 “Paste” 命令的,反之 “dw” 对于“delete" 和“p” 对于“Paste”更加直观,相对于“X”和“V”方面,vi明显是更好的。可是由于她不是大家所熟悉的, 因此她被认为是不友好的。 并不是因为其他的原因, 纯粹的习惯因素使得Windows成为了更加友好的系统。 因此我们要学习章节 #1: Linux和Windows根本不一样。告诉大家:无可避免, Linux 经常显得没有Windows“友好”。

为了避免#5a 的问题,你们要记住“友好”并不意味着习惯,试着用你的方式来做事,如果没有用的话,试着想想一个初学者会怎么做,然后你就知道了更简单的方法。

子问题 #5b:低效的就是友好的

这是一个可悲的但无法逃避的事实。似乎你越想提高一个程序的功能性,它就看起来越友好。 

这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:

  • 他会认为 "Ctrl-B" 是通常的方法。 
  • 他会寻找线索,并尝试点击 "编辑" 菜单。 如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:"格式"。新的菜单有一个看起来很有希望的"字体" 选项。嗨! 这里有我们想要的"粗体" 选项。 成功了!

下次你再做任何文字处理,都想试着通过菜单来完成每一件工作: 不用快捷键,也不用工具栏图标。菜单就是一切。当任务突然需要大量按键和鼠标点击时,你会发现你比爬还慢。

这样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来, & 不需要任何技巧和经验。这对一个初学者来说是完美 的。但是没有人会觉得所有的 自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌 你要做的第一件事就是除去这不必要的阻碍: 一旦你知道怎样骑车了,辅助轮就没用了。

同样的道理,大量的 Linux 软件是设计成不带“辅助轮”的——它是为已经有一些使用的基本技能的用户设计的。毕竟,没有人是永远的新手: 无知是短命的,知识是永远的。因此 Linux 软件是以大量的知识为前提设计的。 

这听起来也许像是借口:毕竟,MS Word 有所有友好的菜单,并且 有各种工具栏按钮, 而且 有快捷键……它是世界上最棒的。真的吗? Friendly and efficient.

然而,我们必须透过表象看问题。首先,这个想法的可行性:让一个软件拥有菜单、工具栏、快捷方式等一切意味着大量的源代码编写,而没人为linux开发者花费的时间付帐; 其次, 这样做依然没有真正考虑到那些高端用户:极少有专业的文字录入者使用MS Word。你见过哪个编程的人用MS Word吗?与此相比,想想有多少人用emacs & vi. 

为什么会这样?首先,这是因为某些“用户友好”的行为会导致低效:参看上面的“剪切 &粘贴”的例子。其次,这还因为Word大部分的功能被放在了菜单里,因此你不得不使用菜单。只有某些最常见的功能可以作为按纽被放在界面的工具栏上。高级用户不得不花大量的时间来找到那些较少用道,但对高级用户来说依然很常用的的功能。

另外请记住,不管怎样,那些"辅助轮"在Linux软件中也同样有,尽管他们不是那么容易被发现,但实际在linux中通常都会有。

mplayer播放器为例。你可以在终端输入 mplayer 视频文件名命令来播放视频文件 .你可以使用方向键,PageUp、PageDown键进行快进、后退等操作.这些可能还不能称之为完全的"用户友好",但如果你在终端输入gmplayer 视频文件名 ,你就会看到图形版的播放器,它同样拥有漂亮、友好的界面,熟悉的按钮。

再用從CD 轉換到MP3 (或 Ogg) 為例: 如果使用命令行, 你需要先使用 cdparanoia 命令. 然後你再需要一個編碼器. . . 這會是一個惡夢, 就算你完完全全清楚如何使用 (imho) 包. 所以, 下載和安裝 Grip吧. 這是一個容易使用的圖形軟體, 自動的在背後使用 cdparanoia 命令和編碼器, 令你的轉換過程變得簡單, 甚至支持 CDDB, 能自動為你的檔案命名

The same goes for ripping DVDs: The number of options to pass to transcode is a bit of a nightmare. But using dvd::rip to talk to transcode for you makes the whole thing a simple, GUI-based process which anybody can do.

So to avoid #5b issues: Remember that "training wheels" tend to be bolt-on extras in Linux, rather than being automatically supplied with the main product. And sometimes, "training wheels" just can't be part of the design.

问题#6: 模仿 vs. 收敛

当人们发现 Linux 不是他们想要的 Windows 复制品时经常争论一件事,就是坚持认为这是 Linux 一诞生就在(或应该在)努力的方向,而且那些不明白这一点的人错误地帮助 Linux 更像 Windows 。他们因为这一点而展开大量争论:

Linux 已经从命令行时代进入了图形界面时代,这是要复制 Windows 的明显尝试。

好理论,但是错的:最初的 X 窗囗化系统是作为1983年被移植到 Unix 上的 W 窗口化系统的后继者在 1984 年发布的。而 Windows 1.0 是在 1985 年发布的。Windows 在1990年发布第三版之前并没有做大——那时,X 窗口化系统已经演化成我们今天使用的 X11 好几年了。Linux 在1991年才开始,所以 Linux 没有开发一个 GUI 来模仿 Windows :它只是使用了一个在 Windows 出现前就已经存在的 GUI 。

Windows 3 让位于Windows 95 ,后者带来了UI的革命性变化;在这以后很多年,微软都没能作出与此类似的创举。Windows 95带来了多项创新特性:拖放功能、任务栏等等。 当然,这些也同样被Linux所借鉴。

事实上……不是这样的。上述所有的特性在Microsoft使用前就已经出现了。尤其是NeXTSTeP是一个非常先进(就当时而言)的图形用户界面,它明显早于Win95──1989年发布了第一版,1995年发布了最后一版。

所以Microsoft并没有想出被我们认为是Windows感观(Look-and-Feel)的独有特性。但它还是创造了一种感观(Look-and-Feel),Linux从那以后尝试模仿它。

为了拆穿这些,我们可以引用一个经常被讨论的说法 : 趋同现象. 它说的是:两个不同的,各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍、和尾鳍,以及同样的流线型外形。

但是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上的哺乳动物进化而来的。他们拥有类似外形是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚看到鲨鱼以后就开始想“Wow,看看鲨鱼的鳍,它们非常有用。我也这样进化一套自己的鳍”

同样,如果先看早期的Linux桌面、FVWM和TWM以及许多简陋的GUI系统,然后在看看今天的Linux桌面、Gnome和KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的Linux比早期的更像Windows了。

另一方面,Windows也同样如此;我印象中Windows 3.0没有任务栏。那么开始菜单呢? 什么 开始菜单?

Linux过去没有任何桌面项类似今天的Windows,Microsoft过去也没有。现在他们都有了,这说明什么问题呢?

这说明两个开发阵营的成员都在寻找提升GUI性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到问题#6的困扰了 。

问题7: 那些 FOSS 东西。

噢,这导致了问题。 非本质的: 自由和开源的软件是整个事情中一个极好的和很重要的部分。但是对于一些人,理解 FOSS 和 私有软件的不同是一个很大的改变。 

我已经提醒了一些事实,人们认为他们需要和喜欢技术支持。但是事实离那样很远。 

微软的使命声明是 "A computer on every desktop" - 不言而喻,每一台计算机应该运行 Windows。微软和苹果公司都销售操作系统,都尽他们最大的努力来保证大多数的人们使用他们的产品:他们是企业,为了赚钱。

并且那里是 FOSS 。甚至今天,几乎完全是非商业的。

当你发电子邮件告诉我,Red Hat, Suse, Linspire 和所有: 是的,我知道他们在“销售” Linux。 我知道他们都爱 Linux 被广泛的采用,特别是他们自己的版本。但是不要混淆提供人和制造人。Linux 内核不是被一个公司创造,不是被人们维持以获取利润。这些 GNU 工具不是被一个公司创造,不是被人么维持以获取利润。这 X11 视窗系统 . . . 恩, 当前最流行的实现是 xorg ,并且".org" 应该告诉你需要知道的。桌面软件:恩,获取你可以提出一个例子,如 KDE ,基于 它的基础 Qt 是 商业化的。[译者注:现在 Qt 已经不是商业化的了]。但是 Gnome, Fluxbox, Enlightenment等等,都是非盈利的。那里 有人销售 Linux, 但是那是非常少数的。

私有软件最终用户数量的增加导致了制作那些软件的公司的直接的经济效益。对于 FOSS ,并不是这样的,使用人数的增加并不会产生直接的收益,是的,个人自豪,查找 Bug 的能力的增长,吸引新的开发者更多的可能性,可能的一个好的工作的机会,等等。 

但是 Linus Torvalds 没有从 Linux 的使用获取金钱。Richard Stallman 没有从 GNU 增长的使用中获取金钱。所有运行 OpenBSD 和OpenSSH 的服务没有放一便士到 OpenBSD 项目的钱袋中去。所以我们来看在 Linux 和新用户之间所有的问题中,这个最大的问题:

他们发现了不想要的东西。

新用户来到 Linux ,他们曾经使用一种操作系统,那时,最终用户的需求时至高无上的,并且“用户友好性”“以用户为中心” 被认为是真实的圣杯。并且他们突然发现他们自己将要使用的操作系统:仍然依赖于 'man' 文档,命令行, 手动编辑配置文档,和 Google。并且当他们抱怨时,他们没有获得溺爱或者承诺更好的东西:他们被直接指向了一扇门。

当然,夸大其词了。但是,它 他们尝试去转变到 Linux 但是失败后遇到的许多潜在的感受。 

从一个古怪的方面来说,FOSS 事实上是一个非常自我的发展方法: 人们工作,仅当他们想工作的时候,仅工作在他们想工作的东西。大部分人们没有看到任何的需求,让 Linux 对没有经验的用户更有吸引力:它已经按照 他们 想要的工作了, 为什么他们应该关心它为什么没有为另外的人工作? 

FOSS 和 Internet 自身有很多相似的地方:你不需要付钱给一个网页/软件的作者,去下载和阅读/安装它。对于已经 有了宽带/知道如何使用软件的人们来说,无限的宽带/用户友好的界面 并不是很感兴趣的。博客/开发者不需要很多的读者/用户来证明写博客日志/编码 那里 有许多人获得了很多的钱从它,但是它并不是大部分商业迷恋的旧的规则:“我拥有这个 并且你必须付款给我,如果你想要一些”;它提供服务如技术支持/电子商务 

Linux 对市场份额不感兴趣。Linux 没有客户。Linux 没有股东,或者一个对账本底线的责任。Linux 不是为了赚钱而创造的。Linux 没有成为这个星球上最流行和最普及的操作系统的目标。

所有的 Linux 社区想要一种确实好,充满特色,自由的操作系统。如果结果 Linux 成了一种非常流行的操作系统,那么是美妙的。如果结果 Linux 拥有直觉的,用户友好的界面,那么是美妙的。如果结果 Linux 成为一个数十亿美元的产业的基础,那么是美妙的。

它是美妙的, 但是它不是要点。要点是,让 Linux 成为社区最大能力上能制作的最好的操作系统。不是为了别人:为了它自己。这个如此普遍的威胁关于 “Linux 永远不会占领桌面除非它如此这般”是不恰当的:Linux 社区不是 尝试 占领桌面。他们真的不关心,它是否足够好放到 你的 桌面,只要它运行的足够好保持在 他们的桌面。 微软的憎恶者,Linux 的狂热者,FOSS 的承办商或许是喧抄的,但是他们仍然是少数的。

那时 Linux 社区想要的:一种操作系统能够被任何想要它的人安装。所以如果你在考虑转向 Linux ,首先,问你自己什么是真的想要的。

如果你想要一种操作系统,不需要一个司机在你身边,但是给你钥匙,把你放在驾驶员的座位上,并且期望你知道在做什么:获得 Linux 。你将必须投入时间去学习如何使用它,但是一旦你学会了,你将拥有一种能够站起来跳舞的操作系统。

如果你事实上只是想要没有恶意软件和安全问题的 Windows:攻读好的安全实践;安装好的防火墙,恶意软件检测程序, 和杀毒软件;替换 IE 用一个更安全的浏览器;并且保持你自己更新到最新的安全更新。那里有人(包括我自己)使用 Windows 从 3.1 到 XP,从来不曾被病毒或者恶意软件感染:你也可以做到。不要获得 Linux:它将会非常不幸的失败,当你想要它是那样。

如果你事实上想要一种基于 Unix 的操作系统的安全和性能,和以客户为中心的特性和一个世界上有名的界面:购买苹果公司的 Mac. OS X 是很好的。但是不要获取 Linux:它将不会做你想要它做的。

它不仅是关于“为什么我应该想要 Linux?”。它也是关于“为什么 Linux 应该想要我?”