现在有很多关于Linux的极端的宣传,一些是积极的,也有一些是消极的。但可以肯定的一件事是:没有人在对待Linux的问题上是不明朗的。Microsoft在尽力说服大家NT的技术更好一些,而且不怀好意或极力利用自己的行销能力来证明他的说法。哦,我当然比Microsoft好不了哪里去,但他是正确的。Linux在很多方面都不尽令人满意,如果不是,那现在大多数用户就不会把它抛在一边不用。一个简单的事实是Linux对于一小部分人是合适的,即那些能忍受它奇怪特性的人。这部分人有两种:开发人员和Linux发烧友。“Linux发烧友”是一种含糊的说法,但我们能进一步的指出这群发烧友的少数几个特征。
最简单的特征就是如果你现在仍不知道Linux是否适合你,Linux可能真的就不适合你。
Linux不适合多数人的最主要问题是简单的:大多数人并不在意使用的操作系统,没有人真的对使用BSD型的多线程应用程序感到激动;他们在使用电子表格程序输入数据的时候,而后台正在计算(原理实际上是一样的,但没人在意;它只是完成了,如此而已)。电子表格程序不是IBM-PC上的DOS,也不是DOS在几百万桌面系统上的翻版,它是Lotus 1-2-3和WordPerfect(及后来的Windows上的程序)。这里有一个决定性的观点:运行一个另类操作系统可能很酷,但你确实不必为想让操作系统做什么而操心--运行哪个应用程序。这包括游戏,字处理,多线程,帐户处理等等。不过操作系统的绝大部分市场还是集中在Windows,而不是Linux,最大的市场往往能吸引最好的应用程序。
迄今为止,一些Linux上的应用程序在和Windows中的类似程序竞争(如:GIMP)。但Linux上没有哪个应用程序能像在Windows上那样被普遍使用(是的,我忽略了TeX-如果平均100人中,有3人知道TeX是什么就已经很幸运了,知道如何使用它的人就更少了。你会发现其它的应用程序比这个结果也好不了那里去)。所以很难从纯粹软件的观点找个理由去使用Linux,而不使用Windows。你会认为Mail,Webervices,News之类的服务器程序是Linux的强项。“啊哈”,你说。“我用这些程序,Linux表现得很出色”。你仍然错了,Linux的确在这些应用上做得很好,Linux开放源代码的天性当然不会伤害这些可用性(如:Apache)。但是在一个生产环境里,其它的Unix甚至是免费的Unix通常是首选。
对于Linux,因为它的“whitewater”开发模式使得每个人都可以开发它(与BSD截然不同,BSD有专门的开发队伍支持),而且那些糟糕的文档让人发狂。“whitewater”开发模式(也被认为是“集市”,出自Ericymond's《大教堂与集市》)更容易写出不稳定的代码。在“whitewater”或“集市”里,你可以发行糟糕的代码,让这些代码表面上看起来像是在为你工作(实际上这只是在骗人),然后可能就会有其他的人来修补它。BSD的“大教堂”开发模式与Linux的“whitewater”开发模式形成鲜明对照,在BSD里代码是稳定的,而且bug尽可能的少。FreeBSD有同样的效率和性能,而且它有专门的开发人员,这就使它远离一般的公众都可以参与开发,使得它更稳定。
当然,如果你是开发人员,而且愿意走在“流血”边缘--Linux可能很适合你。我一直都用Linux(真的),我能用三倍的可利用时间(大约200天)和Linux在一起(现在影响我的首要因素是电,电力供应总是和我的可利用时间闹别扭)。另外,我的行为常常超出我的期待。如果你过去使用Unix,Linux的免费和自由的天性也可能对你有吸引。注意Linux,尽管价格免费,但不是使用上的免费--另一方面需要时间投资。Linux文档可能质量不一。有时即使一个解决办法被清晰的解释时,它却在不合适的地方解释。
从统计学的角度看上面所说,Linux适合一小部分用户,这意味着Linux上的开发人员有一个很有限的市场,限制了Linux的广泛应用,这是一个自我消费的过程。即使对开发人员来说,Linux无疑还有缺点。它在某种程度上趋向于跟踪最新和最伟大的思想。如果你试图呆在“流血”边缘,那要很谨慎……它能毁了你。跟随最新的技术,意味着呆在那些未经测试的技术上。人们总是诱惑不住去依赖那些新开发出来的特性,这意味着你已经被卷入Linux,或者你在等待其他的Unix人员去开发程序。以我的观点,这违背了Unix的哲学,如果你是这些新特性的开发人员,那很好。总之,除非你被卷入到开发新技术中,否则就没有必要去尝试新技术。(如果你真的是这样的人的话,我真的认为你没必要读这篇文章,立即停止阅读。)如果这些新技术与你有关,而且你想在跨平台,请再次考虑FreeBSD。BSD对Linux来说可能有点过时,但是过时的事物往往容易得到在各种平台上广泛运行的能力。