为什么 Linux 会比 BSD 更受到人们的欢迎?
敝人摸Linux也颇有一段时日了,偶尔也试着把触角伸向FreeBSD。不知从何而来的既定印象,总听到人们说BSD的架构严谨、在效能、稳定度及安全性等方面都在Linux之上,甚至Microsoft Windows 2000和Mac OS X都取用了部份来自BSD的程序代码。也就是说,Microsoft 的 Windows 2000/XP/2003/Vista 及 Mac OS X 能在 OS 的市占率上取得如此的成功,BSD 的程序代码也不无贡献,这证明了 BSD 程序代码的确有其傲人之处。
但这么一来就引起敝人极大的好奇心了:若说到 Free Software 的 OS,当红炸子鸡当属 Linux,BSD 相对来讲是冷门多了。但 BSD 的风评可不会比 Linux 差呀?那么是什么原因造成 Linux 比 BSD 更受欢迎呢?
有人说是 BSD 当年那件法律诉讼案是 Linux 崛起的关键。像是在维基百科上就有如下的说法:
BSDi很快就与AT&T的子公司USL产生了法律纠纷…这桩法律诉讼使得BSD的自由软件分支的开发进度延宕了2年之久,这导致没有类似法律问题的Linux Kernel获得了极大的支持。
但根据维基百科里的资料,第 1 版的 BSD 约略出现于 1977 左右,也就是说该件诉讼案发生(1992)时 BSD 已发展了约 15 年。若说因为这 2 年的停顿就使得 BSD 失去竞争力,其实是很难服人的:难道 2 年之间 Linux 成长幅度竟能抵得上 BSD 的 15 年开发史?这显然是绝对不可能的事:即使到了今日,BSD的风评往往不下于Linux。像是Ken Thompson(Unix 共同创始人)在 1999 年接受访谈时就曾如此评论 Linux:(当时还在 Windows 98 / NT 4.0 年代、而 Linux Kernel 版本为 2.2.x)
Computer: 以某种层面来看,Linux 也是遵循着这个传统。您对这个现象有什么看法?
Thompson: 我认为 Linux 只是一个反微软思潮下的产物。我不认为时日一久它能有多成功。我看过 Linux 的程序代码,有些是不错,但有些则尚待加强。那些程序代码是来自各式各样不同的人们,因此质量就参差不齐了。
我和我一些朋友的使用结论是,Linux 实在很不稳定。Microsoft 已经够不稳定了,而 Linux 更糟。在 non-PC 的环境下,它几乎不能用。如果您把它用在单一机器上,那是一回事;但若你想把 Linux 用在防火墙、网关器、嵌入式系统及诸如之类的东西上,它还早得很呢!
既然 Linux 就算到了 1999 年风评还是那么糟,那么当年在 BSD 官司结束之后,Linux 是如何还能紧紧得吸引住使用者及开发者的眼光呢?这的确是很有趣的话题。
为此我 Google 了许久,找到了以下几种说法,虽然也许都不是必要因素,但综合起来却造成了如此的差距。不过那个年代离敝人实在太遥远了,因此这些说法多为道听途说,请当作茶余饭后的闲嗑牙吧!
时机:
Linux 是出现约在 BSD 官司缠身、以及 Internet 开始风行之际。
Linux 是 Linus Torvalds 苦于当时在 386 PC 上没有免费的 Unix 可用所以他才决定自己写一个的。Linus Torvalds 就曾说,如果当时已有 386BSD 或 HURD,他可能不会去开发 Linux。386BSD 发表于 1992 年 3 月,约是 Linux 发表(1991 年 9 月)后半年;而 HURD 则是迟至 1998 年才有一个最初始的体验版释出。换句话说,386BSD 和 HURD 若能再早点推出,那么 Linux 可能根本不会出现在这个世界上也说不定。
而随着 BSD 官司的结束(1994 年 6 月),留给 BSD 的是残缺不全的 4.4 BSD Lite。BSD 的人们必须重写那些因官司而被移除掉的核心程序代码,并把 4.4 BSD Lite 移植到 386PC 上。以 FreeBSD 为例,这项艰巨的工作一直到 1995 年 1 月才算初步完成。而这段约 4 年的空窗期正好给了 Linux 发展成长的空间。
另外,此时正是Internet 开始风行之时。Linux 的开发者及爱好者正好能透过 Internet 实时得发布新闻、发表新点子、提问讨论、递送程序代码及进行错误回报,这种藉由 Internet 的分布式合作方式带给了 Linux 惊人的活力和无限的生命力,而经由 Internet 所带来的这种活力和生命力正是 Linux 长久以来能和 BSD 分庭抗礼的主要原因之一。
Linus Torvalds 的管理哲学:
也许 Linus Torvalds 并不是像 Bill Joy(BSD 的开创者)那样是个天纵英才的程序设计师,但他无疑的是超一流的专案领导者。要知道,能参与 Linux Kernel 开发的往往都不是什么泛泛之辈,Linus 如何在这些天资聪颖的计算机怪才之间折冲樽俎是非常耐人寻味的。关于这个问题,Linus 就曾在 Linus on kernel management style 一文中说明他的如何去领导协调 Linux 项目的:
1、避免去做决定,尤其是大决定。试着让事情水到渠成。做出重大决策的后果往往是让自己陷入无可挽回的境地里。
2、事前骂得越痛快,事后往往越后悔。和人闹翻轻而易举,但事后想和好就不是那么容易了。
3、要懂得如何去利用、鼓励及激发那些有本事有能力的家伙,然后放手让他们去做。
4、要有担当,尤其是事情搞砸时。因为你是管理者,应当背负起所有责任。
5、率直得表达自己的意见,而不是挖苦别人。冷嘲热讽的结果就是永远得树立了一个敌人,不管事后如何道歉都一样。
也许这种领导风格并不适用于所有项目,但 Linus 这套独到的管理哲学的确是让许多实力顶尖的黑客们愿意参与 Linux 的开发工作,而不像一些大型项目那样纷争不断、最后导致分崩离析。个人认为,Linus 最了不起的地方并不在他能写出多么无懈可击的程序代码,而是在他能整合众人的力量,让 Linux 项目长久以来还是能持盈保泰,一直维持着它的光度和热度。这也就是为什么 Linus 这个人对于 Linux 而言会如此重要的原因,他真是个不可多得的领袖人物。
硬件支持:
在 Linux 现身(1991 年 9 月)之时,约莫刚好是人们开始买得起个人计算机时。但糟糕的是,当时的 BSD 对于当时的个人计算机所使用的 80386 硬件的支持度并不好,而一般老百姓应该不太会为了玩 BSD 而特地购买高价的服务器设备,因此人们,尤其是穷苦的大学生,若要玩 Unix 时只有 Linux 可供选择,相对来说 BSD 的吸引力当然就大不如 Linux 了。
比如说,Alan Cox(Linux Kernel 2.2 版原始码的管理者)就曾说过,其实他当初是想在他新买的 386 PC 上安装 FreeBSD 的。但在辛苦下载完成后,才发现 FreeBSD 还要搭配浮点运算芯片才能运作,但他又买不起那么高价的东西。此时他唯一的选择只有 Linux 了。当时的 Linux 在各方面比起 FreeBSD 当然是差得极远,但 Linux 对硬件的需求比较低、兼容性也比较好、功能虽少但还算堪用、问题不少但还算稳定。就这样,一代黑客加入了 Linux 阵营,他的那有如春风化雨般的行事风范对 Linux 产生了极深远的影响。Linus 就曾说过,Linux 能如此成功,他最应该感谢的人就是 Alan Cox。
这类例子应该不是绝无仅有。也就是说,当新一代的Hackers及Lovers多站在Linux这边时,BSD 自然就不容易得到像 Linux 那么多的关爱眼神了。而且即使时至今日,BSD 对于硬件的兼容性还是比不上 Linux,这一直都是 BSD 在推广时的一个不容易克服的不利因素。
不过说起硬件支持,其实Linux和BSD也只是难兄难弟,Linux是较佳,但有些太新太特殊及特定制造商的硬件 Linux 还是无法支持,所以购买计算机之前还是先好好探听吧!
GNU 的大力支援:
我想 GNU 这个伟大计划敝人就不用再多加介绍了。GNU 提供了一个操作系统所需的各式各样必要组件,但最重要的组件 - Kernel 却迟迟没有着落。原本计划好要成为 GNU 官方 Kernel 的 HURD 的发展一直很不顺利,而 Linux 的出现就刚好出现填补了 GNU 这个拼图上最重要的一个大洞。
另外,虽然 GNU 的软件质量是毋庸置疑,但 BSD 却希望他们的开发团队所维护的核心工具都能以 BSDL 发行,所以因为授权兼容性的关系,很多 GNU 软件就被 BSD 的人们摒除在外了。因此喜爱 GNU 软件的人们除了 Linux 之外就似乎别无选择了。
就这样,GNU 和 Linux 一拍即合,虽然一开始 Linux 在各方面都远远不及 BSD,但它却适时得和刚好欠缺 Kernel 的 GNU 搭配组成一个功能齐全的操作系统。Linux 能如此受欢迎真的要感谢 GNU 多年来在前默默得铺路呀!
因此,个人认为,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 结下不解之缘了。
教堂与市集:
就如前文所说的,Ken Thompson(Unix 共同创始人)并不认为Linux能有多成功,因为它的程序代码未能好好控管,质量参差不齐,并不是个堪用的系统。Bill Joy(BSD的开创者)也曾说,他个人对Linux没什么兴趣,它只是在重复实作他早在1979年的设计罢了。
既然 Linux 那么不被那些操作系统的超重量级前辈看好,那么 Linux 到底是如何保持其竞争优势呢?
个人认为,Linux 和 BSD 最大的不同点是它的开发模式。BSD 原本就是在 Berkeley 大学的实验室里诞生的,本身就带着浓厚的学术气息 - 纯粹由理论出发、严谨周密的组织架构、一丝不苟的开发及测试流程…在此思维下,传统上 BSD 会有一个 Core Team 来主导及裁决整个计划的方向,以有效确保 BSD 的质量能维持在最高水平。BSD 的荣光绝非浪得虚名。
但 GNU/Linux 相对来说就松散许多。Linux 并没有什么官方发行版,也没有什么 Core Team 来在各团队之间指挥协调。像是 Linux Kernel 是由 Linus Torvalds 负责、GNU 则由 Richard M. Stallman 带领、各个 Linux 发行版也多是各行其是,每个工具程序、甚至每个函式库都有其不同的开发团队,而彼此之间基本上很少有什么沟通协调机制或协同作战的观念,因此感觉上就像是一盘散沙。
也就是说,BSD 走的是教堂式的学院派路线,而 Linux 则是代表了市集式的黑客精神。
Eric Steven Raymond 曾在《教堂与市集》一文中以 GCC 来说明教堂 (closed developer group and infrequent releases) 和市集 (Release early, release often) 这两种开发方式之间决定性的不同:
在历史上有个项目比 fetchmail 更可以拿来做为市集模式的佐证,那就是 EGCS,Experimental GNU Compiler System。
这个计划始于 1997 年 8 月中旬,目的是实验《教堂与市集(早期的公开发行版)》中的论点是否可行。由于项目负责人离开了,导致 GCC (GNU C Compiler) 的发展陷入停顿。在此之后约 20 个月,GCC 和 EGCS 开始了平行发展 - 开发者同是来自 Internet、基于相同的 GCC 原始码、相近的 Unix 工具和开发环境。唯一不同点是,EGSC 采用的是先前所提及的市集模式,而 GCC 则是近于教堂模式 - 封闭的开发团队,和极少对外发行。
这是千载难逢的最佳对照实验,且结果也颇为戏剧化。在数个月之内,EGCS 在功能上就有了明显的领先 - 更棒的最佳化,对于 FORTRAN 及 C++ 的支持度也更好。很多人发现和同期的 GCC 稳定发行版比起来,EGCS 的开发版反而更加稳定可靠。一些主要的 Linux 发行版也开始改用 EGCS 了。
在 1999 年 4 月,自由软件基金会(GCC 的官方发行机构)解散原有的 GCC 开发团队,然后将管理权转交给 EGCS 的指导小组。
在人们观念里,『严谨』的开发方式才是迈向成功的唯一道路,但 Linux 的出现却颠覆了这种传统看法。因为没有人在掌控这一切,因此在 GNU/Linux 项目里,开发者和使用者的界线就比较模糊不清,种种奇想、建议、批评、比较、争论、不满等等各式意见总是喧闹扰嚷地在相互激荡着。于是在这种彼此相互合作、竞争、激励的环境下,Linux 的前进速度可以说是一日千里,慢慢得追上了 BSD 的脚步。Linux 的确是将 Internet 的特性发挥到极致了。Linux 早就不是当日的吴下阿蒙了。
而 BSD 相较之下就显得没有那么活泼有朝气了。虽然『Core Team』这种开发模式能够确保 BSD 的质量能维持在最高标准,但相反的就容易导致像是保守、死板、僵化、不易沟通、难以吸引开发者等等之类的批评。
从另一个角度想,对于商业公司而言,若他们自忖无法取得主导权,他们是不太愿意跨入该领域的。据说 Google 开发 Chrome 的动机也是因为 Google 无法主导 Firefox 的开发方向。Linus 也认为,IBM 会踏入 Linux 市场是因为之前和 Microsoft 的合作实在太不愉快了。因此,BSD 的教堂式开发模式或许成了它商业化时的阻力也说不定。
多样的版本:
Linux 的松散结构也反应在 Linux 的发行版上。因为 Linux 并没有什么官方发行版,所以任何人只要有兴趣有能力,都可以自行发行 Linux,这使得我们能轻易得在 Internet 上找到超过 200 种以上的 Linux 发行版,而实际数字恐怕远不止如此。
这使得在市场上的 Linux 发行套件百家争鸣,每一种 Linux 发行套件都有其特质和吸引人之处。如此一来,几乎每个人都可以找到能符合自己需求的 Linux 发行套件。重于严谨的可能会选择使用 Debian GNU/Linux;想要直接使用完整桌面环境的可能会选 Ubuntu;喜欢自行编译的可能会选 Gentoo,而希望有商业支持的可能会选 RedHat… 而一些开发者无力维护、质量不佳或是使用者群较少的 Linux 发行套件很可能过不久就被其它的 Linux 发行套件所取代了。这种相互竞争的方式也让 Linux 软件的质量能快速得向上提升。
不过 Linux 这种发行方式也不是没有缺点 - 某些封闭原始码的软件若想发行 Linux 版时,他们往往只能针对几种比较主流的 Linux 的特定发行版释出 binary 档案,其它较冷门的也只好顾不得了。这可能是 Linux 在商业化时一个不利因素。
而各个 BSD 的发行版就只此一家别无分号,如此一来全世界使用该 BSD 发行版的人其系统架构将会一模一样,这的确比较让使用者不会无所适从:Linux 各个发行版之间有时就连最基本的套件管理方式都大异其趣了,但在 BSD 上则比较没有类似的困扰。
但相反的,过度控制、缺乏竞争者的结果是 BSD 在弹性上就大不如 Linux 了。使用者既然能轻易得找到符合自己需求的 Linux 发行套件,再加上其实 Linux 也颇能符合使用者的需求,所以使用者就不太会为了BSD 而 BSD,强迫自己去接受 BSD 的风格,因此 BSD 会变成小众市场其实并不令人意外。
商业公司的支持:
若说 Linux 为什么能快速得进入商用市场,我想 Red Hat 的成立应该是一个关键性的因素。
对于大型企业而言,或许授权费用的多寡并不是重点,他们要的是能够说服上司及股东的解决方案。透过 Red Hat 所提供的技术支持,信息部门也比较敢将 Linux 列入解决方案之中。这项优势是没什么商业支持的 BSD 所难以匹敌的。
而在 Red Hat 成立之前,人们总以为软件唯一的获利方式就是贩卖授权,而 Linux 所使用的 GPL 授权则和商业化是沾不上边的。但 Red Hat 的出现粉碎了这个迷思:一个软件能否成功,良好的质量及后续的服务及维护才是兵家必争之地,至于它是如何授权的反倒是其次了。且,既然 Red Hat 能成功,那么表示『贩卖服务』绝对是条可行之路。
而 IBM 进军 Linux 更是为这个市场掀起千层浪。也许人们不会在意 Red Hat 这种小公司,但人们绝不会对 IBM 的动向视而不见。且 IBM 可不只是丢个风向球,它是真的一开始就投入了大量人力物力在 Linux 上。IBM 大力支持 Linux 在市场上可是起了不得了的带头作用。
于是,随着 Red Hat 的成立及 IBM 的加入,在 1998 到 1999 年间就开始了一系列 Linux 惊奇之旅。多家 Linux 公司成立、上市;新闻媒体上到处都是 Linux 的相关新闻;Sun、CA、 Oracle、Informix、Intel、Sybase、Corel、Novell、SAP、Lotus 等等软件大厂开始将产品移植至 Linux,或是和 Red Hat 建立合作关系,甚至直接资金挹注 Red Hat;Adaptec、Intel、SGI、Matrox 等等硬件大厂也开始释出驱动程序的原始码或规格书,或是直接参与 Linux Kernel 的开发;Dell、HP、Compaq、Gateway 等等计算机大厂也开始销售 Linux 主机。而此时出现的 Google 则更是无疑的 Linux 超强力支持者。此外还有一些有趣的奇闻异事:
*VA Research 用 100 万美元买下 linux.com 这个网域名称。
*史上唯一一次全世界服务器大普查,Linux 以 31.3% 的市占率拔得头筹。
*Netcraft 表示,英国王室的站台乃是运行在 Linux 系统上。
那几年真的是 Linux 风起云涌的风光岁月,似乎全世界都在大喊着『Linux! Linux!』,Linux 经过多年的蛰伏,终于飞上枝头变成凤凰。别忘了那个时候 Linux 的质量在很多人眼中还远远不如 BSD 成熟哪!
敝人不清楚为什么 BSD 就是不容易得到商业支持,但长期以来缺乏商业支持的 BSD 家族别说是发光发热了,有时候就连让项目维持下去都很困难。以 OpenBSD 为例,OpenBSD 原本从 2001 年开始就接受 DARPA(美国国防部研究发展中心)的资助以进行开发工作,但在 2003 年,据说是因为 OpenBSD 的项目领导人 Theo De Raadt 在加拿大的报纸上发表反战言论,这些研究经费就此中断了。虽然 OpenBSD 非常努力得撑下去,但因为几乎得不到任何的商业支持,在 2006 年时 OpenBSD 真的无以为继,不得不向社群求援。据说后来是得到 Mozilla 基金会的资助,(据说 Google 也有赞助),OpenBSD 才又能继续走下去。我们可以看到:少了商业支持的 BSD 家族,想要维持下去真的是非常艰辛呀!
当然了,商场上的变化是瞬息万变的,敝人并不认为 BSD 绝不会有像 Linux 那样有大放异彩的一天,只是至少目前为止,还看不到任何的迹象就是了。
媒体的推波助澜:
若说到自由软件界的代表人物,我想人们脑海中会浮现的名单应该少不了 Richard M. Stallman、Eric S. Raymond 及 Linus Torvalds 这几位指标性人物。Richard M. Stallman 是公认的自由软件界的精神领袖,他的意见对于 GNU 还是具有一定的影响力。Eric Steven Raymond 则是黑客文化的传道士,他发表了不少像是《教堂与市集》、《提问的智慧》之类对黑客文化影响深远的文章。而 Linus Torvalds 则是 Linux Kernel 项目领导人。这几位指标人物彼此之间似乎总是意见不合,但他们却有一个共通点 - 他们都是 Linux 的拥护者。
也就是说,当几位自由软件界的代表人物都在努力为 Linux 宣传的同时,BSD 自然从人们的雷达范围中消失了。不管 BSD 再怎么棒,但人们不晓得的话也是罔然。
以台湾的科技网站来说好了。在 ZDNet 上,用 Windows、Linux、BSD 等关键词在新闻中查询,结果如下:
*Windows:5123 笔
*Linux:3128 笔,约为 Windows 的 61%。
*BSD:48 笔,约是 1 年 6 则新闻,连 Windows 的 1% 都不到。
而在 DigiTime 上的结果也是类似:
*Windows:9071 笔。
*Linux:4414 笔,约为 Windows 的 49%。
*BSD:67 笔,约是 1 年 8 则新闻,也是连 Windows 的 1% 都不到。
而试着去国外的新闻站台查询,结果也是大同小异。
在这个信息爆炸的时代,广告、营销的重要性不言可喻。比如说,Google 在日前推出 Chrome 时,所造成的大轰动就很让人印象深刻。那几天所有的新闻、Blog、讨论区、IRC 上全在讨论 Google Chrome,甚至有人统计,Chrome 开放下载不到一天,下载人数就高过 Opera 的使用人数了。但事实上,Chrome 其实还有蛮多小问题尚待解决,它的高人气并不全是因为软件本身的过人功能,个人认为 Chrome 的广告、营销、Google 光环才是它能如此热门的主因吧?而在广告、营销、新闻曝光度等方面,BSD 明显比 Linux 吃亏多了。
GPL vs. BSDL:
Richard M. Stallman 之所以是自由软件界的精神领袖,除了他发起了 GNU 计划之外,个人认为他为了GNU而撰写的GPL更是决定性的因素。GPL 是一种偏向于开发者的回馈条款:使用者可以自由运用 GPL 程序代码,但所有修改必须也以 GPL 开放,让所有人(包括原始程序设计者)都能受益。这是能确保程序代码永远能让所有人自由使用的终极手段。
相较之下,BSDL 应该是偏于使用者的一种无偿授权:使用者如何自由运用这些程序代码,程序设计师无权置喙,只要宣告这个软件是 BSDL 授权即可。因此,BSDL 的软件可能有一天会变成封闭软件 - 像 Microsoft 在 Windows 2000 核心里就采用了一些来自 BSD 的网络组件,但 BSD 的人们却没有因而受惠。Microsoft 并没有必要回馈那些修改后的程序代码。
Richard M. Stallman 和 Linus Torvalds 都曾严辞批评过 BSDL,认为 BSDL 会有让项目分裂的倾向,因为人们可以拿了 BSDL 的程序代码而拒绝回馈;而相对的 GPL 则能让项目倾向于整合,因为我们可以将那些 GPL 程序代码再整合回去原程序里。也因此,有很多顶尖的程序设计师坚持只以 GPL 开发软件,他们才不愿花费时间力气为人作嫁。
而同时 BSD 的人们也尽量不要使用 GPL 软件。像是 NetBSD 似乎就决定要以 PCC 取代 GCC,一部份原因就是因为 GCC 是以 GPLv3 授权,而 PCC 则是 BSDL。他们认为像是 GPL 那样限制一大堆的授权条款怎么可以叫自由软件授权?
个人认为,GPL 和 BSDL 或许没有什么优劣之分:只要能符合作者需求的就是好授权。但我们还是可以从一些数据中看出端倪。在 freshmeat.net 这个 Open Source 的软件大站中,有 71% 的软件是使用 GPL/LGPL 授权的,但采用 BSDL 的只有 6%;而在 SourceForge.net 中的状况也是类似,有 76% 是使用 GPL/LGPL 授权的,而采用 BSDL 的只有 7%。也就是说,至少以数量来看,GPL 是符合较多数人需求的授权。
而这或许是决定性的因素:Linux 采用的是 GPL,而 BSD 则是采用了 BSDL。既然较多数人们选择使用 GPL,那么采用 BSDL 的 BSD 可能就比较不容受到那些人的青睐了。在此同时,Linux 的人们是不太在乎使用 BSDL 的软件的,但 BSD 的人们有时为了避免程序代码受到 GPL 的影响,宁愿以 BSDL 重写原以 GPL 授权的软件。也就是说,BSD 相对来讲已经较冷门了,却又要花费心力在重复打造轮子的工作上,在这种此消彼长的情况下,Linux 会占有优势也就不让人意外了。
软件的支持:
也许这是互为因果关系,因为 BSD 家族的市占率比 Linux 低多了,BSD 的开发者也相对较少,因此有不少缺乏资源的开放原始码软件就没有多余的心力能放在 BSD 上,这导致很多软件对 BSD 的支持度就没 Linux 那么好了。
以 FreeBSD 为例好了。FreeBSD 是针对 i386 硬件而开发的 BSD 分支,长久以来 FreeBSD 在功能、稳定、安全、效能等各方面的表现颇受好评,您可以在 Google 上找到一篇 "Yahoo! and FreeBSD" 以为佐证。
但从 FreeBSD 4.x 开始,在和 MySQL 搭配使用时,在效能方面的表现就不像 Linux 那么亮眼,据说是因为 MySQL 的开发人员中缺乏 BSD User 的关系。但因为对于 Web 运用而言,MySQL 是个极重要的服务,不少人建议的最佳解决方案是改用 Linux,请参考:
FreeBSD or Linux for your MySQL Server?
Revisiting FreeBSD vs. Linux for MySQL
注:在不久前推出的 FreeBSD 7 中据说已改善这个问题,请参考:
FreeBSD 说法
Linux 说法
不管 MySQL 在 FreeBSD 还是 Linux 上的效能较好,FreeBSD 已经改善了它在 MySQL 上的效能问题却是不争的事实。
而在 Desktop 上,FreeBSD 也是跌跌撞撞的。比如说,让我们看看这篇 2006 年的新闻:FreeBSD志在与桌面Linux一较高下。您可能会讶于该文中所透露的讯息:KDE 和 GNOME 这两大桌面环境对于 FreeBSD 的支持度都不是非常完善,这有点让人难以置信。
而很多重量级的软件,像是 Virtual Box、VMware、Xen、Skype、Oracle、Nvidia non-free Driver、ATi non-free Driver 等等也并不直接支持 FreeBSD。如果有原始码在手,有时候人们是可以试着把软件移植到 FreeBSD 上去。但有时候移植作业也并不是说那么顺利。而一些没开放原始码的软件就没什么辨法进行移植作业,这当然叫人丧气。
但请别误会。MySQL、GNOME 及 KDE 都支持 FreeBSD,只是有些小地方还有加强的空间罢了。FreeBSD 还可以透过 linux_base 来试着执行那些 Linux 专属的程序,且效能也不差。但多多少少总让人觉得有些遗憾。
并且这也绝对不是 FreeBSD 的问题 - 协力厂商愿不愿意支持 FreeBSD 并不是 FreeBSD 能够掌握的。但,原本 BSD 已经够冷门了,若再加上这些不利因素不就更是雪上加霜了吗?
也因此,在众多主观客观因素都有利于 Linux 下,当年 Linux 会比 BSD 更热门其实并不让人意外。而迟至今日,BSD 似乎还未能重返往日的荣耀。举个例子好了,网络、稳定、轻巧、快速、安全正是 BSD 的强项,那么用 BSD 做为服务器似乎是很合乎逻辑的事。但目前在超级计算机里的前 500 大排行榜里,Linux 就占了 427 台 (85%),Windows 5 台 (1%),Mac OS 2 台 (0.4%),而 BSD 却只有 1 台 (0.2%)。虽然用这个来比较似乎有失公允,但这项数据应该蛮出人意料的。
也就是说。Linux 在效能、稳定度、安全性等方面未必会在 BSD 家族之下,但在软硬件支持、开发模式、商业支持、新闻曝光度等等方面则占了明显的优势。而一些本文未讨论到的隐性的差异,像是学校教育、教学书籍、安装接口、社群资源等等方面,BSD 也未必比较讨好。在此情况之下,个人认为短期间之内 BSD 想追上来应该不是很容易的。
但世事难料,BSD 原本就有极佳的根基,缺乏的可能是一点机运吧?且 Linux 和 BSD 之间也不是什么绝对性的差距,BSD 绝对有一朝变天的实力。个人认为,BSD 或许仍是大有可为的。
注:本文乃是修改自《为什么当年成功的是 Linux,而不是 BSD?》,对于该文中许多用辞过于强烈,造成许多人不愉快,特此致歉。
2008年9月16日星期二
订阅:
博文评论 (Atom)
1 条评论:
文章长度相当的长!没看完~赞~接着看
发表评论