在以下文章中,我将GNU/Linux操作系统和各种自由开源软件(FOSS)项目统称为“Linux”。这样读起来更顺口。
(Linux 不是 Windows)
如果你被引导到这个页面,那么你很可能是一个相对较新的Linux用户,正在经历从Windows切换到Linux的一些问题。这个问题给许多人带来了困扰,因此撰写了这篇文章。许多具体问题都源于这一个核心问题,所以本页内容被分解为多个问题领域。
问题一:Linux并不完全和Windows一样。
你会惊讶于有多少人这样抱怨。他们来到Linux世界,期望找到一个本质上是免费、开源的Windows版本。通常,这是过于热情的Linux用户告诉他们可以期待的。然而,这是一个矛盾的期望。
人们尝试Linux的具体原因千差万别,但总体原因归结为一点:他们希望Linux比Windows更好。衡量成功的常见标准包括成本、选择、性能和安全性。当然还有很多其他标准。但每个尝试Linux的Windows用户,都是因为他们希望它比现有的系统更好。
问题就出在这里。
从逻辑上讲,任何事物在保持与另一事物完全相同的同时,都不可能比它更好。一个完美的复制品可能等同,但永远无法超越。所以,当你尝试Linux,希望它更好时,你不可避免地希望它会有所不同。太多人忽略了这个事实,并将两个操作系统之间的每一个差异都视为Linux的失败。
举个简单的例子,考虑驱动程序升级:在Windows上,通常通过访问制造商的网站并下载新驱动程序来升级硬件驱动程序;而在Linux中,你升级内核。
这意味着一次Linux下载和升级将为你提供机器上可用的最新驱动程序,而在Windows上,你必须浏览多个网站并分别下载所有升级。这是一个非常不同的过程,但它绝不是一个糟糕的过程。但许多人抱怨,因为它不是他们习惯的方式。
或者,举一个你更可能产生共鸣的例子,考虑Firefox:最大的开源成功故事之一。一款席卷全球的网络浏览器。它是通过完美模仿当时最流行的浏览器IE而取得成功的吗?
不。它之所以成功,是因为它比IE更好,而它之所以更好,是因为它不同。它拥有标签页浏览、实时书签、内置搜索栏、PNG支持、广告拦截扩展和其他美妙的功能。“查找”功能出现在底部的工具栏中,并在你输入时实时匹配,无匹配时变为红色。IE没有标签页,没有RSS功能,搜索栏只能通过第三方扩展实现,还有一个查找对话框,需要点击“确定”开始查找,再点击“确定”清除“未找到”的错误信息。这是一个开源应用程序通过变得更好而取得成功,并通过变得不同而变得更好的清晰且无可争议的例证。如果Firefox是IE的克隆版,它早就湮没无闻了。如果Linux是Windows的克隆版,同样的事情也会发生。
所以,问题一的解决方案:记住,在Linux与你习惯的东西相似和相同的地方,它并不是新的和改进的。欢迎那些事物不同的地方,因为只有在这里,它才有机会发光。
问题二:Linux与Windows过于不同
下一个问题是,人们确实期望Linux会有所不同,但发现有些差异对他们来说过于激进。可能最大的例子就是Linux用户可用的选择数量之多。一个开箱即用的Windows用户拥有经典或XP桌面,并安装了写字板、Internet Explorer和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,就像从汽车切换到摩托车。它们可能都是操作系统/道路车辆。它们可能都使用相同的硬件/道路。它们可能都为你提供运行应用程序/将你从A地运输到B地的环境。但它们使用了根本不同的方法来实现这一点。
Windows/汽车除非你安装杀毒软件/锁门,否则无法免受病毒/盗窃的侵害。Linux/摩托车没有病毒/门,因此在不安装杀毒软件/锁任何门的情况下也是完全安全的。
或者从另一个角度看:
Linux/汽车是从头开始为多用户/乘客设计的。Windows/摩托车是为一个用户/乘客设计的。每个Windows用户/摩托车手都习惯于始终完全控制他的计算机/车辆。Linux用户/汽车乘客只习惯于在以root身份登录/坐在驾驶员座位时控制他的计算机/车辆。
两种不同的方法来实现同一个目标。它们在根本方式上有所不同。它们有不同的优缺点:汽车在运送家庭和大量货物从A地到B地方面是明显的赢家:更多座位和更多存储空间。摩托车在运送一个人从A地到B地方面是明显的赢家:更少受拥堵影响,油耗更少。
当你从汽车和摩托车之间切换时,有许多事情是不变的:你仍然必须给油箱加油,你仍然必须在相同的道路上行驶,你仍然必须遵守交通灯和停车标志,你仍然必须在转弯前打转向灯,你仍然必须遵守相同的速度限制。
但也有很多事情会改变:汽车司机不必戴头盔,摩托车司机不必系安全带。汽车司机必须转动方向盘才能转弯,摩托车司机必须倾斜身体。汽车司机通过踩脚踏板加速,摩托车司机通过转动手柄控制加速。
一个试图通过倾斜身体来让汽车转弯的摩托车司机很快就会遇到问题。而试图使用现有技能和习惯的Windows用户通常也会发现很多问题。事实上,Windows“高级用户”往往比计算机经验很少或没有经验的人有更多问题,正是因为这个原因。通常,最激烈的“Linux尚未准备好用于桌面”的论点来自根深蒂固的Windows用户,他们认为如果他们无法切换,经验不足的用户就没有机会。但这恰恰与事实相反。
所以,为了避免问题二:不要假设作为一个知识渊博的Windows用户就意味着你是一个知识渊博的Linux用户:当你第一次开始使用Linux时,你就是一个新手。
问题三:文化冲击
子问题 3a:存在一种文化
Windows用户或多或少处于一种客户-供应商关系中:他们为软件、保修、支持等付费。他们期望软件具有一定水平的可用性。因此,他们习惯于对软件拥有权利:他们为技术支持付了费,完全有权要求获得支持。他们也习惯于与实体而不是人打交道:他们的合同是与一家公司签订的,而不是与个人。
Linux用户更像在一个社区中。他们不必购买软件,不必为技术支持付费。他们免费下载软件,并使用即时通讯和基于网络的论坛来获得帮助。他们与人打交道,而不是公司。
委婉地说,一个Windows用户如果将他习惯的态度带到Linux世界,是不会受人欢迎的。
摩擦的最大原因往往在于在线互动:一个刚接触Linux的“3a”类用户寻求他遇到的问题的帮助。当他没有以他认为可接受的速率得到帮助时,他开始抱怨并要求更多帮助。因为这就是他习惯的对待付费技术支持的方式。问题是,这不是付费支持。这是一群志愿者,他们出于好心愿意帮助人们解决问题。新用户无权向他们要求任何东西,就像为慈善募捐的人不能要求捐助者捐更多钱一样。
非常相似地,Windows用户习惯于使用商业软件。公司在软件足够可靠、功能齐全和用户友好之前不会发布软件。所以这就是Windows用户对软件的期望:它从1.0版开始。然而,Linux软件往往几乎一写完就被发布:它从0.1版开始。这样,真正需要该功能的人可以尽快获得它;感兴趣的开发人员可以参与帮助改进代码;整个社区可以了解正在发生的事情。
如果一个“3a”类用户在使用Linux时遇到麻烦,他会抱怨:软件没有达到他的标准,而且他认为有权期待那个标准。当他得到诸如“如果我是你,我会要求退款”之类的讽刺回复时,他的情绪不会好转。
所以,为了避免问题3a:只需记住,你没有付钱给编写软件的开发人员,也没有付钱给在网上提供技术支持的人。他们不欠你任何东西。
子问题 3b:新 vs. 旧
Linux几乎从一开始就是黑客的爱好。随着它吸引了更多的业余黑客爱好者而发展壮大。很长一段时间里,除了极客,几乎没有人有机会轻松地让一个可用的Linux安装工作起来。Linux起初就是“由极客创造,为极客服务”。即使在今天,大多数资深的Linux用户也都是自称的极客。
这是一件非常好的事情:如果你在硬件或软件方面遇到问题,有大量极客可以致力于解决方案,这绝对是一个加分项。
但Linux自早期以来已经成熟了很多。有一些发行版几乎任何人都可以安装,甚至还有Live CD发行版,可以检测你的所有硬件而无需任何干预。它已经吸引了非爱好者的用户,他们只是因为它无病毒且升级便宜而对它感兴趣。两个阵营之间产生摩擦并不罕见。然而,重要的是要记住,双方都没有真正的恶意:是缺乏理解导致了问题。
首先,你会遇到那些硬核极客,他们仍然假设每个使用Linux的人都是同类极客。这意味着他们期望对方有很高的知识水平,这常常导致他们被指责为傲慢、精英主义和粗鲁。老实说,有时确实如此。但很多时候,并非如此:说“每个人都应该知道这个”是精英主义。说“每个人都知道这个”则不是精英主义——恰恰相反。
其次,你会遇到那些新用户,他们在使用了一辈子商业操作系统后试图切换。这些用户习惯于任何人都可以坐下来就用的、开箱即用的软件。
问题的出现是因为第一类用户是由那些喜欢能够拆解他们的操作系统并按他们喜欢的方式重建它的人组成的,而第二类用户往往对操作系统的工作方式漠不关心,只要它能工作就行。
一个可以强调这些问题的平行情境是乐高。想象以下情景:
新用户:我想要一辆新玩具车,而且每个人都在吹捧乐高车有多棒。所以我买了一些乐高,但当我回家时,盒子里只有一堆砖块、齿轮之类的东西。我的车在哪里??
老用户:你必须用砖块来建造这辆车。这就是乐高的全部意义所在。
新用户:什么??我不知道怎么造车。我不是机械师。我怎么知道怎么把它拼起来??
老用户:盒子里有一张宣传页。它确切地告诉你如何把砖块拼起来得到一辆玩具车。你不需要知道怎么做,你只需要遵循说明书。
新用户:好吧,我找到说明书了。这要花我几个小时!为什么他们不能直接把它作为一辆玩具车出售,而不是让你必须建造它??
老用户:因为不是每个人都想用乐高做一辆玩具车。它可以被做成任何我们喜欢的东西。这就是全部意义。
新用户:我还是不明白为什么他们不能把它作为一辆车提供,这样想要车的人就有了,而其他人如果想的话可以把它拆开。不管怎样,我终于把它拼好了,但偶尔有些部件会掉下来。我该怎么办?我能用胶水粘吗?
老用户:这是乐高。它被设计成可以拆开。这就是全部意义。
新用户:但我不想让它拆开。我只想要一辆玩具车!
老用户:那你到底为什么买一盒乐高??
几乎任何人都清楚,乐高并不是真的针对那些只想要一辆玩具车的人。在现实生活中你不会遇到像上面这样的对话。乐高的全部意义在于,你在建造的过程中获得乐趣,并且可以用它制作任何你喜欢的东西。如果你对建造任何东西都不感兴趣,乐高不适合你。这非常明显。
就长期的Linux用户而言,Linux也是如此:它是一个开源的、完全可定制的软件集。这就是全部意义。如果你不想稍微捣鼓一下这些组件,为什么要费心使用它呢?
但是最近人们付出了很多努力,使Linux更适合非黑客,这种情况与销售预组装乐高套件相差不远,目的是让它吸引更广泛的受众。因此,你会得到与上述对话相差不远的对话:新手抱怨那些老手认为是基本功能的东西的存在,并且讨厌必须阅读手册才能让某些东西工作。但是,抱怨有太多发行版;或者软件有太多配置选项;或者它不能开箱即用地完美工作;就像抱怨乐高可以做成太多模型,并且不喜欢它可以被分解成砖块并建造成许多其他东西的事实。
所以,为了避免问题3b:只需记住,Linux现在看起来的样子并不是Linux过去的样子。Linux社区中最大和最必要的部分,黑客和开发人员,喜欢Linux是因为他们可以按自己喜欢的方式组装它;他们并不是尽管必须做所有组装工作才能使用它而喜欢它。
问题四:为设计者设计
在汽车行业,你很少会发现设计发动机的人也设计了汽车内饰:这需要完全不同的技能。没有人想要一个只是看起来跑得快的发动机,也没有人想要一个性能超群但狭窄丑陋的内饰。同样,在软件行业,用户界面(UI)通常不是由编写软件的人创建的。
然而,在Linux世界,情况就不太一样了:项目经常始于一个人的玩具。他自己做所有事情,因此界面不需要任何形式的“用户友好”功能:用户知道关于软件的一切,他不需要帮助。Vi 是一个特意为已经知道其工作原理的用户创建的软件的好例子:新用户因为想不出其他退出vi的方法而重启他们的电脑,这并非闻所未闻。
然而,FOSS程序员和大多数商业软件作者之间有一个重要区别:FOSS程序员创建的软件是他打算自己使用的软件。所以,虽然最终结果对新手用户来说可能不那么“舒适”,但他们可以感到些许安慰,因为他们知道软件是由一个知道最终用户需求的人设计的:他本身就是一个最终用户。这与商业软件作者非常不同,他们是为其他人制作软件:他们不是知识渊博的最终用户。
所以,虽然vi有一个对新用户极其不友好的界面,但它今天仍在使用,因为一旦你知道它是如何工作的,它就是一个极好的界面。Firefox是由经常浏览网页的人创建的。Gimp是由用它来处理图形文件的人构建的。等等。
所以Linux界面对新手来说经常有点像雷区:尽管流行,但vi永远不应该被一个只想快速修改文件的新用户考虑。如果你在软件生命周期的早期使用它,一个精美的、用户友好的界面你很可能会在“待办事项”列表中找到:功能优先。没有人会先设计一个杀手级界面,然后试图一点一点添加功能。他们先创造功能,然后一点一点改进界面。
所以为了避免#4问题:寻找专门针对新用户易用性设计的软件,或者接受一些软件的学习曲线比你习惯的更陡峭。抱怨vi对新用户不够友好,会因没抓住重点而被嘲笑。
问题五:“用户友好”的神话
这是一个大问题。在计算领域,“用户友好”是一个非常宏大的术语。它甚至是一部特别好的网络漫画的名字。但这是一个不好的术语。
基本概念是好的:软件设计应以用户需求为中心。但它总是被当作一个单一的概念来对待,而事实并非如此。
如果你一生都在处理文本文件,你理想的软件将是快速而强大的,使你能够以最少的努力完成最大的工作量。简单的键盘快捷键和无鼠标操作将至关重要。
但如果你很少编辑文本文件,你只想偶尔写一封信,你最不想做的就是费力学习键盘快捷键。组织良好的菜单和工具栏中清晰的图标将是你理想的选择。
显然,围绕第一个用户的需求设计的软件不适合第二个用户,反之亦然。那么,如果我们都有不同的需求,怎么能称任何软件为“用户友好”呢?
简单的答案:用户友好是一个误称,它使复杂的情况看起来简单。
“用户友好”到底是什么意思?好吧,在它所使用的语境中,“用户友好”软件意味着“一个对软件没有先前经验的用户可以达到合理使用能力的软件。”这有一个不幸的效果,就是让糟糕但熟悉的界面归入“用户友好”的类别。
子问题 5a:熟悉即友好
因此,在大多数“用户友好”的文本编辑器和文字处理软件中,你通过使用 Ctrl-X 和 Ctrl-V 来剪切和粘贴。完全不直观,但每个人都习惯了这些组合,所以它们算作“友好”的组合。
所以当有人来到vi,发现它是“d”剪切,“p”粘贴时,它不被认为是友好的:这不是任何人习惯的。
它更优越吗?嗯,实际上,是的。
使用 Ctrl-X 方法,你如何从当前文档中剪切一个单词?(不要用鼠标!)
从单词开头,Ctrl-Shift-Right 选中单词。
然后 Ctrl-X 剪切它。
vi的方法呢?dw 删除单词。
用 Ctrl-X 应用程序剪切五个单词呢?
从单词开头,Ctrl-Shift-Right Ctrl-Shift-Right Ctrl-Shift-Right Ctrl-Shift-Right Ctrl-Shift-Right Ctrl-X
用vi呢?
d5w
vi的方法远更通用,而且实际上更直观:“X”和“V”并不是显而易见或容易记住的“剪切”和“粘贴”命令,而“dw”删除单词,“p”放回去则非常直白。但“X”和“V”是我们都知道的,所以虽然vi显然更优越,但它不熟悉。因此,它被认为是不友好的。除此之外,纯粹的熟悉感使得类Windows的界面显得友好。正如我们在问题#1中学到的,Linux必然与Windows不同。不可避免地,Linux总是显得不如Windows“用户友好”。
为了避免#5a问题,你能做的真的就是试着记住“用户友好”并不意味着“我习惯的”:尝试用你通常的方式做事,如果不行,试着想想一个完全的新手会怎么做。
子问题 5b:低效即友好
这是一个可悲但不可避免的事实。矛盾的是,你越难访问应用程序的功能,它可能显得越友好。
这是因为友好性是通过使用简单、可见的“线索”添加到界面中的——越多越好。毕竟,如果一个计算机新手面对一个所见即所得的文字处理器,被要求将一些文本加粗,哪种情况更可能发生:
他会猜“Ctrl-B”是通常的标准。
他会寻找线索,尝试点击“编辑”菜单。不成功,他会尝试菜单栏上下一个可能的选择:“格式”。新菜单有一个“字体”选项,看起来有希望。嘿!这就是我们的“加粗”选项。成功!
下次你做任何处理时,尝试完全通过菜单完成每一项工作:不用快捷键,也不用工具栏图标。一路菜单操作。你会发现你慢如蜗牛,因为每项任务突然需要大量的击键/鼠标点击。
以这种方式使软件“用户友好”就像给自行车装上辅助轮:它让你可以立即启动和运行,无需任何技能或经验。对初学者来说是完美的。但没有人认为所有自行车都应该带着辅助轮出售:如果今天给你这样一辆自行车,我敢打赌你要做的第一件事就是拆掉它们,因为它们是不必要的累赘:一旦你知道怎么骑自行车,辅助轮就是不必要的。
同样,许多Linux软件设计时没有“辅助轮”——它是为已经具备一些基本技能的用户设计的。毕竟,没有人是永久的新手:无知是短暂的,而知识是永恒的。所以软件是为大多数人设计的。
这可能看起来像是一个借口:毕竟,MS Word 有所有友好的菜单,它有工具栏按钮,它有快捷键……所有世界之最,对吧?既友好又高效。
然而,必须正确看待这一点:首先,从实际出发:拥有菜单、工具栏、快捷键等等意味着大量的编码,而且Linux开发人员并非都为自己的时间获得了报酬。其次,它仍然没有真正考虑到认真的高级用户:很少有专业的文字工作者使用MS Word。遇到过用MS Word的程序员吗?比较一下有多少人使用emacs和vi。
为什么会这样?首先,因为一些“友好”的行为排除了高效的行为:参见上面的“剪切和复制”示例。其次,因为Word的大部分功能都藏在必须使用的菜单中:只有最常用的功能在顶部的工具栏中有那些方便的小按钮。那些对高级用户仍然至关重要但不常用的功能访问起来太花时间。
然而,需要记住的一点是,对于Linux软件来说,“辅助轮”通常作为“可选附加组件”提供:它们可能不明显,但经常可用。
以mplayer为例。你通过在终端中输入 mplayer 文件名 来播放视频文件。你使用方向键和PageUp & PageDown键快进和快退。这并不非常“用户友好”。但是,如果你输入 gmplayer 文件名,你会得到图形前端,带有所有漂亮的、友好的、熟悉的按钮。
以将CD翻录为MP3(或Ogg)为例:使用命令行,你需要使用cdparanoia将文件翻录到磁盘。然后你需要一个编码器……即使你确切知道如何使用这些软件包,这也很麻烦。所以下载并安装像Grip这样的东西。这是一个易于使用的图形前端,它在后台使用cdparanoia和编码器,使翻录CD变得非常容易,甚至支持CDDB来自动命名文件。
翻录DVD也是如此:传递给transcode的选项数量有点噩梦。但是使用dvd::rip来为你与transcode对话,使整个过程变成一个简单的、基于GUI的、任何人都可以完成的过程。
所以为了避免#5b问题:记住“辅助轮”在Linux中往往是可选的附加组件,而不是自动随主产品提供。有时,“辅助轮”根本不能成为设计的一部分。
问题六:模仿 vs. 趋同
当人们发现Linux不是他们想要的Windows克隆版时,他们经常提出的一个论点是坚持认为这就是Linux自创建以来一直在尝试(或应该尝试)成为的样子,而那些不承认这一点、不帮助Linux变得更像Windows的人是错误的。他们为此提出了许多论点:
Linux已经从命令行界面发展到了图形界面,这明显是在尝试模仿Windows。
很好的理论,但错了:最初的X窗口系统于1984年发布,作为1983年移植到Unix的W窗口系统的继任者。Windows 1.0于1985年发布。Windows直到1990年发布的3.0版才真正大获成功——到那时,X窗口已经处于我们今天使用的X11阶段好几年了。Linux本身直到1991年才开始。所以Linux并不是为了模仿Windows而创建GUI:它只是利用了一个在Windows之前很久就存在的GUI。
Windows 3让位于Windows 95——对UI进行了巨大的、微软此后从未超越的改变。它有许多新的和创新的功能:拖放功能;任务栏,等等。所有这些当然后来都被Linux模仿了。
实际上……不。以上所有在微软利用它们之前就已存在。特别是NeXTSTeP,它是一个(在当时)极其先进的GUI,它明显早于Win95——1.0版于1989年发布,最终版在1995年。
好吧,好吧,所以微软没有想出我们认为的Windows外观和感觉的各个功能。但它仍然创造了一种外观和感觉,而Linux此后一直在试图模仿它。
为了揭穿这一点,必须讨论趋同进化的概念。这是指两个完全不同的、独立的系统随着时间的推移进化变得非常相似。这在生物学中一直发生。例如,鲨鱼和海豚。两者都是(通常)大约相同大小的、吃鱼类的海洋生物。两者都有背鳍、胸鳍、尾鳍和类似的、流线型的形状。
然而,鲨鱼是从鱼类进化而来的,而海豚是从某种陆基四足哺乳动物进化而来的。它们整体外观非常相似的原因是,它们都进化得尽可能高效地生活在海洋环境中。在任何阶段,海豚的祖先(相对的新来者)都没有看着鲨鱼想“哇,看看那些鳍。它们真管用。我也要试着进化出一些来!”
同样,看看早期的Linux桌面,看到FVWM和TWM以及许多其他简单的GUI,然后看看现代的Linux桌面,看到Gnome和KDE以及它们的任务栏、菜单和视觉效果,这是完全正确的。是的,说它们比过去更像Windows是正确的。
但是,Windows也是如此:Windows 3.0据我所知没有任务栏。开始菜单呢?什么开始菜单?
Linux没有类似现代Windows的桌面。微软也没有。现在它们都有了。这告诉我们什么?
它告诉我们,两个阵营的开发人员都在寻找改进GUI的方法,因为问题的解决方案有限,他们经常使用非常相似的方法。相似性绝不以任何方式证明或暗示模仿。记住这一点将帮助你避免误入问题#6的领域。
问题七:那个FOSS的事情。
哦,这会引起问题。不是本质上的:软件是自由和开源的,这是整个事情中一个美妙且极其重要的部分。但理解FOSS与专有软件究竟有多么不同,对一些人来说可能是一个太大的调整,以至于无法适应。
我已经提到了一些这方面的例子:人们认为他们可以要求技术支持等等。但它远不止于此。
微软的使命宣言是“让每张桌面上都有一台电脑”——潜台词是每台电脑都应该运行Windows。微软和苹果都销售操作系统,并且都竭尽全力确保他们的产品被最多的人使用:他们是企业,旨在赚钱。
然后是FOSS。即使在今天,它也几乎完全是非商业的。
在你伸手去拿电子邮件客户端告诉我关于红帽、Suse、Linspire等等之前:是的,我知道他们“卖”Linux。我知道他们都希望Linux被普遍采用,特别是他们自己的版本。但不要混淆供应商和制造商。Linux内核不是由一家公司创建的,也不是由想用它盈利的人维护的。GNU工具不是由一家公司创建的,也不是由想用它们盈利的人维护的。X11窗口系统……嗯,目前最流行的实现是xorg,而“.org”部分应该告诉你所有你需要知道的。桌面软件:好吧,你可能会说KDE是商业的,因为它是基于Qt的。但Gnome、Fluxbox、Enlightenment等等都是非营利的。有人想卖Linux,但他们是极少数。
增加专有软件的最终用户数量会给制造它的公司带来直接的经济利益。对于FOSS来说,情况根本不是这样:增加用户群对任何FOSS开发人员都没有直接的好处。间接的好处,是的:个人自豪感;发现错误的可能性增加;吸引新开发人员的可能性更大;可能得到一个好工作的机会;等等。
但是林纳斯·托瓦兹不会因为Linux使用量增加而赚钱。理查德·斯托曼不会因为GNU使用量增加而得到钱。所有运行OpenBSD和OpenSSH的服务器不会给OpenBSD项目带来一分钱。于是我们来到了新用户和Linux相关的最大问题:
他们发现自己不被需要。
新用户在使用了一辈子最终用户需求至上、“用户友好”和“客户至上”被视为真正圣杯的操作系统后来到Linux。他们突然发现自己使用的操作系统仍然依赖于‘man’文件、命令行、手动编辑的配置文件和谷歌。当他们抱怨时,他们没有得到溺爱或更好的承诺:他们被直白地拒之门外。
当然,这有点夸张。但这就是许多潜在的Linux皈依者在尝试但未能切换时感知到的情况。
以一种奇怪的方式,FOSS实际上是一种非常自私的开发方法:人们只在他们想工作的时候,做他们想做的工作。大多数人认为没有必要让Linux对没有经验的最终用户更具吸引力:它已经做了他们想让它做的事,他们为什么要在意它是否对其他人无效?
FOSS与互联网本身有许多相似之处:你不用为下载和阅读/安装网页/软件而付费给网页作者/软件开发人员。无处不在的宽带/用户友好的界面对一个已经拥有宽带/知道如何使用该软件的人没有多大兴趣。博主/开发人员不需要有很多读者/用户来证明博客/编码的合理性。有很多人从中赚了很多钱,但用的不是老式的“我拥有这个,你想要就得付钱给我”的方法,那是大多数企业如此热衷的;它是通过提供像技术支持/电子商务这样的服务。
Linux对市场份额不感兴趣。Linux没有客户。Linux没有股东,也不对盈亏底线负责。Linux的创建不是为了赚钱。Linux的目标不是成为地球上最受欢迎和最广泛使用的操作系统。
Linux社区想要的只是创建一个真正好的、功能齐全的、自由的操作系统。如果这导致Linux成为一个极其流行的操作系统,那很好。如果这导致Linux拥有有史以来最直观、用户友好的界面,那很好。如果这导致Linux成为数十亿美元产业的基础,那很好。
很好,但这不是重点。重点是让Linux成为社区有能力制作的最好的操作系统。不是为了别人:为了自己。那些非常常见的威胁,比如“Linux永远不会接管桌面,除非它做这做那”,根本无关紧要:Linux社区并不试图接管桌面。他们真的不关心它是否好到能上你的桌面,只要它好到能留在他们的桌面上就行。那些声音极高的微软仇恨者、亲Linux的狂热者和赚钱的FOSS供应商可能声音很大,但他们仍然是少数。
这就是Linux社区想要的:一个可以被任何真正想要它的人安装的操作系统。所以,如果你考虑切换到Linux,首先问问自己你到底想要什么。
如果你想要一个不会载着你到处转,而是把钥匙交给你,让你坐在驾驶座上,并期望你知道该做什么的操作系统:用Linux。你将不得不投入一些时间来学习如何使用它,但一旦你做到了,你将拥有一个可以让它坐起来跳舞的操作系统。
如果你真的只想要没有恶意软件和安全问题的Windows:阅读良好的安全实践;安装好的防火墙、恶意软件检测器和反病毒软件;用更安全的浏览器替换IE;并让自己跟上安全更新。有些人(包括我自己)从3.1时代一直使用Windows到XP,从未感染过病毒或恶意软件:你也可以做到。不要用Linux:它会在成为你想要的样子方面悲惨地失败。
如果你真的想要基于Unix的操作系统的安全性和性能,但带有以客户为中心的态度和世界闻名的界面:买一台苹果Mac。OS X很棒。但不要用Linux:它不会做你想让它做的事。
这不仅仅是关于“我为什么应该想要Linux?”。这也是关于“Linux为什么应该想要我?”