URN Logo
UNIX Resources » Linux » China Linux Forum » 自由软件杂谈 » 1 » 為什麼 Linux 會比 BSD 更受到人們的歡迎?[zt]
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  TI专版
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
為什麼 Linux 會比 BSD 更受到人們的歡迎?[zt]
Author: gogoliu    Posted: 2008-09-15 22:38    Length: 24,214 byte(s)
[Original] [Print] [Top]
為什麼 Linux 會比 BSD 更受到人們的歡迎?

Tetralet | 11 九月, 2008 21:54

敝人摸 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 大學的實驗室裡誕生的,本身就帶著濃厚的學術氣息 - 純居衫碚摮霭l、嚴謹周密的組織架構、一絲不苟的開發及測試流程…在此思維下,傳統上 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 哂枚裕琈ySQL 是個極重要的服務,不少人建議的最佳解決方案是改用 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 或許仍是大有可為的。

来源: http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=210&blogId=1
----
开发者应该为自由软件提供多方面多层次的商业服务
[Original] [Print] [Top]
« Previous thread
开源经济模式之崛起
自由软件杂谈
1
Next thread »
GPL需要终身维护吗还是有时间限制的?
     

Copyright © 2007~2009 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
webmaster: webmaster@unixresources.net
This page created on 2009-09-07 15:53:49, cost 0.0209550857544 ms.