Linux:尊重使用者的操作系统!

2015-01-10 10:10


所有的操作系统都有它的自已的一套思想,这些思想其实是有关键影响的。

那到底什么是 Linux 思想?Linux 思想又是怎么样在影响整个社群,而它又是如何博得软件发展的青睐?

不论我们知道与否,大多数的人们都或多或少有套自已的生命哲学。它可能很简单,就像“善待他人”,也可能是非常复杂的生命哲学。

同样的,许多公司也有它们自己的哲学与思想,不论是成文的或是未成文的。1974-1995 年,当 David Both 在 IBM 工作时,IBM 思想是被明文规定,而且是根深蒂固在 IBM 文化里面的,里面论及商业运作的规则、应该如何对待员工顾客与供应商。IBM 思想的最高指导原则就是公平地对待任何人,并伴随着自我尊重以及对他人的敬重。

在 David Both 开始深入使用 Linux 之前,他从来不知道这玩意儿背后竟然有一套哲学,而且,到底一套哲学思想对操作系统到底会有什么样的影响?在做了一些功课之后,David Both 发现,其实所有的操作系统,背后都有一套思想,并且,他也开始明白这些思想的重要性。

举例来说,Windows 的思想和 Digital Equipment 公司 (DEC) 的 VMS 操作系统非常的相似。说穿了其实就是一套“把一切可能会造成使用者麻烦的可能性,都挡在外面。”的操作系统。当然,之所以这两者会这么相似的原因是因为 Windows NT 的主要开发者,同时也是开发 VMS 的人。而这套背后的逻辑,它阐述的是:使用者们其实是害怕电脑的,因此必须要让“复杂性”远离使用者。

MAC 操作系统其实并没有太大的差异,虽然它的图像化的使用者界面采用的是一种以使用者立场出发的方式,许多意见也指出,MAC 操作系统提供一种更一致、更整合而且更流畅的使用者经验。其实,MAC 和 Windows 都有提供命令行界面,在命令行界面中可以让使用者和操作系统达到较低程度的互动,但 Windows 的命令行界面受限较多,与 Linux 和 Unix 比起来只有些许命令可以操作。

MAC 的命令行界面就是一种提供很大权力空间的 BASH 外壳 (BASH Shell),就像 Linux 一样,然而,你却很难找到它,因为他被埋在目录的各种选择键里面了,除非你积极的寻找它。

与众不同的概念

当 Unix 在 1960 至 1970 年代开始发展的时候,开发团队就是希望能够做出跟市场上不同的操作系统。因此,Unix 背后的逻辑很明显地和其他操作系统很不一样,而从 Unix 思想里面,自然地衍生出 Linux 思想。

以下是 Mike Gancarz 的书《Linux and the Unix Philosophy》 序言里面提供了一段具有丰富资讯的一段话:

一个操作系统,它的本质体现了创作者的思想……Unix 操作系统的开发是起源一个激进的概念:他们假定所有 Unix 操作系统的使用者们,从一开始就是熟悉电脑语言的;所以整套 Unix 哲学都围绕着一件事情“使用者们知道他自己在做什么”。

哇!他们真的这样说吗?这听起来是只有菁英才能做到的事情,而且可能有很高的进入门槛。不过,事实上却恰恰相反。

David Both 最喜欢的关于 Unix 和 Linux 的一段话,是出自 Doug Gwyn(至于 Doug 是否存在,还是一个大问号):Unix 的设计不是为了阻止使用者做出傻事,因为如果这样做的话,也会阻止他们做出聪明的事情。

这之中就蕴含了 Linux 精神的真谛:Linux 从不认为用户能力不足,反而是假定:你明白自己在做什么,并且会遵循你下的任何命令,任何事。无论是有心还是无意。总之,使用者确实掌握了很大的权力。

Linux 对使用者一视同仁,每个人都有很大的空间去发挥-这是平等主义的彰显。其他的操作系统才是菁英的和排外的,因为他们将使用者的权力隐藏,藏在僵化的用户界面背后,只让使用者做开发者认为他们能够做的事情。

Linux 思想的启蒙

多年来,已经有为数不少的人,正将 Linux 思想的各个面向化成实际文字,借此来启蒙其他的人。

Mike Gancarz 是第一个出书的:《The Unix Philosophy》,接下来还有《Linux and the Unix Philosophy》,这些书整理出了九大法则和十条小法则。

Eric Raymond 在他的书《The Art of Unix Programming》中则整理出了十七条原则。俄勒冈州立大学也有自己对 Linux 思想的诠释,完美描绘了工程师眼中的 Linux。

与其列举出那些原则与教条,不如列出那些书中的参考资料或是连结们,让这个理出原则的程序回到读者身上,更能够让每一个读者真正被启发。

终端模拟机制

Linux 思想体现在人们可以透过一个终端模拟器,直接连到命令行界面,开始施展使用者的权力。首先,只要透过 Ctrl-Alt-F[1-7],就可以连到多个虚拟终端。甚至连 Linux 的图形化桌面都在悄悄对你说:“动手吧!”Linux 有各种不同的桌面素材,可以让使用者选取他最喜欢的。然而,CLI 的力量,只要你轻轻点选各种终端模拟器和外壳的组合,即可达成。

David Both 最喜欢图型化桌面的终端模拟器是 Konsole,Konsole 让你可以透过切换页面就能够在多重的终端对话之间切换,当然,你也可以用你最喜欢的外壳套用全部,或是每个对话都用不同的外壳,一切都取决于你的需求。

为了达到更高的灵活度,Linux 甚至有一个荧幕程式,让你可以在单一的终端对话中就能够完成多重对话,这在远端登入时特别有用,因为就算你断线了,荧幕的对话会继续随着所有正在不同外壳里运行的程式工作下去。

Linux 的命令行界面  轻声诱惑:它正用它给你的权力在诱惑你,它的灵活弹性诱惑了 David Both,甚至改变了他-完全改变了 David Both 使用电脑的习惯。David Both 仍然使用图形化的桌面,但在使用 Konsole 的状况下,能够拥有高灵活度的多重对话,就如同在 LibreOffice、Firefox 和 Thunderhird 下运行软件一样。

百分之百的掌握度

Linux 不会在你下命令的时候踩任何刹车,它假定你很清楚你做的一切是什么,所以你输入什么命令,就会导向什么样的结果,完全不过问,让你完全掌握一切。

想像一个混乱的画面,是你拿着枪,但除非你大声的说出“射击”,不然没办法开枪。Linux 让你可以随心所欲的使用枪,其他的操作系统会让你“知道”你可以使用枪,但却不告诉你怎么样使用,更别说是让你的手指放在板机上。

没错,权力太大确实有危险,但如果能使用得宜,确实能做出许多杰出的东西。

Linux 的最高指导原则

谈到这里,你一定也开始觉得,其实要总结 Linux 的精神很简单:

尊重每一个使用者。

这相当于让每个用户用他们自己的方式做事,而且还是用功能强大的工具。这表示灵活性、易用性、自由度是 Linux 认为建构软件系统时最重要的考虑因素。这使得这样的创作软件,在 Unix 推出 45 年后,Linux 推出 20 年之后,还是一样强大而且漂亮。

编者按:本文来自台湾,做了简繁转换和用语转换。