说到 Free Software 的 OS,当属 Linux,BSD 相对来讲是冷门多了.但BSD的风评可不会比Linux 差呀?那么是什么原因造成 Linux 比 BSD 更受欢迎呢?
Linux 是出现约在 BSD 官司缠身、以及 Internet 开始风行之际.Linux 的开发者及爱好者正好能透过 Internet 实时得发布新闻、发表新点子、提问讨论、递送程序代码及进行错误回报,这种藉由 Internet 的分布式合作方式带给Linux 惊人的活力和无限的生命力,而经由 Internet 所带来的这种活力和生命力正是 Linux 长久以来能和 BSD 分庭抗礼的主要原因之一.
Linus Torvalds的管理哲学:
也许 Linus Torvalds 并不是像 Bill Joy(BSD 的开创者)那样是个天纵英才的程序设计师,但他无疑的是超***的***.要知道,能参与 Linux Kernel 开发的往往都不是什么泛泛之辈,Linus 如何在这些天资聪颖的计算机怪才之间折冲樽俎是非常耐人寻味的.
硬件支持:
在Linux 现身之时,刚好是人们开始买得起个人计算机时.但糟糕的是,当时的BSD 对于当时的个人计算机所使用的 80386 硬件的支持度并不好,而一般老百姓应该不太会为了玩 BSD 而特地购买高价的服务器设备,因此人们,尤其是穷苦的大学生,若要玩 Unix 时只有 Linux 可供选择,相对来说BSD的吸引力当然就大不如Linux 了.不过说起硬件支持,其实 Linux 和 BSD 也只是难兄难弟,Linux 是较佳,但有些太新太特殊及特定制造商的硬件 Linux 还是无法支持!
GNU 的大力支援
GNU 提供了一个操作系统所需的各式各样必要组件,但最重要的组件 - Kernel 却迟迟没有着落.原本计划好要成为 GNU 官方 Kernel 的 HURD 的发展一直很不顺利,而 Linux 的出现就刚好出现填补了 GNU 这个拼图上最重要的一个大洞.另外,虽然 GNU 的软件质量是毋庸置疑,但 BSD 却希望他们的开发团队所维护的核心工具都能以 BSDL 发行,所以因为授权兼容性的关系,很多GNU 软件就被 BSD 的人们摒除在外了.因此喜爱 GNU 软件的人们除了Linux 之外就似乎别无选择了.Linux 和 GNU 是分不开的:没有 GNU,那么没有任何工具程序的 Linux 根本无用武之地;而没了 Linux,GNU 软件就少了一个可以尽情发挥的舞台了.因此,个人可以接受人们说 Linux 的全名应该是 GNU/Linux.若我们仔细想想 Linux 的发展成长过程,个人认为如此称呼并不为过.
而 Linus 也说过其实他并不是很反对 GNU/Linux 这个名字,饮水思源,毕竟 Linux 的确是藉助了 GNU 太多的核心工具才有今天的成就.若当时没有 GNU 计划,那么 Linux 根本不会出现在这个世界上:当初 Linux 0.0.1 发表时,Linus 就只完成了以下功能:可用 GCC 编译,然后它能做的也只有执行 BASH 这个 Shell 而已,而这2个工具恰巧都是 GNU 的作品.我们可以看到,Linux刚开始就和 GNU 结下不解之缘了.
教堂与市集:
BSD走的是教堂式的学院派路线,而Linux则是代表了市集式的骇客精神;
多样的版本:
Linux 的松散结构也反应在Linux 的发行版上.因为 Linux 并没有什么官方发行版,所以任何人只要有兴趣有能力,都可以自行发行 Linux,这使得我们能轻易得在 Internet 上找到超过 200 种以上的 Linux 发行版,而实际数字恐怕远不止如此.
商业公司的支持:
若 说 Linux 为什么能快速得进入商用市场,我想 Red Hat 的成立应该是一个关键性的因素.对于大型企业而言,或许授权费用的多寡并不是重点,他们要的是能够说服上司及股东的解决方案.透过 Red Hat 所提供的技术支持,信息部门也比较敢将 Linux 列入解决方案之中.这项优势是没什么商业支持的 BSD 所难以匹敌的.
媒体的推波助澜:
若 说到自由软件界的代表人物,我想人们脑海中会浮现的名单应该少不了 Richard M. Stallman、Eric S. Raymond 及 Linus Torvalds 这几位指标性人物.Richard M. Stallman 是公认的自由软件界的精神***,他的意见对于 GNU 还是具有一定的影响力.Eric Steven Raymond 则是黑客文化的传道士,他发表了不少像是《教堂与市集》、《提问的智慧》之类对黑客文化影响深远的文章.而 Linus Torvalds 则是 Linux Kernel 项目领导人.这几位指标人物彼此之间似乎总是意见不合,但他们却有一个共通点 - 他们都是 Linux 的拥护者.
也就是说,当几位自由软件界的代表人物都在努力为 Linux 宣传的同时,BSD 自然从人们的雷达范围中消失了.不管 BSD 再怎么棒,但人们不晓得的话也是罔然.
GPL vs. BSDL:
Richard M. Stallman 之所以是自由软件界的精神***,除了他发起了 GNU 计划之外,个人认为他为了 GNU 而撰写的 GPL 更是决定性的因素.GPL 是一种偏向于开发者的回馈条款:使用者可以自由运用 GPL 程序代码,但所有修改必须也以 GPL 开放,让所有人(包括原始程序设计者)都能受益.这是能确保程序代码永远能让所有人自由使用的***手段.相较之下,BSDL 应该是偏于使用者的一种无偿授权:使用者如何自由运用这些程序代码,程序设计师无权置喙,只要宣告这个软件是 BSDL 授权即可.因此,BSDL 的软件可能有一天会变成封闭软件,像 Microsoft 在 Windows 2000 核心里就采用了一些来自 BSD 的网络组件,但 BSD 的人们却没有因而受惠.Microsoft 并没有必要回馈那些修改后的程序代码.
软件的支持:
也许这是互为因果关系,因为 BSD 家族的市占率比 Linux 低多了,BSD 的开发者也相对较少,因此有不少缺乏资源的开放原始码软件就没有多余的心力能放在 BSD 上,这导致很多软件对 BSD 的支持度就没 Linux 那么好了.以 FreeBSD为例好了.FreeBSD 是针对 i386 硬件而开发的 BSD 分支,长久以来 FreeBSD 在功能、稳定、安全、效能等各方面的表现颇受好评,您可以在Google 上找到一篇 "Yahoo! and FreeBSD" 以为佐证.
【编辑推荐】