个人工具

“Linux不是Windows/zh”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
问题七:FOSS──自由和开源
 
(未显示52个用户的117个中间版本)
第1行: 第1行:
{{Translation}}
+
{{From|http://linux.oneandoneis2.org/LNW.htm http://www.yeeyan.com/articles/view/sctronlinux/1410}}  
{{From|http://linux.oneandoneis2.org/LNW.htm}}
+
{{Translator|laborer ekeng Chronmancer Sterec Luofei 袁超 fantasy2 sctronlinux}}
{{Translator|laborer ekeng Chronmancer Sterec Luofei 袁超 fantasy2}}
+
{{Verifier|Sirxenofex}}
 
{{Languages|Linux不是Windows}}
 
{{Languages|Linux不是Windows}}
 
+
<center>
<center class="">
+
<p>
<p><i>在这篇文章中,我将用"Linux"表示GNU/Linux操作系统和各种FOSS(译注:自由、开源的软件,Free / Open Source Software)项目,这样读起来会顺畅些。
+
在以下的文章中,我要讲的是GNU/Linux OS 和各种免费的和开源的软件(FOSS)项目,总称为"Linux"。这样看起来更好些。
</i>
+
 
</p>
 
</p>
 
<h1>[[image:tux.png]] != [[image:windows.png]]
 
<h1>[[image:tux.png]] != [[image:windows.png]]
 
<br>
 
<br>
 
(Linux不是Windows)</h1>
 
(Linux不是Windows)</h1>
<p style="text-align: center;"><small>[http://geekblog.oneandoneis2.org/index.php/2005/12/31/derived_works_aamp_translations Derived works]</small></p>
+
<small>[http://geekblog.oneandoneis2.org/index.php/2005/12/31/derived_works_aamp_translations Derived works]</small></center>
<div style="text-align: justify;">
+
<p class="MsoNormal"><span style="">
+
  
如果你跳转到了这个页面,那么十有八九你是一个Linux 的新用户,你正遇到许许多多的麻烦关于如何由Windows 转向Linux,这篇文章的目的正是向新手解释这个问题。由于这个大问题衍生出许多枝节,下面我将对此逐一进行讨论。</span></p>
+
如果你访问了这个页面,那么十有八九你是一个 [http://zh.wikipedia.org/wiki/Linux Linux] 的新用户,你正遇到许多关于如何由 Windows 转向 Linux 的困惑,这篇文章的目的正是向新手解释这个问题。由于这个大问题衍生出许多枝节,下面我将对此逐一进行讨论。
  
 +
=== '''问题一:Linux 和 Windows 不太一样'''  ===
  
 +
你一定会惊讶于有这么多人对 Linux 发出相似的抱怨,他们奔向 Linux,希望找到一个免费的、开源版的 Windows。通常,这正是那些狂热的 Linux 使用者所告诉他们的那种状况。然而这却是个荒谬的期待。 人们尝试 Linux 的原因不尽相同,但所有的原因都可以归结为一点:他们希望 Linux 会比 Windows 更优秀。成本、选择范围、性能和安全性是通常衡量操作系统好坏的标准。当然,还有许多其它的方面,但当 Windows 用户转向 Linux 时,他们在这四方面将两者做比较,因为他们希望在这些方面Linux做的更好。
  
<h3><b><span style="">问题一:Linux 和 Windows 根本不一样</span></b></h3>
+
这正是问题之所在。
  
<p class="MsoNormal"><span style="">
+
从逻辑上讲,在保持某样东西与参考物体完全相同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越母版。所以当你带着 Linux 更好的希望来尝试它的时候,你便会不可避免地发现它的不同。太多的人都忽略了这样一个事实,并且'''把这些不同之处看作是 Linux 的缺陷'''。
你一定会惊讶于有这么多人对Linux 发出相似的抱怨,他们奔向Linux,盘算着找到一个免费的、开源版的Windows。通常,这正是那些狂热的Linux 使用者所告诉他们去期待的状况。然而这却是个似是而非的期待。
+
</span></p>
+
  
<p class="MsoNormal"><span style="">
+
举一个简单的例子,升级驱动程序:在 Windows 下升级某个硬件驱动,通常的情况下,我们需要去硬件制造商的网站上找到并下载最新的驱动,如今Windows 7已经可以自动更新最新的驱动程序,而不需要用户过多的参与;然而在 Linux 下,我们要做的是升级内核。
人们尝试Linux 的原因不尽相同,但所有的原因都可以归结为一:他们希望 Linux 会比 windows 更优秀。正是出于这一点,Linux的小成本、更广泛的选择权、高性能和高安全性——当然,还有许多其它的方面——被作为与windows 比较时的衡量标准。往往每一个开始尝试Linux 的Windows 用户都是如此。</span></p>
+
  
<p class="MsoNormal"><span style="">
+
这意味着在 Linux 下,仅仅一次下载和升级便能提供所有适用的最新驱动,然而在旧版本的Windows 下我们却不得不浏览多个网站并分别下载升级程序。只是过程有所不同,但是绝对不是说更糟糕。然而却有很多人对此抱怨不停,只因为这不是他们习惯的方式。
这正是问题之所在。</span></p>
+
  
<p class="MsoNormal"><span style="">太多的人都忽略了这样一个事实:从逻辑上讲,在保持某样东西与被比较体完全相同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越原版。所以当你怀抱着linux 的使用方式该和使用 windows 差不多的观念而尝试 Linux ,并希望它能够做的更好,你便会无可避免的发现他们之间的不同,并且把这些不同之处看作是 Linux 的缺陷。</span></p>
+
或者从另一个更经常接触到的例子来看,想一想 [http://www.mozilla.com/en-US/firefox/ Firefox] ——开源软件最成功的案例之一。这是一个席卷全球的浏览器,难道它是通过模仿 IE ——那个“最流行的浏览器”而取得成功的吗?
  
<p class="MsoNormal"><span style="">
+
不,它的成功是因为它比 IE 更好,它之所以更好正是因为'''它的不同'''。它有标签页浏览方式,实时动态的书签,内建搜索工具栏,PNG图像格式支持,广告过滤扩展,以及其它的好东西。“查找”工具条显示在底部的工具栏中,它能够在你键入的时候就查找内容并且以红色表示没有相匹配的内容。而 IE 却没有标签页浏览,没有 RSS 订阅功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击“确认”按钮开始查找,而且还要再点击一次“确认”才能清除“未发现”的错误提示。(译者注:现在IE也有类似的功能了)这个鲜活的案例,证明了一个开源的应用程序通过“不同”而做到了“更好”,依靠“更好”进而取得了成功。如果 Firefox 只是一个 IE 的克隆,它必然早已销声匿迹于 IE 的阴影之下了。如果 Linux 是 Windows 的一个克隆,同样的事情也会发生在 Linux 身上。
举一个简单的例子,让我们来想一想驱动程序的升级吧:通常的情况下,倘若我们要在 windows 下升级某个硬件的驱动,我们需要去硬件制造商的网站上找到并下载新的驱动;然而在 Linux 下,我们只须简单地升级内核即可。</span></p>
+
  
<p class="MsoNormal"><span style="">
+
因此问题一的答案就是:记住 Linux 其实与你熟悉的东西很相似,很有亲和力,它并不是全新和改进过的。积极地面对那些不同之处,因为只有不同,Linux 才有机会真正闪耀出其光彩
这意味着在Linux 下,仅仅一次下载和升级便能提供所有适用的最新驱动,然而在 Windows 下我们却不得不浏览多个网站并分别下载升级程序。这是一个不同的过程。并且显然,这绝不会是一种糟糕的体验。然而却有很多人对此抱怨不停,只因为这不是他们习惯的方式。</span></p>
+
  
<p class="MsoNormal">
+
=== 问题二:Linux 和 Windows 太不一样了 ===
或者从另一个更经常接触到的例子来看,想一想 Firefox ——开源软件伟大的成功例子、一个席卷全球的浏览器。它是通过模仿IE —— 那个“最流行的浏览器”而取得成功的吗?
+
</p>
+
  
<p class="MsoNormal">
+
当人们期待着 Linux 有所不同时,又一个问题接踵而至。Linux 和 Windows 实在是太不一样了,一些差异简直难以让人适应。也许最典型的例子就是可供 Linux 用户选择的东西实在是太多了。对于一个刚上手的 Windows 用户,他已拥有一个经典的或 Windows XP 风格的桌面主题、一个写字板程序、一个IE 浏览器、一个Outlook Express来收发邮件;然而对于一个初学 Linux 的家伙,他面前有上百种发行版供其挑选,然後,是 Gnome、KDE 或者 Fluxbox(桌面环境),vi、emacs 或者 kate(文本编辑器),Konqueror、Opera、Firefox 或者 Mozilla(网页浏览器),或者其他一系列可供选择的工具。 Windows 用户不曾为了安装和使用(操作系统)而面对过如此丰富的选择。“有必要提供那么多种选择吗?”这样的抱怨帖子很常见。
不,它的成功是因为它比IE <span style="font-style: italic;">更好</span> , 它之所以 <span style="font-style: italic;">更好</span> 正是因为它 <span style="font-style: italic;">不同</span>. 它有标签式浏览,实时书签,内建搜索条,PNG支持,adblock扩展,以及其它美妙的东西。<span style="font-style: italic;">"查找"</span>工具条显示在底部的工具栏中,它能够查找你键入的内容并且以红色标识表示没有相匹配的内容。而IE没有标签页浏览,没有RSS功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击 <span style="font-style: italic;">"确认"</span>按钮开始查找,而且还要再点击一次<span style="font-style: italic;">"确认"</span>才能清除<span style="font-style: italic;">"未发现" </span>的错误提示。它明白无疑地证明了一个开源应用程序通过“不同”而做到了“更好”,依靠“更好”进而取得了成功。如果FF是一个IE的克隆,它必然早已微不足道地消逝在了IE的阴影之下。如果 Linux 是一个 Windows的克隆,同样的事情也会发生在 Linux 身上。<span style="">
+
</span></p>
+
  
<p><span style="">
+
Linux 真的和 Windows 有那么大的区别吗?不管怎么说,它们都是操作系统。它们都做同样的工作:操作你的计算机,让你有个运行应用程序的东西,自然它们多少都有些共通的地方吧?
因此,解决这个问题的关键在于:记住 Linux 中那些对于你的使用习惯来说熟悉或相同的部分,Linux <span style="font-weight: bold;">不是</span> 新版的 或 改进版的Windows。 积极地迎接那些不同之处,因为只有不同,Linux 才真正拥有闪耀出其光彩的机会。</span></p>
+
  
<h3><span style=""></span><span style=""><b>问题二 : Linux 和Windows <span style="font-style: italic;">太</span>不一样了</b></span></h3>
+
让我们从这个角度看问题:出门看看路上行驶的各种不同车辆。所有的车辆不管是什么样的设计,都有同样的目的:从路上把你由 A 处运到 B 处。注意它们有不同的设计。
  
<p class="MsoNormal"><span style="">
+
但是你会想,汽车之间的差异非常小:它们都有方向盘、脚踏板、变速杆、手刹车、车窗、车门、油箱……如果你能够开这部车,你就能开任何一部车。
当人们期待着linux 有所特色的时候,又一个问题接踵而至。Linux 和Windows 实在是太不一样了,一些差异简直难以让人适应。也许最典型的例子就是可供linux 用户选择的东西实在是太多了。对于一个刚上手的windows 用户,他拥有一个经典 或 XP风格的桌面主题、写字板程序、IE浏览器,Outlook Express;然而对于一个初用linux 的家伙,他面前有上百种发行版供以挑选,此后,是Gnome 或者KDE 或者Fluxbox,Vi 或者emacs 或者kate,Konqueror 或者Opera 或者Firefox 或者Mozilla 或者其他随便什么带来的一系列选择,如此等等不一而足。</span></p>
+
  
<p class="MsoNormal"><span style="">
+
确实如此。但你有没看见过有些人不开汽车──他们骑摩托车?
windows用户不曾为了安装和使用(一个OS)而面对过如此丰富的选择, <i>“有必要来那么多种选择吗?”</i>这样的抱怨帖子很常见。</span></p>
+
<p class="MsoNormal">Linux <i><span style="">真的</span></i><span style=""> 和Windows 有那么大的区别吗?不管怎么说,它们都是操作系统。它们都做同样的工作:操作你的计算机,让你有个东西运行你的应用程序,自然它们多少都有些共通的地方吧? </span></p>
+
<p class="MsoNormal"><span style="">让我们从这个角度看问题:出门看看路上行驶的各种不同的车辆。所有的车辆不管是什么样的设计多少都有同样的目的:从路上把你由A处运到B处。注意它们有不同的设计。</span></p>
+
<p class="MsoNormal"><span style="">但是你会想,汽车之间的差异非常小:它们都有方向盘,脚踏板,变速杆,手闸,车窗和车门,油箱……如果你能够开这部车,你就能开任何一部车。</span></p>
+
<p class="MsoNormal"><span style="">确实如此。但你有没看见过有些人不开汽车,取而代之他们骑摩托车?</span></p>
+
<p class="MsoNormal"><span style="">从一个版本的windows切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95到Win98,老实说我说不出什么区别。Win98到WinXp,区别比较大但是也没有什么真正的重大区别。</span></p>
+
<p class="MsoNormal"><span style="">但是从windows 切换到Linux 就象从开汽车切换到骑摩托车。他们都是 操作系统/道路车辆。他们可能都使用同样的 硬件/道路。他们可能都提供一个运行应用程序的 环境/把你从甲地运到乙地 。但他们使用本质不同的两种方法达到目的。</span></p>
+
<p class="MsoNormal"><span style="">Windows/汽车对于病毒/小偷并不安全,除非你安装反病毒软件/锁上车门。Linux/摩托车却没有病毒/车门,所以即使你没有安装反病毒软件/锁车门也非常安全。</span></p>
+
  
<p class="MsoNormal"><span style="">让我们反过来看一看:</span></p>
+
从一个版本的 Windows 切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95 到 Win98 ,老实说我说不出有什么区别。Win98 到 WinXp,差别大一些但是也没有什么真正的重大区别。
  
<p class="MsoNormal"><span style="">Linux/汽车 从根本上用于多用户/乘客。Windows/摩托车 用于单用户/乘客。每个 Windows 用户/摩托车驾驶员每时每刻都要习惯集中精力控制他的 计算机/车辆。而一个 Linux 用户/汽车乘客 只要在以根用户登录/坐在驾驶座上时才要习惯去控制他的 计算机/车辆。
+
但是从 Windows 切换到 Linux 就象从骑摩托车切换到开汽车。他们都是操作系统(在道路上行驶的车辆)。他们可能都使用同样的硬件(道路)。他们可能都提供一个运行应用程序的环境(把你从甲地运到乙地)。但他们使用本质不同的两种方法来达到目的。
</span></p>
+
<p class="MsoNormal"><span style="">通过两种不同的方法来达成同样的目标,他们各有长处和缺陷: 当载上一整个家庭的成员和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择: 它有充裕座位以及足够的储存空间。而在单人从甲地到乙地的旅程中,摩托车则是更好的伴侣:它不怎么会遇上堵车,消耗的燃油也更少。</span></p>
+
<p class="MsoNormal"><span style="">无论选择了摩托或是汽车,仍有很多事情不会改变:你要把油加进油箱,把车开在同一条道上,必须遵守红绿灯和禁令,在转弯之前打转向灯,你也仍要遵守速度限制。</span></p>
+
  
<p class="MsoNormal"><span style="">但是也终究有很多情形不同了:汽车驾驶者不必带着安全盔开车,摩托骑手不用系安全带,开车的人转动方向盘来转弯,摩托车驾驶者则要匐下身子改变重心,开车的人裁油门踏板来加速,而摩托车通过手旋转握把来控制加速。</span></p>
+
* Windows(摩托车)对于病毒(小偷)并不安全,除非你安装反病毒软件(车锁)。Linux(汽车)对于病毒(小偷)是比较安全的,所以即使你没有安装反病毒软件(不锁车门)也非常安全。
<p class="MsoNormal"><span style="">一位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的,一个Windows 用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个Windows 高级用户在Linux 的使用过程中常遇上更多麻烦。那些根深蒂固的Windows 经验用户在面对问题时如果无法解决,常会觉得“如果我这么有知识的都搞不定,那新手就更不别想了”,因而得出的“Linux离桌面应用还有十万八千里呢”想法也便大错特错。</span></p>
+
<p class="MsoNormal"><span style="">解决方法在于,
+
Windows用户必须意识到他只是一个有经验的Windows用户,而不是有经验的电脑用户,Windows用户必须意识到当自己在尝试Linux时,他又成了一个新手。</span></p>
+
<p class="MsoNormal"><span style=""></span></p>
+
  
<h3><b><span style="">问题三: 文化冲击</span></b><span style="font-weight: bold;"></span></h3>
+
或者从另一个角度看:
  
<h3><span style="font-weight: bold;">子问题 3a : 那<span style="font-style: italic;">是</span>一种文化</span><b><span style=""></span></b><span style=""></span></h3>
+
*Linux(汽车)从根本上用于多用户(多名乘客)。Windows(摩托车)用于单用户(乘客)。Windows 用户(摩托车驾驶员)习惯于任何时候完全地控制他的计算机(摩托车)。而一个Linux 用户(汽车乘客)只有在以 root 根用户身份登录(坐在驾驶座上)时才要去控制计算机(车辆)。
  
<p class="MsoNormal"><span style="">WINDOWS用户或多或少的处在一种消费者和提供者的关系,他们花钱买软件,获得授权,得到支持等等.他们希望软件能够有明确的可用性.因此他们习惯得到使用软件的权利,他们花钱去得到技术上的支持以及他们需要的权利,他们也得到了.他们也经常要与一些实体打交道:例如他们与一家公司签一份合同,而不是个人.</span></p>   
+
通过两种不同的方法来达成同样的目标,他们各有优缺点:当载上一家子的成员和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择:因为它有充裕的座位以及足够的储存空间。而对于一个人从甲地到乙地的情况,摩托车则是更好的选择:因为它不怎么会遇上堵车,消耗的燃油也更少。
<p class="MsoNormal"><span style="">LINUX用户有着更多的一致性.他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力.他们免费下载软件,并且利用快速通信和到论坛去寻求帮助.他们和个人打交道,而不是公司.</span></p>
+
  <p class="MsoNormal"><span style="">一个Windows的用户如果只是把他的观点带到Linux中,那么他是不会喜欢上Linux的.要慢慢的改变观点. </span></p>
+
  <p class="MsoNormal"><span style="">引起矛盾的最大原因是在在线交流方面:一个刚刚用Linux的3a用户在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助.因为这正是他以前用付费的来获得帮助的方式.问题就是这不是付费提供帮助的系统.而是很多热心人发自内心的帮助其他人解决问题的系统.一个新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样.</span></p>
+
  <p class="MsoNormal"><span style="">相同的,一个Windows用户习惯了使用商业软件. 这些软件在没有做到足够的可靠性,功能性和对用户友好的截面前,公司是不会开放代码的.这正是Windows用户期待Linux下的软件的原因,从Linux1.0版本的软件开始,用户就希望尽快得到开放的代码.这样,真正需要这些的人就会很快的得到它,并且这也使开发者会在提高代码这方面感兴趣,因此整个团体就会知道接下来要做什么了.</span></p>
+
  <p class="MsoNormal"><span style="">如果一个3a用户在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求.并且他认为他有权利得到这样的满足.他的情绪将会有所改进,如果他等到这样的带有讽刺性的回答:如果我是你,我要求退款!</span></p>
+
<p class="MsoNormal"><span style="">所以,对于3a用户,为了避免这些问题,应做到:只要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱.他们并不欠你任何东西.</span></p>
+
  
<h3><b><span style="">子问题 3b : 新的 vs. 旧的</span></b><span style=""></span></h3>
+
无论选择摩托车或是汽车,仍有很多事情不会改变:你总归要给油箱里加油,而车还是开在同一条道上,而且必须遵守红绿灯,在转弯前要打转向灯,你同样也要注意限速。
Linux几乎是因黑客的业余爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux在获得一个易于使用的可用安装程序前一直默默无闻。在相当长的时间里,它在大众眼中只是一个奇客而已。可以说Linux“始于奇客,馈于奇客”。直至今日,大多数Linux的老用户仍自认为是奇客。
+
  
这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群奇客们不断探寻解决方案这个状况显然一种明显的优势。
+
但是也终究有很多情况不同了:开汽车的人不必带着安全头盔开车,摩托骑手不用系安全带;开汽车的人转动方向盘来转弯,摩托车骑手则要倾斜身子改变重心;开车需要踩油门踏板来加速,而骑摩托车通过手旋转手把来控制加速
  
但长久以来Linux的成长仍旧十分有限。尽管存在一些可以被绝大多数安装的发行版本,甚至一些版本基于CD并且与用户使用的硬件并无冲突。当Linux开始因其无病毒和省级廉价而吸引一些非发烧友用户时,两大用户阵营间并不是罕有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互理解而已。
+
一位汽车司机如果试图通过转移重心来拐弯,肯定是行不通的。同样的,一个 Windows 用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,'''较之电脑新手,一个 Windows “高级用户”在 Linux 的使用过程中常会遇上更多麻烦'''。那些经验丰富的 Windows 用户在面对问题时,如果无法解决,常会觉得“如果我这么有知识的用户都搞不定,那新手就更别想了”,因而得出“Linux离桌面应用还有十万八千里呢”的想法,其实事实恰好相反。
  
首先,你面临的是核心奇客们仍然假设所有使用Linux的用户们都是奇客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有些时候如此。但大多时候却并非这样:“每个人都应知道”这样的善意表达被说成了“地球人都知道!”——大相径庭。
+
解决方法在于:'''Windows 用户必须意识到他只是一个有经验的 Windows 用户,而不是有经验的 Linux 用户。对于刚开始使用 Linux 的 Windows 高级用户,他应该意识到,他是个新手。'''
  
其次,你面临着从使用的商用操作系统转投而来的新用户。这些用户已习惯使用人机界面友善的软件,他们也是不确定因素。
+
=== '''问题三: 文化冲突''' ===
  
这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好重构系统,而第二类人对操作系统如何工作漠不关心,只要它能工作就好。
+
==== 子问题 A : Linux 有自己的文化====
  
在乐高(Lego)发生的类似的情况正好阐述这种问题。试想下面的情景:
+
Windows 用户或多或少地处于一种消费者和供应商之间的关系:他们花钱买软件,获得授权,得到支持,等等。他们希望软件能够有确切的可用性。因此他们习惯于去得到使用软件的权利:他们花钱去得到技术上的支持以及他们得到他们想要的权利。他们也经常要与一些除了个人之外的实体打交道:例如他们与一家公司签一份合同。
  
新用户(以下简称“新”):我想要一个新玩具汽车,每个人都因乐高汽车的优秀而着了迷。所以我也买了它,但当我到家后我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?
+
Linux 用户则更多的是处于一个社团当中。他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力。他们免费下载软件,并且使用即时通信工具和论坛寻求帮助。'''他们和个人打交道,而不是公司'''。
  
老用户(以下简称“老”):我要用造车而且要超脱于积木之外,这才是乐高的真谛。
+
一位 Windows 的用户如果只是把他的观点带到 Linux 中,那么是不会喜欢上 Linux 的,这需要慢慢地适应。
  
新:什么??我不知道应怎样拼装这个车子。我不是个机械师。为什么我应该知道如何组装它?
+
引起矛盾的最大原因就在在线交流当中:一名初学 Linux 的菜鸟在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助。因为这正是他以前用付费来获得帮助的方式。问题就是'''这不是付费提供帮助的系统,而是很多热心人出于善意帮助其他人解决问题的系统'''。一位新的用户没有任何权利去向这些热心人索要帮助,这就如同一个想要得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样。
  
老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。
+
同样,一名 Windows 用户习惯了使用商业软件。这些软件在没有做到足够的可靠性、功能性以及对用户友好的界面之前,公司是不会发布该软件的。因此这正是 Windows 用户希望软件是从 1.0 版本开始的。而 Linux 软件几乎一旦写出就会立即发布,因此是从 0.1 版本开始的。这样的,真正需要这些功能的人就会马上得到它;感兴趣的开发者会来帮助改进代码,而整个社区都会关注接下来的发展情况。
  
新:好吧,我找到了步骤。这将占用我很多时间!为什么厂家不能装好了再卖给我,还得让我自己动手??
+
如果菜鸟在使用 Linux 时遇到了困难,他会抱怨:这个软件没能满足我的需求,并且他认为他有权得到这样的满足。如果他得到这样带有讽刺性的回答:“如果我是你,我要求退款!”,他的情绪恐怕会更糟。
  
老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。
+
因此,为了避免这些问题,应做到:要记住,'''你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱。他们并不欠你任何东西'''。
  
新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。无论如何,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?
+
==== 子问题 B : 新用户 vs. 老用户  ====
 +
 +
Linux 几乎是因黑客的业余爱好而诞生的。它的成长源于它吸引了更多志同道合的黑客们。Linux 在变得不只是一些极客(Geek),而是让任何人都能使用之前经历了相当长的时间。可以说 Linux“始于极客,馈于极客”。直至今日,大多数 Linux 的老用户仍自认为是极客。 这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群极客们不断寻找解决方案这个状况,这难道不好吗?
  
老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。
+
但 Linux 自它诞生以来,已经成长变化了很多。已经有了一些几乎任何人都能安装使用的发行版,甚至一些发行版可以运行于 CD 上并且可以完全自动检测并配置好各种硬件。当 Linux 开始因其无病毒和廉价的升级而吸引一些非发烧友用户时,两大用户阵营间就会出现矛盾,这很正常。但有一点应当明确:双方都没有恶意,仅仅是缺乏相互理解而已。
  
新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!
+
首先,你面临的是'''核心极客们仍然假设所有使用 Linux 的用户们都是极客或在向这方面发展'''。这即是说他们认为所有 Linux 用户都应当很了解计算机和 Linux,这导致了他人指责他们的一些行为是傲慢、自大和无礼的。其实,虽然有时确实如此,但大多时候却并非这样,只是“每个人都应该知道”这样的善意表达变成了“地球人都知道!”——大相径庭。
  
老:那你干嘛吃多了撑的要买乐高?
+
其次,你面临着从使用的商用操作系统转投而来的新用户,这些用户已习惯使用那些任何人拆箱就能用的软件。
  
很明显,对那些只想要一个玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这显而易见。
+
这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好改造自己的操作系统,而第二类人对操作系统怎么运行并不关心,只要它能运行就行了。
  
由于长久以来一直关注Linux的老用户,同样的问题在Linux上体现越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?
+
在乐高(Lego)玩具发生的类似的情况正好阐述这种问题。试想下面的情景:
  
与乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用Linux的舒适性,这使得更广大的用户可以使用Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实吗?
+
*新用户(以下简称“新”):我想要一部新玩具汽车,每个人都因乐高汽车的好玩而着了迷。所以我也买了它,但当我到家后我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?
 +
*老用户(以下简称“老”):你应该用积木组装一辆车,这才是乐高的真谛。
 +
*新:什么??我不知道应怎样拼装这台车子。我不是个机械师。我该怎么知道如何组装它?
 +
*老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。
 +
*新:好吧,我找到了说明。这得花多久啊!为什么他们不能装好了再卖给我,还得让我自己动手??
 +
*老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。
 +
*新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。不管怎样,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?
 +
*老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。
 +
*新:但我不希望总是拆拆装装,我仅仅希望一辆玩具车而已!
 +
*老:''呃,你到底是为什么要买乐高?''
  
因此,为了避免问题#3b:请铭记现在的Linux已今非昔比。Linux社区最大的也是最关键的组成部分——黑客和开发者们,他们因Linux的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。
+
很明显,对那些只想要一辆玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这很容易理解。
  
注:
+
由于长久以来一直关注 Linux 的老用户,同样的问题在 Linux 上越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想自己动手,为什么自找麻烦来用它呢?
奇客:geek,词典中解释为因穿着不时尚和不懂得如何在社会中行事而作出一些怪事的人。现在指那些可以在电子和虚拟世界中非常有才华和想象力的发烧友。Geek宗教一般信仰科技或者颠覆科技。--chronmancer
+
  
==问题 #4 为设计者而设计==
+
与乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用 Linux 的舒适性,这使得更广大的用户可以使用 Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨那些老用户所谓的“基本特性”干吗要让我们看到,他们讨厌阅读手册后才能实现一些功能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对刚拿到的软件用起来不顺手的抱怨,不正如对乐高有太多模块的抱怨一样,忽略了它可以被用来按你想法拆装成事实吗?
  
在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。
+
因此,为了避免这个问题:请记住现在 Linux 的外表并不代表它的过去。Linux 社区最大的也是最关键的组成部分——黑客和开发者们,他们因 Linux 的可以按需定制而欢喜;他们也会为可定制能力的丧失因而神伤。
  
但在Linux的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好”的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出vi,所以新用户不得不靠重起计算机退出的事情时有发生。
+
''注: 极客:geek,词典中解释为因穿着不时尚和不懂得如何在社会中行事而作出一些怪事的人。现在指那些可以在电子和虚拟世界中非常有才华和想象力的发烧友。Geek宗教一般信仰科技或者颠覆科技。--chronmancer''
  
但是,FOSS程序员与商用软件程序员的一个最重大区别在于,FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户“舒适”的使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。
+
=== '''问题四:为设计者而设计''' ===
  
所尽管vi拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉后就会发现它原来无比强大。Firefox也是被经常浏览网页的人编写出来的。Gimp同样是出自经常处理图形文件的人之手。不胜枚举。
+
在汽车工业中,你很难发现一个人既设计车辆引擎也设计车辆内饰:这需要完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要做工出众但狭小且难看的车厢。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。 但在 Linux 的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好” 的特性:用户对这个软件了如指掌,所以他也就不需要帮助文件等。vi 就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出 vi ,所以新用户不得不靠重启计算机退出的事情时有发生。
  
Linux的界面对于新手而言同样的有些“危险”。尽管vi名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在“计划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再不断改进界面。
+
但是,自由开源软件([http://baike.baidu.com/view/969011.htm FOSS],Free and Open Source Software)程序员与商用软件程序员的一个最重大区别在于, FOSS 程序员的作品都是'''他们自己想要使用的东西'''。这些作品新手用起来也许不舒服,但试想一下如果开发人员了解最终用户的需求,那这作品用起来一定很舒服。而实际情况确实如此,因为作者自己就是最终用户,他了解他自己(最终用户),因此该软件应该用起来很舒服。商用软件的程序员却大不相同,'''他们总是为其他人编写软件''',而且这些用户都不是专家。
  
所以为了避免问题#4:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨vi对新手不够友好只是舍本求末罢了。
+
所以尽管 vi 拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉后就会发现它原来无比强大。Firefox 也是被经常浏览网页的人编写出来的。GIMP 同样是出自经常处理图形文件的人之手。不胜枚举。
  
<h3>Problem #5: The myth of "user-friendly"</h3>
+
Linux 的界面对于新手而言同样的有些“难度”。尽管 vi 名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,打磨过的友好用户界面只会高挂在“计划”列表之上:主要功能肯定是先被实现的。没人先做个超级界面,再慢慢添加功能,程序员们都是先实现功能再不断改进界面。
<h3>问题 #5: “用户界面友好”的神话</h3>
+
<p>This is a big one. It's a very big term in the computing
+
world,
+
"user-friendly". It's even the name of a particularly good webcomic.
+
But it's a bad term.</p>
+
<p>“界面友好”是个重大议题。它是计算机领域一个重量级术语。它甚至是一部网络漫画的名字。但它也是一个令人误解的术语。</p>
+
<p>The basic concept is good: That software be designed with the
+
needs
+
of the user in mind. But it's always addressed as a single concept,
+
which it isn't.&nbsp;</p>
+
<p>基本的想法是好的: 软件按照用户的需求来设计。 但它总被片面解释,实际的情形并非如此。</p>
+
If you spend your entire life processing text files, your ideal
+
software will be fast and powerful, enabling you to do the maximum
+
amount of work for the minimum amount of effort. Simple keyboard
+
shortcuts and mouseless operation will be of vital importance.<br>
+
如果你花一生的时间来处理文本文件,你理想的软件应该是快速和高效的,它使你能够以最少的工夫做最多的事。它应该具有简单的键盘快捷键并能脱离鼠标操作。<br>
+
<p>But if you very rarely edit text files, and you just want to
+
write
+
an occasional letter, the last thing you want is to struggle with
+
learning keyboard shortcuts. Well-organized menus and clear icons in
+
toolbars will be your ideal.&nbsp;</p>
+
<p>但是,如果你几乎不编辑文本,仅仅偶尔写封信,那么你一定不愿被记忆键盘快捷键所折磨。组织良好的菜单和工具栏上清晰的图标一定是你向往的。</p>
+
<p>Clearly, software designed around the needs of the first user
+
will
+
not be suitable for the second, and vice versa. So how can any software
+
be called "user-friendly", if we all have different needs?</p>
+
<p>显然,为满足第一个用户的需求而设计的软件一定不适合第二个人,反之亦然。应此,假如我们的需求各不相同哪有软件能称为“界面友好”呢?</p>
+
<p>The simple answer: User-friendly is a misnomer, and one that
+
makes a complex situation seem simple.</p>
+
<p>简单的回答是:“界面友好”是个误解,令使用困难的也可能是简单界面。</p>
+
<p>What does "user-friendly" really mean? Well, in the context in
+
which it is used, "user friendly" software means <span style="font-style: italic;">"Software that can be used to a
+
reasonable level of competence by a user with no previous experience of
+
the&nbsp;software."</span> This has the unfortunate effect of
+
making lousy-but-familiar interfaces&nbsp;fall into the category of
+
"user-friendly".&nbsp;</p>
+
<p>那么“界面友好”为什么又如此有意义呢?当人们谈起“界面友好”时它意味着<span style="font-style: italic;">“软件应该对先前没有该软件使用经验的用户有一定程度的易用性”</span> 遗憾的是,那些设计粗糙但却为人熟悉的界面常常获此美名。</p>
+
<p></p>
+
  
<h3>"用户友好"的神话</h3>
+
所以,为了避免这个问题:你要么寻找那些以便于上手为目的而设计的软件,要么接受确实需要一个较长的磨合期来适应的软件。抱怨 vi 对新手不够友好只是舍本求末罢了。
  
在电脑世界里,“用户友好“是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。
+
=== '''问题五: “用户界面友好”的神话''' ===
  
基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。这个方法一直都被认为是单一的实现办法,但事实并非如此。
+
在电脑世界里,“用户友好“指代非常广泛,甚至有一个不错的网络漫画就叫这个名字。但这个词却名不副实。
  
如果你一辈子都在进行文书处理的工作,理想的软件对你来说就是个快捷强大、能让你投入最小的精力来实现最大的工作效率的字处理软件。简单的键盘快捷键和无须鼠标的操作将是最基本的需求。
+
基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。实现的时候人们总是期望达到一个“最好”的界面,但事实并非想像的简单。
+
但如果你很少做字处理的工作,你只是要写一封普通的信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。
+
  
很明显,你为某个用户的需求所设计的软件可能对其他的用户来说并不合适。如此说来,若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢?
+
如果你一辈子都在做编辑文本文件的工作,理想的软件对你来说应当快速、强大,能让你以最少的操作来做最多的工作。简单的键盘快捷键和无需鼠标的操作将是最关键的需求。
  
简单来说:“用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。
+
但如果你很少编辑文本文件,只是要偶尔写一封信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。
  
那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手“。这就使得那些看上去用户界面都差不多的软件都被归类为“用户友好“。
+
很明显,你为第一个用户的需求所设计的软件并不适合与第二个用户,反之亦然。如此说来,'''若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢'''?
  
<h3>Subproblem #5a: Familiar is friendly</h3>
+
简单来说:“用户友好”这个叫法并不妥当,只能让复杂的情况看上去变得简单一点而已。
<p>So it is that in most "user-friendly" text editors &amp;
+
word
+
processors, you Cut and Paste by using Ctrl-X and Ctrl-V. Totally
+
unintuitive, but everybody's used to these combinations, so they count
+
as a "friendly" combination.</p>
+
<p>So when somebody comes to vi and finds that it's "d<span style="font-style: italic;"></span>" to cut, and "p"
+
to paste, it's not considered
+
friendly: It's
+
not what anybody is used to.</p>
+
  
<p>Is it superior? Well, actually, yes.&nbsp;</p>
+
那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这样一来,只要跟自己用过的软件长的像,不管它是不是真的好用,都可以叫做“用户友好”。
<p>With the Ctrl-X approach, how do you cut a word from the
+
document you're currently in? <span style="font-style: italic;">(No
+
using the mouse!)</span></p>
+
From the start of the word, <span style="font-style: italic;">Ctrl-Shift-Right</span>
+
to select the word.&nbsp;<br>
+
Then <span style="font-style: italic;">Ctrl-X</span>
+
to cut it.
+
<p>The vi approach? <span style="font-style: italic;">dw</span>
+
  
deletes the word.</p>
+
==== 子问题 A: 熟悉的就是友好的 ====
<p>How about cutting <span style="font-weight: bold;">five</span>
+
words with a Ctrl-X application?</p>
+
From the start of the words, <span style="font-style: italic;">Ctrl-Shift-Right</span><br>
+
<span style="font-style: italic;">Ctrl-Shift-</span><span style="font-style: italic;">Right</span><br>
+
<span style="font-style: italic;">Ctrl-Shift-</span><span style="font-style: italic;">Right</span><br>
+
<span style="font-style: italic;">Ctrl-Shift-</span><span style="font-style: italic;">Right</span><br>
+
  
<span style="font-style: italic;">Ctrl-Shift-</span><span style="font-style: italic;">Right</span><br>
+
所以在大多数被认为“用户友好”的文字编辑 和文字处理的系统中,你的剪切和复制使用{{Keypress|Ctrl}}+{{Keypress|X|background=#FF0}} 和 {{Keypress|Ctrl}}+{{Keypress|C|background=#FF0}} 来完成,这完全不直观, 但是每个人都习惯这些快捷键,所以这就被当作“友好的”快捷方式。
<span style="font-style: italic;">Ctrl-X</span>
+
<p>And with vi?</p>
+
<p><span style="font-style: italic;">d5w</span></p>
+
<p>The vi approach is far more versatile and actually
+
more&nbsp;intuitive: "X" and "V" are not obvious or memorable "Cut"
+
and "Paste" commands, whereas "dw" to <span style="font-style: italic; font-weight: bold;">d</span>elete
+
a <span style="font-style: italic; font-weight: bold;">w</span>ord,
+
and "p" to <span style="font-style: italic; font-weight: bold;">p</span>ut
+
it back is perfectly straightforward. But "X" and "V" are what we all
+
know, so whilst vi is clearly superior, it's unfamiliar.
+
Ergo, it
+
is considered unfriendly. On no other basis, pure familiarity makes a
+
Windows-like interface seem friendly. And as we learned in problem #1,
+
Linux
+
is necessarily different to Windows. Inescapably, Linux always appears
+
less
+
"user-friendly" than Windows.&nbsp;</p>
+
  
<p>To avoid #5a problems, all you can really do is try and
+
如果有人来到 vi 并且发现里面 {{Keypress|D}} 是剪切,{{Keypress|P}} 是粘贴,这将被当成是不友好的:因为这不是大多数人习惯的方式。
remember
+
that <span style="font-style: italic;">"user-friendly"</span>
+
doesn't mean <span style="font-style: italic;">"What I'm
+
used to"</span>: Try doing things
+
your usual way, and if it doesn't work, try and work out what a total
+
novice would do.&nbsp;</p>
+
<p></p>
+
<h3>子问题 #5a: 熟悉的就是友好的</h3>
+
<p>所以在大多数被认为“用户友好”的文字编辑 和文字处理的系统中,你的剪切和复制使用 “Ctrl-X” 和 “Ctrl-V”来完成,这完全
+
不直观, 但是每个人都习惯这些快捷键, 所以他们把这当作“友好的”快捷方式.</p>
+
<p>如果有人使用 vi并且发现里面“d”是剪切, "p"是复制,这将被当成是不友好的: 因为这不是大多数人习惯的方式.</p>
+
<p>但这是更好的方式吗? 明显是的.</p>
+
<p>如果使用“Ctrl-X”的方法,你怎样从你当前正在编辑的文件中剪切一个单词?(没有鼠标的前提下!)</p>
+
<p>你必须从开头的字符开始,用“ Ctrl-Shift-Right”来选择单词.</p>
+
<p>然后“ Ctrl-X”把它剪切下来.</p>
+
<p>vi中的方式呢?“dw”就是删除单词的意思.</p>
+
<p>如果要剪切 5个单词使用 “Ctrl-X” 方式会出现什么情况呢?</p>
+
<p>从开头的单词开始:</p>
+
<p>“Ctrl-Shift-Right”</p>
+
<p>“Ctrl-Shift-Right”</p>
+
<p>“Ctrl-Shift-Right”</p>
+
<p>“Ctrl-Shift-Right”</p>
+
<p>“Ctrl-Shift-Right”</p>
+
<p>“Ctrl-X“</p>
+
<p>要使用5个动作</p>
+
<p>在VI中的情况呢?</p>
+
<p>d5w</p>
+
<p>只要上面一个动作</p>
+
<p>vi方式具有更好的功能性和直观性 。“X” 和 “V” 并不是能够直观记忆“Cut”和 “Paste” 命令的,反之 “dw” 对于“delete"
+
和“p” 对于“Paste”更加直观,相对于“X”和“V”方面,vi明显是更好的。可是由于她不是大家所熟悉的,
+
因此她被认为是不友好的。 并不是因为其他的原因, 纯粹的习惯因素使得Windows成为了更加友好的系统。 因此我们要学习章节 #1:
+
Linux和Windows根本不一样。告诉大家:无可避免, Linux 经常显得没有Windows“友好”。</p>
+
<p>为了避免#5a 的问题,你们要记住“友好”并不意味着习惯,试着用你的方式来做事,如果没有用的话,试着想想一个初学者会怎么做,然后你就知道了更简单的方法。</p>
+
  
<h3>Subproblem #5b: Inefficient is friendly</h3>
+
但这是更好的方式吗? 明显是的。
<p>This is a sad but inescapable fact. Paradoxically, the harder
+
you
+
make it to access an application's functionality, the friendlier it can
+
seem to be.&nbsp;</p>
+
<p>This is because friendliness is added to an interface by using
+
simple, visible 'clues' - the more, the better. After all, if a
+
complete novice to computers is put in front of a WYSIWYG word
+
processor and asked to make a bit of text bold, which is more likely:</p>
+
<ul>
+
  <li>He'll guess that <span style="font-style: italic;">"Ctrl-B"</span>
+
  
is the usual standard&nbsp;</li>
+
如果使用{{Keypress|Ctrl}}+{{Keypress|X|background=#FF0}}的方法,你怎样从你当前正在编辑的文件中剪切一个单词?(没有鼠标的前提下!)
</ul>
+
<ul>
+
  <li>He'll look for clues, and try clicking on the <span style="font-style: italic;">"Edit"</span> menu.
+
Unsuccessful, he'll try the next likely one along the row of menus: <span style="font-style: italic;">"Format"</span>. The new
+
menu has a <span style="font-style: italic;">"Font"</span>
+
option, which seems promising. And Hey! There's our <span style="font-style: italic;">"Bold"</span> option.
+
Success!</li>
+
  
</ul>
+
你必须从开头的字符开始,用{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}来选择单词.
<p>Next time you do any processing, try doing every job via the
+
menus:
+
No shortcut keys, and no toolbar icons. Menus all the way. You'll find
+
you slow to a crawl, as every task suddenly demands a multitude of
+
keystrokes/mouseclicks.</p>
+
Making software "user-friendly" in this fashion is like putting
+
training wheels on a bicycle: It lets you get up &amp; running
+
immediately, without any skill or experience needed. It's <span style="font-style: italic;">perfect</span> for a
+
beginner. But nobody out there thinks that <span style="font-style: italic;">all</span> bicycles should
+
be sold
+
with
+
training wheels: If you were given such a bicycle today, I'll wager the
+
first
+
thing you'd do is remove them for being unnecessary encumbrances:
+
Once you know how to ride a bike, training wheels are unnecessary.
+
<p>And in the same way, a great deal of Linux software is
+
designed
+
without "training wheels" - it's designed for users who already have
+
some basic skills in place. After all, nobody's a permanent novice:
+
Ignorance is short-lived, and knowledge is forever. So the software is
+
designed with the majority in mind.&nbsp;</p>
+
<p>This might seem an excuse: After
+
all, MS Word has all the friendly menus, <span style="font-style: italic;">and</span> it has toolbar
+
buttons,
+
  
<span style="font-style: italic;">and</span> it has
+
然後{{Keypress|Ctrl}}+{{Keypress|X|background=#FF0}}把它剪切下来。
shortcut keys. . . Best of all worlds, surely?
+
Friendly&nbsp;<span style="font-weight: bold;">and</span>
+
efficient.</p>
+
<p>However, this has to be put into perspective: Firstly, the
+
practicalities: having menus and toolbars and shortcuts and all would
+
mean a lot of coding, and it's not like Linux developers all get paid
+
for their time.&nbsp;Secondly, it still doesn't really take into
+
account
+
serious&nbsp;power-users: Very few professional wordsmiths use MS
+
Word. Ever meet a coder who used MS Word? Compare that to how
+
many use emacs &amp; vi.&nbsp;</p>
+
<p>Why is this? Firstly, because some "friendly"
+
behaviour rules out efficient behaviour: See the "Cut&amp;Copy"
+
example
+
above. And secondly, because most of Word's functionality is buried in
+
menus that you <span style="font-style: italic;">have</span>
+
  
to use:
+
vi中的方式呢?用“dw”删除该单词即可。
Only the most common functionality has those handy little buttons in
+
toolbars at the top. The less-used functions that are still vital for
+
serious users just take too long to access.</p>
+
<p>Something to bear in mind, however, is that "training wheels"
+
are
+
often available as "optional extras" for Linux software: They might not
+
be obvious, but frequently they're available.</p>
+
<p>Take mplayer. You use it to play a video file by typing <span style="font-style: italic;">mplayer filename</span>
+
in a terminal. You fastforward &amp; rewind using the arrow keys
+
and
+
the PageUp &amp; PageDown keys. This is not overly "user-friendly".
+
However, if you instead type <span style="font-style: italic;">gmplayer
+
filename</span>, you'll get the graphical frontend, with all its
+
nice, friendly , familiar buttons.</p>
+
<p>Take ripping a CD to MP3 (or Ogg): Using the command-line, you
+
need
+
to use cdparanoia to rip the files to disc. Then you need
+
an&nbsp;encoder. . . It's a hassle, even if you know exactly how to
+
use the
+
packages <span style="font-style: italic;">(imho)</span>.
+
So download
+
  
&amp; install something like Grip. This is an easy-to-use graphical
+
如果要剪切 5个单词使用 {{Keypress|Ctrl}}+{{Keypress|X|background=#FF0}} 方式会出现什么情况呢?
frontend that uses cdparanoia and encoders behind-the-scenes to make it
+
really easy to rip CDs, and even has CDDB support to name the files
+
automatically for you.&nbsp;</p>
+
<p>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.</p>
+
<p>So to avoid #5b issues: Remember that "training wheels" tend
+
to
+
be&nbsp;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.</p>
+
<p></p>
+
  
<h3>子问题 #5b:低效的就是友好的</h3>
+
从开头的单词开始:
<p>这是一个可悲的但无法逃避的事实。似乎你越想提高一个程序的功能性,它就看起来越友好。&nbsp;</p>
+
<p>这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:</p>
+
<ul>
+
  <li>他会认为 <span style="font-style: italic;">"Ctrl-B"</span>
+
  
是通常的方法。&nbsp;</li>
+
{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}
</ul>
+
<ul>
+
  <li>他会寻找线索,并尝试点击 <span style="font-style: italic;">"编辑"</span> 菜单。
+
如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:<span style="font-style: italic;">"格式"</span>。新的菜单有一个看起来很有希望的<span style="font-style: italic;">"字体"</span>
+
选项。嗨! 这里有我们想要的<span style="font-style: italic;">"粗体"</span> 选项。
+
成功了!</li>
+
  
</ul>
+
{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}
<p>下次你再做任何文字处理,都想试着通过菜单来完成每一件工作:
+
不用快捷键,也不用工具栏图标。菜单就是一切。当任务突然需要大量按键和鼠标点击时,你会发现你比爬还慢。</p>
+
这样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来, &amp; 不需要任何技巧和经验。这对一个初学者来说是<span style="font-style: italic;">完美</span> 的。但是没有人会觉得<span style="font-style: italic;">所有的</span> 自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌
+
你要做的第一件事就是除去这不必要的阻碍:
+
一旦你知道怎样骑车了,辅助轮就没用了。
+
<p>同样的道理,大量的 Linux 软件是设计成不带“辅助轮”的——它是为已经有一些使用的基本技能的用户设计的。毕竟,没有人是永远的新手:
+
无知是短命的,知识是永远的。因此 Linux 软件是以大量的知识为前提设计的。&nbsp;</p>
+
<p>这听起来也许像是借口:毕竟,MS Word 有所有友好的菜单,<span style="font-style: italic;">并且</span> 有各种工具栏按钮,
+
  
<span style="font-style: italic;">而且</span> 有快捷键……它是世界上最棒的。真的吗?
+
{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}
Friendly&nbsp;<span style="font-weight: bold;">and</span>
+
efficient.</p>
+
<p>然而,我们必须透过表象看问题。首先,这个想法的可行性:让一个软件拥有菜单、工具栏、快捷方式等一切意味着大量的源代码编写,而没人为linux开发者花费的时间付帐;&nbsp;其次, 这样做依然没有真正考虑到那些高端用户:极少有专业的文字录入者使用MS Word。你见过哪个编程的人用MS Word吗?与此相比,想想有多少人用emacs &amp; vi.&nbsp;</p>
+
<p>为什么会这样?首先,这是因为某些“用户友好”的行为会导致低效:参看上面的“剪切 &amp;粘贴”的例子。其次,这还因为Word大部分的功能被放在了菜单里,因此你不得不使用菜单。只有某些最常见的功能可以作为按纽被放在界面的工具栏上。高级用户不得不花大量的时间来找到那些较少用道,但对高级用户来说依然很常用的的功能。</p>
+
<p>另外请记住,不管怎样,那些"辅助轮"在Linux软件中也同样有,尽管他们不是那么容易被发现,但实际在linux中通常都会有。</p>
+
<p>
+
以[[mplayer]]播放器为例。你可以在终端输入
+
<span style="font-style: italic;">mplayer 视频文件名</span>命令来播放视频文件
+
.你可以使用方向键,PageUp、PageDown键进行快进、后退等操作.这些可能还不能称之为完全的"用户友好",但如果你在终端输入<span style="font-style: italic;">gmplayer
+
视频文件名</span> ,你就会看到图形版的播放器,它同样拥有漂亮、友好的界面,熟悉的按钮。</p>
+
<p>再用從CD 轉換到MP3 (或 Ogg) 為例: 如果使用命令行, 你需要先使用 cdparanoia 命令. 然後你再需要一個編碼器. . . 這會是一個惡夢, 就算你完完全全清楚如何使用 <span style="font-style: italic;">(imho)</span> 包.
+
所以, 下載和安裝 Grip吧. 這是一個容易使用的圖形軟體, 自動的在背後使用 cdparanoia 命令和編碼器, 令你的轉換過程變得簡單, 甚至支持 CDDB, 能自動為你的檔案命名</p>
+
<p>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.</p>
+
<p>So to avoid #5b issues: Remember that "training wheels" tend
+
to
+
be&nbsp;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.</p>
+
<p></p>
+
  
<h3>问题#6: 模仿 vs. 收敛</h3>
+
{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}
<p>当人们发现 Linux 不是他们想要的 Windows 复制品时经常争论一件事,就是坚持认为这是 Linux 一诞生就在(或<span style="font-style: italic;">应该</span>在)努力的方向,而且那些不明白这一点的人错误地帮助 Linux 更像 Windows 。他们因为这一点而展开大量争论:</p>
+
<p style="font-style: italic;">Linux 已经从命令行时代进入了图形界面时代,这是要复制 Windows 的明显尝试。</p>
+
  
<p>好理论,但是错的:最初的 X 窗囗化系统是作为1983年被移植到 Unix 上的 W 窗口化系统的后继者在 1984 年发布的。而 Windows 1.0 是在 1985 年发布的。Windows 在1990年发布第三版之前并没有做大——那时,X 窗口化系统已经演化成我们今天使用的 X11 好几年了。Linux 在1991年才开始,所以 Linux 没有开发一个 GUI 来模仿 Windows :它只是使用了一个在 Windows 出现前就已经存在的 GUI 。</p>
+
{{Keypress|Ctrl}}+{{Keypress|Shift}}+{{Keypress|→|background=#FF0}}
<p style="font-style: italic;">Windows 3 让位于Windows 95 ,后者带来了UI的革命性变化;在这以后很多年,微软都没能作出与此类似的创举。Windows 95带来了多项创新特性:拖放功能、任务栏等等。 当然,这些也同样被Linux所借鉴。</p>
+
<p>事实上……不是这样的。上述所有的特性在Microsoft使用前就已经出现了。尤其是NeXTSTeP是一个非常先进(就当时而言)的图形用户界面,它明显早于Win95──1989年发布了第一版,1995年发布了最后一版。</p>
+
<p style="font-style: italic;">所以Microsoft并没有想出被我们认为是Windows感观(Look-and-Feel)的独有特性。但它还是创造了<strong>一种</strong>感观(Look-and-Feel),Linux从那以后尝试模仿它。 </p>
+
<p>为了拆穿这些,我们可以引用一个经常被讨论的说法 : <em>趋同现象</em>.
+
它说的是:两个不同的,各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍、和尾鳍,以及同样的流线型外形。</p>
+
  
<p>但是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上的哺乳动物进化而来的。他们拥有类似外形是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚看到鲨鱼以后就开始想<em>“Wow,看看鲨鱼的鳍,它们非常有用。我也这样进化一套自己的鳍”</em></p>
+
{{Keypress|Ctrl}}+{{Keypress|X|background=#FF0}}
  
<p>
+
要使用5个动作
同样,如果先看早期的Linux桌面、FVWM和TWM以及许多简陋的GUI系统,然后在看看今天的Linux桌面、Gnome和KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的Linux比早期的更像Windows了。
+
 
</p>
+
在 vi 中的情况呢?
<p>另一方面,Windows也同样如此;我印象中Windows 3.0没有任务栏。那么开始菜单呢? <span style="font-style: italic;">什么</span>
+
 
开始菜单?</p>
+
d5w
<p>Linux过去没有任何桌面项类似今天的Windows,Microsoft过去也没有。现在他们都有了,这说明什么问题呢?</p>
+
 
<p>
+
vi 方式实际上更通用和也更直观 。“X” 和 “V” 并不是能够直观记忆“Cut”和 “Paste” 命令的,反之 “dw” 对于 “delete”(删除) 和 {{Keypress|P}} 对于 “Put it back”(贴回来) 更加直观,明显vi 是更好的。可是由于它不是大家所熟悉的,因此它被认为是不友好的。没有其他任何因素,纯粹的由于习惯使得 Windows 成为了更加友好的系统。根据问题一中我们得到的:Linux 有必要与 Windows 不同,因此不可避免,Linux 经常显得没有 Windows“友好”。
这说明两个开发阵营的成员都在寻找提升GUI性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到问题#6的困扰了
+
 
。</p>
+
为了避免这个问题,你们要记住'''“友好”并不意味着习惯'''。试着用你的方式来做事,如果没有用的话,试着想想一个初学者会怎么做,然后你就知道了更简单的方法。
 +
 
 +
==== 子问题 B:低效的就是友好的 ====
 +
 
 +
这是一个可悲的但无法逃避的事实。似乎你把一个软件的功能埋的越深,它就看起来越友好。
 +
 
 +
这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:
 +
 
 +
* 他会认为 "Ctrl+B" 是通常的方法。
 +
* 他会寻找线索,并尝试点击 "编辑" 菜单。如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:“格式”。新的菜单有一个看起来很有希望的“字体”选项。嗨!这里有我们想要的“粗体”选项。成功了!
 +
 
 +
下次你再做任何文字处理,都想试着通过菜单来完成每一件工作:不用快捷键,也不用工具栏图标。菜单就是一切。你会发现你比爬还慢,因为所有任务突然都需要大量击键/点击来完成。
 +
 
 +
这样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来,不需要任何技巧和经验。这对一个初学者来说非常好。但是没有人会觉得所有的自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌你要做的第一件事就是除去这不必要的阻碍:一旦你知道怎样骑车了,辅助轮就没用了。
 +
 
 +
同样的道理,大量的 Linux 软件是设计成不带“辅助轮”(辅助工具)的——它是为已经有一些使用的基本技能的用户设计的。'''毕竟,没有人是永远的新手''':无知是暂时的,知识是永远的。因此 Linux 软件其实是考虑到了用户中的多数的。
 +
 
 +
这听起来也许像是借口:毕竟,微软的 Word 有全部的友好菜单,并且有各种工具栏按钮, 而且有快捷键……它是世界上最棒的,对吗?既友好,又高效。
 +
 
 +
然而,我们必须透过表象看问题。首先,这个想法的可行性:让一个软件拥有菜单、工具栏、快捷方式等一切意味着大量的源代码编写,而没人为 Linux 开发者花费的时间付账;其次, 这样做依然没有真正考虑到那些高端用户:极少有专业的文字录入者使用微软的 Word。你见过哪个编程的人用 Word 吗?与此相比,想想有多少人用 emacs 和 vi。
 +
 
 +
为什么会这样?首先,这是因为正是某些“用户友好”的行为导致了低效:参看上面的“剪切和粘贴”的例子。其次,这还因为 Word 大部分的功能被放在了菜单里,因此你不得不使用菜单。只有某些最常见的功能可以作为按纽被放在屏幕上方的工具栏上。高级用户不得不花大量的时间来找到那些普通用户较少用到,但对高级用户来说依然很常用的的功能。
 +
 
 +
请记住,其实那些“辅助轮”在 Linux 软件中也同样有,通常作为可选的附加组件,尽管他们不是那么容易被发现,但实际通常都会有。
 +
 
 +
以 mplayer 播放器为例。你可以在终端输入 '''mplayer 视频文件名'''命令来播放视频文件。你可以使用方向键,PageUp、PageDown 键进行快进、后退等操作。这些可能还不能称之为完全的“用户友好”,但如果你在终端输入 gmplayer 视频文件名,你就会看到图形版的播放器,它同样拥有漂亮、友好的界面,熟悉的按钮。
 +
 
 +
再用从 CD 转换到 MP3(或 Ogg)为例:如果使用命令行, 你需要先使用 cdparanoia 命令把 CD 的内容录制为磁盘文件,然后你再需要一个编码器……这会是一个恶梦,就算你完完全全清楚如何使用 imho 包。所以,下载和安装 Grip 吧。这是一个容易使用的图形软件,自动的在背后使用 cdparanoia 命令和编码器,令你的转换过程变得简单,甚至支持 CDDB,能自动为你的档案命名。
 +
 
 +
同样发生在抓取 DVD 上:选择正确的编码是一场噩梦。但是使用 dvd::rip 软件,可以在一个任何人都能操作自如的图形界面中来完成整个编码过程。
 +
 
 +
因此避免这个问题:要记住“辅助轮”(辅助工具)仅作为 Linux 的扩展,而不是自动跟着主程序安装的。而且有时,“辅助轮”还不成为设计的一部分。
 +
 
 +
=== 问题六:模仿 vs. 趋同 ===
 +
 
 +
当人们发现 Linux 不是他们想要的 Windows 复制品时,经常争论一件事,就是坚持认为 Linux 一诞生,这(不成为Windows复制品)就是(或应该是)其努力的方向,而且那些不明白这一点的人错误地努力使 Linux 更像 Windows。由于这一点,他们展开激烈的争论:
 +
 
 +
''Linux 已经从命令行时代进入了图形界面时代,这明显是在学 Windows。''
 +
 
 +
不错的理论,但却是错误的:最初的 <u>'''X 窗囗化系统'''</u>(见附录)是于1984年发布,继承自1983年移植到 Unix 上的 W 窗口化系统。而 Windows 1.0 是在1985年才发布的。Windows 在1990年发布第三版之前并没有做大——那时,X 窗口化系统已经演化成我们今天使用的 X11 版本好几年了。Linux 在1991年才开始,所以 Linux 没有开发一个 GUI(图形用户界面)来模仿 Windows:它只是使用了一个在 Windows 出现之前就已经存在的 GUI。
 +
 
 +
''Windows 3 的续作 Windows 95,带来了图形界面的革命性变化。在这以後很多年,微软都没能作出与此类似的创举。Windows 95 带来了多项创新的特性:拖放功能、任务栏等等。因而 Linux 借鉴了这些东西。''
 +
 
 +
事实上……不是这样的。上述所有的特性在微软使用前就已经出现了。例如,<u>'''NeXTSTeP'''</u>(见附录介绍)是一个非常先进的图形用户界面(就当时而言),它明显早于 Win95 ──1989年发布了第一版,1995年发布了最后一版。
 +
 
 +
''好吧,好吧,这样看来我们熟悉的“Windows 界面”,其实其中的元素并不是微软自己创造的。但它还是创造了一种整体界面,Linux 从那时起尝试模仿它。''
 +
 
 +
为了反驳这一条,我们来讨论一下“趋同进化”的概念。它说的是:两个不同的、各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍和尾鳍,以及同样的流线型外形。
 +
 
 +
但是,鲨鱼是由鱼进化而来的,而海豚则是由陆地上某种四条腿的哺乳动物进化而来的。他们拥有类似外形,是由于他们都生活在同样的海洋环境中,他们必须朝最大效率适应海洋环境的方向进化。实际上不会有一幕这样的场景:未进化的海豚(相对的后来者)看到鲨鱼以后就开始想“哇,看看鲨鱼的鳍,它们非常有用。我也要这样进化一套自己的鳍!”
 +
 
 +
同样,如果先看早期的 Linux 桌面、FVWM 和 TWM 以及许多简陋的 GUI(图形用户界面),然後再看看今天的 Linux 桌面、Gnome 和 KDE,以及它们带有的任务栏、菜单、视觉效果。是的,不得不说现在的 Linux 比早期的更像 Windows 了。
 +
 
 +
另一方面,Windows也同样如此;我印象中 Windows 3.0 没有任务栏。那么开始菜单呢?什么是开始菜单?
 +
 
 +
Linux 过去没有任何桌面像今天的 Windows,微软过去也没有(一个像今天的 Windows 的桌面)。现在他们都有了,这说明什么问题呢?
 +
 
 +
这说明来自两个阵营的开发人员都在寻找提升GUI(图形用户界面)性能的方法,但是解决相同的问题可供选择的方法并不多,他们难免会使用类似的方法。类似并不能说明或暗指一方在模仿另一方。记住这一点,你就不会受到这个问题的困扰了。
 +
 
 +
=== 问题七:FOSS──自由和开源 ===
 +
 
 +
那么问题来了。[http://zh.wikipedia.org/zh-cn/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6 自由]和[http://zh.wikipedia.org/zh-cn/%E5%BC%80%E6%94%BE%E6%BA%90%E4%BB%A3%E7%A0%81 开源]是整个事情中一个很有意思并且相当重要,但却不是根本的部分。但是对于一些人看来,不过对于开源软件和专有软件之间的区别这个问题,对一些人来说实在是有些太宽泛而难以理解的。
 +
 
 +
我已经举了一些例子,人们认为他们有权要求技术支持和他们的东西。但是事实并不是这样。
 +
 
 +
微软的使命是“A computer on every desktop(让每个桌面上都有电脑)”——他们没有说出口的是每台电脑都运行着 Windows 。微软和苹果公司都销售操作系统,都尽他们最大的努力来保证尽可能多的人使用他们的产品:他们是来做生意,要赚钱的。
 +
 
 +
然而看看FOSS,直至今天,几乎完全是非商业性质的。
 +
 
 +
当你发电子邮件告诉我,Red Hat、Suse、Linspire ……是的,我知道他们在“销售” Linux。我知道他们都希望 Linux 被广泛的采用,特别是他们自己的版本。但是不要混淆提供商和制造商。Linux 内核不是被某个公司制造,不是由靠它获利的人来维护它。GNU 软件不是被某个公司制造,同样也不是由靠它们获利的人来维护。X11 视窗系统……好,当前最流行的实现方案是 xorg,“.org”的名字应该能告诉你想知道的(注:.org为非盈利组织)。桌面软件:好的。你提出一个例子,比如 KDE ,由于其基于的 Qt 是商业化的。(译者注:现在 Qt 已经不是商业化的了,是双重授权)。但是 Gnome、Fluxbox、Enlightenment 等等,都是非盈利的。确实有人销售 Linux,但是那只是极少数。
 +
 
 +
私有软件最终用户数量的增加可以直接变为制作公司的直接经济效益。对于 FOSS来说,并不是这样,使用人数的增加并不会产生直接的收益。非直接收益当然是有的:个人的自豪,更多发现 Bug(错误)的机会,更多可能得吸引新的开发者,可能有机会得到个好的工作,等等。
 +
 
 +
但是 Linus Torvalds( Linux 的创始人)并没有因 Linux 用户的增加而赚钱。Richard Stallman( GNU 创始人)也没有从 GNU 用户的增长中获利。所有运行 OpenBSD 和 OpenSSH 的服务器也没有放一分钱到 OpenBSD 项目的口袋中去。因此我们来到了在 Linux 和新用户之间最大的问题:
 +
 
 +
他们发现,他们不是 Linux 制造商请来的。
 +
 
 +
来到 Linux 之前,这些新用户使用的操作系统当中,最终用户的需求至高无上的,并且“用户友好性”和“以用户为中心” 被认为是第一位的。他们突然发现他们自己将要使用的操作系统仍然依赖于“man”文档、命令行、手动编辑的配置文件和 Google。而且当他们抱怨时,还没得到全方位的服务,也没得到什么承诺:被直接拒之门外。
 +
 
 +
当然是有些夸张了。但是确实,很多人像这样,以自己熟悉的方式来试着尝试 Linux,却遭到了失败。
 +
 
 +
从另一方面来说,FOSS 事实上是一种非常自私的发展方法:人们想工作的时候才工作,并且只做他们想做的工作。大部分人都不认为让 Linux 增加一些对没有经验的用户的吸引力有任何的必要: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 电脑。Mac OS X是不错的。但是不要用 Linux:它不会做你想要它做的。(译者注:目前 Linux 上的 Compiz 已经成为最花哨的窗口管理器了。)
  
<h3>问题7: 那些 FOSS 东西。</h3>
+
问题不仅仅是“为什么我想要 Linux?”。还有“为什么 Linux 想要我?”
<p>噢,这导致了问题。 非本质的: 自由和开源的软件是整个事情中一个极好的和很重要的部分。但是对于一些人,理解 FOSS 和 私有软件的不同是一个很大的改变。&nbsp;</p>
+
<p>我已经提醒了一些事实,人们认为他们需要和喜欢技术支持。但是事实离那样很远。&nbsp;</p>
+
<p>微软的使命声明是 <span style="font-style: italic;">"A computer on every desktop"</span>
+
- 不言而喻,每一台计算机应该运行 Windows。微软和苹果公司都销售操作系统,都尽他们最大的努力来保证大多数的人们使用他们的产品:他们是企业,为了赚钱。</p>
+
<p>并且那里是 FOSS 。甚至今天,几乎完全是非商业的。</p>
+
<p>当你发电子邮件告诉我,Red Hat, Suse, Linspire 和所有:&nbsp;是的,我知道他们在“销售” Linux。 我知道他们都爱 Linux 被广泛的采用,特别是他们自己的版本。但是不要混淆提供人和制造人。Linux 内核不是被一个公司创造,不是被人们维持以获取利润。这些 GNU 工具不是被一个公司创造,不是被人么维持以获取利润。这 X11 视窗系统 . . . 恩, 当前最流行的实现是 xorg ,并且<span style="font-style: italic;">".org"</span> 应该告诉你需要知道的。桌面软件:恩,获取你可以提出一个例子,如 KDE ,基于 它的基础 Qt 是 商业化的。[译者注:现在 Qt 已经不是商业化的了]。但是 Gnome,
+
Fluxbox, Enlightenment等等,都是非盈利的。那里 <span style="font-style: italic;">是</span> 有人销售 Linux, 但是那是非常少数的。</p>
+
<p>私有软件最终用户数量的增加导致了制作那些软件的公司的直接的经济效益。对于 FOSS ,并不是这样的,使用人数的增加并不会产生直接的收益,是的,个人自豪,查找 Bug 的能力的增长,吸引新的开发者更多的可能性,可能的一个好的工作的机会,等等。&nbsp;</p>
+
<p>但是 Linus Torvalds 没有从 Linux 的使用获取金钱。Richard Stallman 没有从 GNU
+
增长的使用中获取金钱。所有运行 OpenBSD 和OpenSSH 的服务没有放一便士到 OpenBSD
+
项目的钱袋中去。所以我们来看在 Linux 和新用户之间所有的问题中,这个最大的问题:</p>
+
<p>他们发现了不想要的东西。</p>
+
<p>新用户来到 Linux
+
,他们曾经使用一种操作系统,那时,最终用户的需求时至高无上的,并且<span
+
style="font-style: italic;">“用户友好性”</span>
+
和<span style="font-style: italic;">“以用户为中心”</span>
+
被认为是真实的圣杯。并且他们突然发现他们自己将要使用的操作系统:仍然依赖于 'man'
+
文档,命令行,&nbsp;手动编辑配置文档,和
+
Google。并且当他们抱怨时,他们没有获得溺爱或者承诺更好的东西:他们被直接指向了一扇门。</p>
+
<p>当然,夸大其词了。但是,它<span style="font-style: italic;">是</span>
+
他们尝试去转变到 Linux 但是失败后遇到的许多潜在的感受。&nbsp;</p>
+
<p>从一个古怪的方面来说,FOSS 事实上是一个非常自我的发展方法:
+
人们工作,仅当他们想工作的时候,仅工作在他们想工作的东西。大部分人们没有看到任何的需求,让
+
Linux 对没有经验的用户更有吸引力:它已经按照&nbsp;<span
+
style="font-style: italic;">他们</span> 想要的工作了,
+
为什么他们应该关心它为什么没有为另外的人工作?&nbsp;</p>
+
<p>FOSS 和 Internet 自身有很多相似的地方:你不需要付钱给<span
+
style="font-weight: bold; color: rgb(51, 51,
+
255);">一个网页/软件</span>的作者,去下载和<span style="font-weight: bold;
+
color: rgb(51, 51, 255);">阅读/安装</span><span style="color: rgb(51, 51,
+
255);">它。对于已经&nbsp;<span style="font-weight: bold; color: rgb(51, 51,
+
255);">有了宽带/知道如何使用软件的人们来说,</span><span style="font-weight:
+
bold; color: rgb(51, 51, 255);">无限的宽带/用户友好的界面</span>
+
并不是很感兴趣的。博客/开发者</span>不需要很多的<span style="font-weight: bold;
+
color: rgb(51, 51, 255);">读者/用户</span>来证明<span style="font-weight:
+
bold;"><span style="color: rgb(51, 51, 255);">写博客日志/编码</span>。</span>
+
那里<span style="font-style: italic;">是</span>
+
有许多人获得了很多的钱从它,但是它并不是大部分商业迷恋的旧的规则:<span
+
style="font-style:
+
italic;">“我拥有这个&nbsp;并且你必须付款给我,如果你想要一些”</span>;它提供服务如<span
+
style="font-weight: bold; color: rgb(51, 51,
+
255);">技术支持/电子商务</span><span style="color: rgb(51, 51,
+
255);">。</span>&nbsp;</p>
+
<p>Linux 对市场份额不感兴趣。Linux 没有客户。Linux
+
没有股东,或者一个对账本底线的责任。Linux 不是为了赚钱而创造的。Linux
+
没有成为这个星球上最流行和最普及的操作系统的目标。</p>
+
<p>所有的 Linux 社区想要一种确实好,充满特色,自由的操作系统。如果结果 Linux
+
成了一种非常流行的操作系统,那么是美妙的。如果结果 Linux
+
拥有直觉的,用户友好的界面,那么是美妙的。如果结果 Linux
+
成为一个数十亿美元的产业的基础,那么是美妙的。</p>
+
<p>它是<span style="font-weight: bold;">美妙的</span>,
+
但是它不是<span style="font-weight: bold;">要点</span>。要点是,让 Linux
+
成为社区最大能力上能制作的最好的操作系统。不是为了别人:为了它自己。这个如此普遍的威胁关于&nbsp;<span
+
style="font-style: italic;">“Linux
+
永远不会占领桌面除非它如此这般”</span>是不恰当的:Linux 社区不是 <span
+
style="font-style: italic;">尝试</span>
+
占领桌面。他们真的不关心,它是否足够好放到&nbsp;<span style="font-style:
+
italic;">你的</span>
+
桌面,只要它运行的足够好保持在&nbsp;<span style="font-style:
+
italic;">他们的桌面。</span> 微软的憎恶者,Linux 的狂热者,FOSS
+
的承办商或许是喧抄的,但是他们仍然是少数的。</p>
+
<p>那时 Linux
+
社区想要的:一种操作系统能够被任何想要它的人安装。所以如果你在考虑转向 Linux
+
,首先,问你自己什么是<span style="font-weight: bold;">你</span>真的想要的。</p>
+
<p>如果你想要一种操作系统,不需要一个司机在你身边,但是给你钥匙,把你放在驾驶员的座位上,<span
+
style="font-style: italic;">并且期望你知道在做什么</span>:获得 Linux
+
。你将必须投入时间去学习如何使用它,但是一旦你学会了,你将拥有一种能够站起来跳舞的操作系统。</p>
+
<p>如果你事实上只是想要没有恶意软件和安全问题的
+
Windows:攻读好的安全实践;安装好的防火墙,恶意软件检测程序,&nbsp;和杀毒软件;替换
+
IE 用一个更安全的浏览器;并且保持你自己更新到最新的安全更新。那里有人<span
+
style="font-style: italic;">(包括我自己)</span>使用 Windows 从 3.1 到
+
XP,从来不曾被病毒或者恶意软件感染:你也可以做到。不要获得
+
Linux:它将会非常不幸的失败,当你想要它是那样。</p>
+
<p>如果你事实上想要一种基于 Unix
+
的操作系统的安全和性能,和以客户为中心的特性和一个世界上有名的界面:购买苹果公司的
+
Mac. OS X 是很好的。但是不要获取 Linux:它将不会做你想要它做的。</p>
+
<p>它不仅是关于<span style="font-style: italic;">“为什么我应该想要
+
Linux?”</span>。它也是关于<span style="font-style: italic;">“为什么 Linux
+
应该想要我?”</span></p>
+

2014年11月22日 (六) 16:29的最新版本

在以下的文章中,我要讲的是GNU/Linux OS 和各种免费的和开源的软件(FOSS)项目,总称为"Linux"。这样看起来更好些。

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

Derived works

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

问题一:Linux 和 Windows 不太一样

你一定会惊讶于有这么多人对 Linux 发出相似的抱怨,他们奔向 Linux,希望找到一个免费的、开源版的 Windows。通常,这正是那些狂热的 Linux 使用者所告诉他们的那种状况。然而这却是个荒谬的期待。 人们尝试 Linux 的原因不尽相同,但所有的原因都可以归结为一点:他们希望 Linux 会比 Windows 更优秀。成本、选择范围、性能和安全性是通常衡量操作系统好坏的标准。当然,还有许多其它的方面,但当 Windows 用户转向 Linux 时,他们在这四方面将两者做比较,因为他们希望在这些方面Linux做的更好。

这正是问题之所在。

从逻辑上讲,在保持某样东西与参考物体完全相同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越母版。所以当你带着 Linux 更好的希望来尝试它的时候,你便会不可避免地发现它的不同。太多的人都忽略了这样一个事实,并且把这些不同之处看作是 Linux 的缺陷

举一个简单的例子,升级驱动程序:在 Windows 下升级某个硬件驱动,通常的情况下,我们需要去硬件制造商的网站上找到并下载最新的驱动,如今Windows 7已经可以自动更新最新的驱动程序,而不需要用户过多的参与;然而在 Linux 下,我们要做的是升级内核。

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

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

不,它的成功是因为它比 IE 更好,它之所以更好正是因为它的不同。它有标签页浏览方式,实时动态的书签,内建搜索工具栏,PNG图像格式支持,广告过滤扩展,以及其它的好东西。“查找”工具条显示在底部的工具栏中,它能够在你键入的时候就查找内容并且以红色表示没有相匹配的内容。而 IE 却没有标签页浏览,没有 RSS 订阅功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击“确认”按钮开始查找,而且还要再点击一次“确认”才能清除“未发现”的错误提示。(译者注:现在IE也有类似的功能了)这个鲜活的案例,证明了一个开源的应用程序通过“不同”而做到了“更好”,依靠“更好”进而取得了成功。如果 Firefox 只是一个 IE 的克隆,它必然早已销声匿迹于 IE 的阴影之下了。如果 Linux 是 Windows 的一个克隆,同样的事情也会发生在 Linux 身上。

因此问题一的答案就是:记住 Linux 其实与你熟悉的东西很相似,很有亲和力,它并不是全新和改进过的。积极地面对那些不同之处,因为只有不同,Linux 才有机会真正闪耀出其光彩

问题二:Linux 和 Windows 太不一样了

当人们期待着 Linux 有所不同时,又一个问题接踵而至。Linux 和 Windows 实在是太不一样了,一些差异简直难以让人适应。也许最典型的例子就是可供 Linux 用户选择的东西实在是太多了。对于一个刚上手的 Windows 用户,他已拥有一个经典的或 Windows XP 风格的桌面主题、一个写字板程序、一个IE 浏览器、一个Outlook Express来收发邮件;然而对于一个初学 Linux 的家伙,他面前有上百种发行版供其挑选,然後,是 Gnome、KDE 或者 Fluxbox(桌面环境),vi、emacs 或者 kate(文本编辑器),Konqueror、Opera、Firefox 或者 Mozilla(网页浏览器),或者其他一系列可供选择的工具。 Windows 用户不曾为了安装和使用(操作系统)而面对过如此丰富的选择。“有必要提供那么多种选择吗?”这样的抱怨帖子很常见。

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

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

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

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

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

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

  • Windows(摩托车)对于病毒(小偷)并不安全,除非你安装反病毒软件(车锁)。Linux(汽车)对于病毒(小偷)是比较安全的,所以即使你没有安装反病毒软件(不锁车门)也非常安全。

或者从另一个角度看:

  • Linux(汽车)从根本上用于多用户(多名乘客)。Windows(摩托车)用于单用户(乘客)。Windows 用户(摩托车驾驶员)习惯于任何时候完全地控制他的计算机(摩托车)。而一个Linux 用户(汽车乘客)只有在以 root 根用户身份登录(坐在驾驶座上)时才要去控制计算机(车辆)。

通过两种不同的方法来达成同样的目标,他们各有优缺点:当载上一家子的成员和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择:因为它有充裕的座位以及足够的储存空间。而对于一个人从甲地到乙地的情况,摩托车则是更好的选择:因为它不怎么会遇上堵车,消耗的燃油也更少。

无论选择摩托车或是汽车,仍有很多事情不会改变:你总归要给油箱里加油,而车还是开在同一条道上,而且必须遵守红绿灯,在转弯前要打转向灯,你同样也要注意限速。

但是也终究有很多情况不同了:开汽车的人不必带着安全头盔开车,摩托骑手不用系安全带;开汽车的人转动方向盘来转弯,摩托车骑手则要倾斜身子改变重心;开车需要踩油门踏板来加速,而骑摩托车通过手旋转手把来控制加速

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

解决方法在于:Windows 用户必须意识到他只是一个有经验的 Windows 用户,而不是有经验的 Linux 用户。对于刚开始使用 Linux 的 Windows 高级用户,他应该意识到,他是个新手。

问题三: 文化冲突

子问题 A : Linux 有自己的文化

Windows 用户或多或少地处于一种消费者和供应商之间的关系:他们花钱买软件,获得授权,得到支持,等等。他们希望软件能够有确切的可用性。因此他们习惯于去得到使用软件的权利:他们花钱去得到技术上的支持以及他们得到他们想要的权利。他们也经常要与一些除了个人之外的实体打交道:例如他们与一家公司签一份合同。

Linux 用户则更多的是处于一个社团当中。他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力。他们免费下载软件,并且使用即时通信工具和论坛寻求帮助。他们和个人打交道,而不是公司

一位 Windows 的用户如果只是把他的观点带到 Linux 中,那么是不会喜欢上 Linux 的,这需要慢慢地适应。

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

同样,一名 Windows 用户习惯了使用商业软件。这些软件在没有做到足够的可靠性、功能性以及对用户友好的界面之前,公司是不会发布该软件的。因此这正是 Windows 用户希望软件是从 1.0 版本开始的。而 Linux 软件几乎一旦写出就会立即发布,因此是从 0.1 版本开始的。这样的,真正需要这些功能的人就会马上得到它;感兴趣的开发者会来帮助改进代码,而整个社区都会关注接下来的发展情况。

如果菜鸟在使用 Linux 时遇到了困难,他会抱怨:这个软件没能满足我的需求,并且他认为他有权得到这样的满足。如果他得到这样带有讽刺性的回答:“如果我是你,我要求退款!”,他的情绪恐怕会更糟。

因此,为了避免这些问题,应做到:要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱。他们并不欠你任何东西

子问题 B : 新用户 vs. 老用户

Linux 几乎是因黑客的业余爱好而诞生的。它的成长源于它吸引了更多志同道合的黑客们。Linux 在变得不只是一些极客(Geek),而是让任何人都能使用之前经历了相当长的时间。可以说 Linux“始于极客,馈于极客”。直至今日,大多数 Linux 的老用户仍自认为是极客。 这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群极客们不断寻找解决方案这个状况,这难道不好吗?

但 Linux 自它诞生以来,已经成长变化了很多。已经有了一些几乎任何人都能安装使用的发行版,甚至一些发行版可以运行于 CD 上并且可以完全自动检测并配置好各种硬件。当 Linux 开始因其无病毒和廉价的升级而吸引一些非发烧友用户时,两大用户阵营间就会出现矛盾,这很正常。但有一点应当明确:双方都没有恶意,仅仅是缺乏相互理解而已。

首先,你面临的是核心极客们仍然假设所有使用 Linux 的用户们都是极客或在向这方面发展。这即是说他们认为所有 Linux 用户都应当很了解计算机和 Linux,这导致了他人指责他们的一些行为是傲慢、自大和无礼的。其实,虽然有时确实如此,但大多时候却并非这样,只是“每个人都应该知道”这样的善意表达变成了“地球人都知道!”——大相径庭。

其次,你面临着从使用的商用操作系统转投而来的新用户,这些用户已习惯使用那些任何人拆箱就能用的软件。

这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好改造自己的操作系统,而第二类人对操作系统怎么运行并不关心,只要它能运行就行了。

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

  • 新用户(以下简称“新”):我想要一部新玩具汽车,每个人都因乐高汽车的好玩而着了迷。所以我也买了它,但当我到家后我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?
  • 老用户(以下简称“老”):你应该用积木组装一辆车,这才是乐高的真谛。
  • 新:什么??我不知道应怎样拼装这台车子。我不是个机械师。我该怎么知道如何组装它?
  • 老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。
  • 新:好吧,我找到了说明。这得花多久啊!为什么他们不能装好了再卖给我,还得让我自己动手??
  • 老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。
  • 新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。不管怎样,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?
  • 老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。
  • 新:但我不希望总是拆拆装装,我仅仅希望一辆玩具车而已!
  • 老:呃,你到底是为什么要买乐高?

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

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

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

因此,为了避免这个问题:请记住现在 Linux 的外表并不代表它的过去。Linux 社区最大的也是最关键的组成部分——黑客和开发者们,他们因 Linux 的可以按需定制而欢喜;他们也会为可定制能力的丧失因而神伤。

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

问题四:为设计者而设计

在汽车工业中,你很难发现一个人既设计车辆引擎也设计车辆内饰:这需要完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要做工出众但狭小且难看的车厢。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。 但在 Linux 的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好” 的特性:用户对这个软件了如指掌,所以他也就不需要帮助文件等。vi 就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从来都没有想过如何用其他方式退出 vi ,所以新用户不得不靠重启计算机退出的事情时有发生。

但是,自由开源软件(FOSS,Free and Open Source Software)程序员与商用软件程序员的一个最重大区别在于, FOSS 程序员的作品都是他们自己想要使用的东西。这些作品新手用起来也许不舒服,但试想一下如果开发人员了解最终用户的需求,那这作品用起来一定很舒服。而实际情况确实如此,因为作者自己就是最终用户,他了解他自己(最终用户),因此该软件应该用起来很舒服。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用户都不是专家。

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

Linux 的界面对于新手而言同样的有些“难度”。尽管 vi 名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一个软件生命周期的早期使用它,打磨过的友好用户界面只会高挂在“计划”列表之上:主要功能肯定是先被实现的。没人先做个超级界面,再慢慢添加功能,程序员们都是先实现功能再不断改进界面。

所以,为了避免这个问题:你要么寻找那些以便于上手为目的而设计的软件,要么接受确实需要一个较长的磨合期来适应的软件。抱怨 vi 对新手不够友好只是舍本求末罢了。

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

在电脑世界里,“用户友好“指代非常广泛,甚至有一个不错的网络漫画就叫这个名字。但这个词却名不副实。

基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。实现的时候人们总是期望达到一个“最好”的界面,但事实并非想像的简单。

如果你一辈子都在做编辑文本文件的工作,理想的软件对你来说应当快速、强大,能让你以最少的操作来做最多的工作。简单的键盘快捷键和无需鼠标的操作将是最关键的需求。

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

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

简单来说:“用户友好”这个叫法并不妥当,只能让复杂的情况看上去变得简单一点而已。

那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这样一来,只要跟自己用过的软件长的像,不管它是不是真的好用,都可以叫做“用户友好”。

子问题 A: 熟悉的就是友好的

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

如果有人来到 vi 并且发现里面 D 是剪切,P 是粘贴,这将被当成是不友好的:因为这不是大多数人习惯的方式。

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

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

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

然後Ctrl+X把它剪切下来。

vi中的方式呢?用“dw”删除该单词即可。

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

从开头的单词开始:

Ctrl+Shift+

Ctrl+Shift+

Ctrl+Shift+

Ctrl+Shift+

Ctrl+Shift+

Ctrl+X

要使用5个动作

在 vi 中的情况呢?

d5w

vi 方式实际上更通用和也更直观 。“X” 和 “V” 并不是能够直观记忆“Cut”和 “Paste” 命令的,反之 “dw” 对于 “delete”(删除) 和 P 对于 “Put it back”(贴回来) 更加直观,明显vi 是更好的。可是由于它不是大家所熟悉的,因此它被认为是不友好的。没有其他任何因素,纯粹的由于习惯使得 Windows 成为了更加友好的系统。根据问题一中我们得到的:Linux 有必要与 Windows 不同,因此不可避免,Linux 经常显得没有 Windows“友好”。

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

子问题 B:低效的就是友好的

这是一个可悲的但无法逃避的事实。似乎你把一个软件的功能埋的越深,它就看起来越友好。

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

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

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

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

同样的道理,大量的 Linux 软件是设计成不带“辅助轮”(辅助工具)的——它是为已经有一些使用的基本技能的用户设计的。毕竟,没有人是永远的新手:无知是暂时的,知识是永远的。因此 Linux 软件其实是考虑到了用户中的多数的。

这听起来也许像是借口:毕竟,微软的 Word 有全部的友好菜单,并且有各种工具栏按钮, 而且有快捷键……它是世界上最棒的,对吗?既友好,又高效。

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

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

请记住,其实那些“辅助轮”在 Linux 软件中也同样有,通常作为可选的附加组件,尽管他们不是那么容易被发现,但实际通常都会有。

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

再用从 CD 转换到 MP3(或 Ogg)为例:如果使用命令行, 你需要先使用 cdparanoia 命令把 CD 的内容录制为磁盘文件,然后你再需要一个编码器……这会是一个恶梦,就算你完完全全清楚如何使用 imho 包。所以,下载和安装 Grip 吧。这是一个容易使用的图形软件,自动的在背后使用 cdparanoia 命令和编码器,令你的转换过程变得简单,甚至支持 CDDB,能自动为你的档案命名。

同样发生在抓取 DVD 上:选择正确的编码是一场噩梦。但是使用 dvd::rip 软件,可以在一个任何人都能操作自如的图形界面中来完成整个编码过程。

因此避免这个问题:要记住“辅助轮”(辅助工具)仅作为 Linux 的扩展,而不是自动跟着主程序安装的。而且有时,“辅助轮”还不成为设计的一部分。

问题六:模仿 vs. 趋同

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

Linux 已经从命令行时代进入了图形界面时代,这明显是在学 Windows。

不错的理论,但却是错误的:最初的 X 窗囗化系统(见附录)是于1984年发布,继承自1983年移植到 Unix 上的 W 窗口化系统。而 Windows 1.0 是在1985年才发布的。Windows 在1990年发布第三版之前并没有做大——那时,X 窗口化系统已经演化成我们今天使用的 X11 版本好几年了。Linux 在1991年才开始,所以 Linux 没有开发一个 GUI(图形用户界面)来模仿 Windows:它只是使用了一个在 Windows 出现之前就已经存在的 GUI。

Windows 3 的续作 Windows 95,带来了图形界面的革命性变化。在这以後很多年,微软都没能作出与此类似的创举。Windows 95 带来了多项创新的特性:拖放功能、任务栏等等。因而 Linux 借鉴了这些东西。

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

好吧,好吧,这样看来我们熟悉的“Windows 界面”,其实其中的元素并不是微软自己创造的。但它还是创造了一种整体界面,Linux 从那时起尝试模仿它。

为了反驳这一条,我们来讨论一下“趋同进化”的概念。它说的是:两个不同的、各自独立的系统随着时间的推移会逐渐变得类似。这种现象经常发生在生物学领域。举例来说:鲨鱼和海豚,他们都有着类似的背鳍、胸鳍和尾鳍,以及同样的流线型外形。

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

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

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

Linux 过去没有任何桌面像今天的 Windows,微软过去也没有(一个像今天的 Windows 的桌面)。现在他们都有了,这说明什么问题呢?

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

问题七:FOSS──自由和开源

那么问题来了。自由开源是整个事情中一个很有意思并且相当重要,但却不是根本的部分。但是对于一些人看来,不过对于开源软件和专有软件之间的区别这个问题,对一些人来说实在是有些太宽泛而难以理解的。

我已经举了一些例子,人们认为他们有权要求技术支持和他们的东西。但是事实并不是这样。

微软的使命是“A computer on every desktop(让每个桌面上都有电脑)”——他们没有说出口的是每台电脑都运行着 Windows 。微软和苹果公司都销售操作系统,都尽他们最大的努力来保证尽可能多的人使用他们的产品:他们是来做生意,要赚钱的。

然而看看FOSS,直至今天,几乎完全是非商业性质的。

当你发电子邮件告诉我,Red Hat、Suse、Linspire ……是的,我知道他们在“销售” Linux。我知道他们都希望 Linux 被广泛的采用,特别是他们自己的版本。但是不要混淆提供商和制造商。Linux 内核不是被某个公司制造,不是由靠它获利的人来维护它。GNU 软件不是被某个公司制造,同样也不是由靠它们获利的人来维护。X11 视窗系统……好,当前最流行的实现方案是 xorg,“.org”的名字应该能告诉你想知道的(注:.org为非盈利组织)。桌面软件:好的。你提出一个例子,比如 KDE ,由于其基于的 Qt 是商业化的。(译者注:现在 Qt 已经不是商业化的了,是双重授权)。但是 Gnome、Fluxbox、Enlightenment 等等,都是非盈利的。确实有人销售 Linux,但是那只是极少数。

私有软件最终用户数量的增加可以直接变为制作公司的直接经济效益。对于 FOSS来说,并不是这样,使用人数的增加并不会产生直接的收益。非直接收益当然是有的:个人的自豪,更多发现 Bug(错误)的机会,更多可能得吸引新的开发者,可能有机会得到个好的工作,等等。

但是 Linus Torvalds( Linux 的创始人)并没有因 Linux 用户的增加而赚钱。Richard Stallman( GNU 创始人)也没有从 GNU 用户的增长中获利。所有运行 OpenBSD 和 OpenSSH 的服务器也没有放一分钱到 OpenBSD 项目的口袋中去。因此我们来到了在 Linux 和新用户之间最大的问题:

他们发现,他们不是 Linux 制造商请来的。

来到 Linux 之前,这些新用户使用的操作系统当中,最终用户的需求至高无上的,并且“用户友好性”和“以用户为中心” 被认为是第一位的。他们突然发现他们自己将要使用的操作系统仍然依赖于“man”文档、命令行、手动编辑的配置文件和 Google。而且当他们抱怨时,还没得到全方位的服务,也没得到什么承诺:被直接拒之门外。

当然是有些夸张了。但是确实,很多人像这样,以自己熟悉的方式来试着尝试 Linux,却遭到了失败。

从另一方面来说,FOSS 事实上是一种非常自私的发展方法:人们想工作的时候才工作,并且只做他们想做的工作。大部分人都不认为让 Linux 增加一些对没有经验的用户的吸引力有任何的必要: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 电脑。Mac OS X是不错的。但是不要用 Linux:它不会做你想要它做的。(译者注:目前 Linux 上的 Compiz 已经成为最花哨的窗口管理器了。)

问题不仅仅是“为什么我想要 Linux?”。还有“为什么 Linux 想要我?”