閱讀420 返回首頁    go 小米 go 小米手環


FreeBSD相關係統和組織

自由使用和免費是FreeBSD的特征,在英文裏都可以使用 “free” 來表示。這表示使用者不僅僅可以 免費使用這個係統,還可以對軟件進行適合自己需要的改動,並能夠影響這個軟件的發展等等,這正是free這個詞更深一 層的含義。

支持自由軟件的人通常認為,每個計算機的使用者都有自己特定的需要,不可能有一個包羅萬象、適合所有需求的軟 件係統。因此軟件開發者和係統管理員希望了解軟件內部的情況,以便可以對軟件進行定製和擴展。而商業軟件隻提供軟件的 二進製代碼,將軟件內部的操作完全封閉起來,使用者就喪失了對軟件的主動權。另外,任何軟件產品都存在各種BUG,商 業軟件的使用者在遇到軟件產品的這些問題時,就隻能被動的等待廠商的補丁程序,整個軟件係統不得不停頓或冒一定的風險 繼續使用。第三,計算機的使用者並不會完全信賴商業軟件,某些軟件廠商會故意在軟件中加入惡意代碼,或加入某種未公開 的後門,對使用者造成危害。即使這些軟件中的後門或惡意代碼是打著防止盜版、提供更方便的功能等旗號加入的,但也可能 被偶然觸發,危害使用者的利益。而在提供軟件源代碼的軟件中,就不會存在這種惡意的行為。

這些問題對於一個普通用戶或者不重要,但對於一個較大的係統或要求較高安全性的係統中,就能表現出重要性了。 支持自由軟件的人認為,如果一個軟件提供了源代碼,那麼使用者就能根據情況自己修改或請他人修改軟件,從而適合自己的 最終需要,並修正係統中因為有意或無意導致存在的問題。當前,開放源代碼已經得到越來越多的計算機使用者和廠商的認可 ,他們組成了開放源代碼組織(Open Source),來進一步推動這個思想。

另一方麵,由於某些種類的商業軟件中不存在競爭,壟斷的結果就造成軟件的價格昂貴,使得這些軟件不是任何有需 要的人都能夠用得起的。而軟件最大的價值是被人使用,因此有很多人認為軟件開發者要允許別人使用他的軟件,應該從軟件 服務中獲得收益,而不是從軟件本身中謀取暴利。他們認為計算機應該屬於大眾,而不應該由某些公司壟斷。因此這些崇尚自 由軟件的人員就想為所有用戶開發一整套係統,使用戶在現有商業軟件之外還可以進行選擇,而不至於必須為商業軟件支付額 外的費用。這些人包括FreeBSD的開發人員、Linux的開發人員、GNU計劃的開發人員以及其他眾多的自由軟件 開發者,他們開發的軟件構成了計算機領域內多姿多彩的一麵,使得即使不使用任何商業軟件,使用者也同樣能夠在計算機上 以更好的性能完成所有的工作。

  • GNU’s Not Unix

GNU不是Unix,采用這種遞歸方式定義的GNU計劃是由Richard Stallman提出的,他建立自由軟件基金會(FSF)並提出GNU計劃的目的是開發一個完全自由的,與Unix類似但功能更強大的操作係統,以便為所有的計算機使用者提供一個功能齊全,性能良好的基本係統。GNU HURD為GNU操作係統的內核,但是當前還沒有正式發布,仍處於測試階段。很多人使用Linux內核和GNU的應用軟件組成了GNU/Linux係統。右圖為GNU的標誌。

FSF開發了大量的自由軟件來達到這個目的,這些軟件與Unix上原有的軟件功能相同,但由於GNU開發軟件 的時候硬件的處理能力更強了,因此GNU軟件充分利用計算機的硬件能力,比Unix中的同樣的軟件功能更強,因此非常 流行。這些軟件在GNU通用公共許可的保護下允許任何人免費使用和傳播(但必須同時提供源程序),因此被大量的用在其 他的Unix中,FreeBSD上也提供了很多GNU軟件。

Stallman創造了一個詞copyleft,由於通常意義上的版權copyright是用來限製別人在沒 有許可的條件下不能使用和傳播軟件,而copyleft則鼓勵任何人可以使用和傳播軟件。copyleft限製妨礙使 用和傳播GNU軟件的行為,例如不提供GNU軟件的源代碼。然而copyleft與copyright並不衝突,因為 copyleft是針對軟件的傳播者而非針對最終使用者的。GNU軟件必須使用copyleft保護,限製將GNU軟 件本身用於牟利目的,而其他軟件仍然可以使用copyright保護版權不被侵犯。Stallman進一步使用GNU 通用公共許可來詳細闡述copyleft的觀念,要求傳播GNU軟件必須同時傳播其源代碼。由於GNU通用公共許可十 分流行,因此很多非自由軟件基金會的自由軟件也使用GNU通用公共許可來保護自己軟件,不被商業公司用於獲利。

GNU軟件許可相當寬鬆,有很多公司利用GNU軟件進行商業活動,但隻要同時提供了GNU軟件的源代碼,就沒 有違反GNU軟件許可。

FreeBSD本身是在BSD許可的保護下,BSD許可權與GNU通用公共許可略有不同,一些方麵的限製甚至 更為寬鬆。GNU通用公共許可要求傳播(包括銷售)任何符合GNU軟件應該包括源代碼,反對利用保守GNU軟件的源代 碼的方式牟利,而BSD許可則允許以二進製形式發布軟件,對於某些不打算公開源代碼的商業運用並沒有進行限製。

  • GNU/Linux

FreeBSD並不是唯一的免費 “Unix” 操作係統,也不是最流行的Unix係統,這個榮譽屬於Lin ux。這主要由於Linux出現得早兩年,那時BSD的源代碼還受AT&T許可權的限製,不能自由獲得,而I ntel的32位處理器386的普及已經使Internet上諸多Unix愛好者對PC平台上的免費Unix係統提出 了需求,Linux應時而生。近來在Netscape等商業公司的倡導下,Linux得到眾多商業公司的支持,無形中 成為了反Microsfot聯盟的一杆旗幟,聲勢更為浩大。

Linux是由芬蘭人Linus Torvalds編寫的Unix兼容係統。由Linus Torvalds 負責核心開發和維護,其他組織和商業公司負責將Linux的核心和應用程序組織在一起發布,由於大部分程序為GNU軟 件,因此更嚴格的說Linux應該被稱為GNU/Linux。當前流行的Linux版本有slackware 3.6 ,Debian 2.0,RedHat 5.1等。

Linux和FreeBSD同為英特爾平台上的Unix操作係統,因此有很多相似之處。幾乎所有的自由軟件都 同時支持Linux和FreeBSD,因此在應用方麵他們也很相似。但Linux和FreeBSD也有相當大的不同之 處,可以說各具特色。

從曆史淵源上講,FreeBSD繼承了BSD Unix的代碼,因此代碼相當成熟和穩定。而Linux是一個 全新的係統,是遵循POSIX規範開發的一個獨立操作係統,但又提供了與BSD Unix或Unix System V的兼容性。因此Linux完全沒有受到1992年的AT&T訴訟的影響,結果成為了最流行的自由操作係統。 雖然今天那次法律糾紛已經解決,4.4BSD Lite的代碼可以自由獲得,但FreeBSD的使用者仍要少於Lin ux的使用者,FreeBSD的使用者多數為網絡和計算機專業人士,普及程度較低。

出於這個曆史淵源的原因,FreeBSD是一個完整的係統,從係統核心到係統提供的程序均來自BSD Uni x,部分GNU軟件是用於代替BSD Unix中的一些老版本軟件。而Linux僅僅隻是一個操作係統的內核,其應用 程序大部分為GNU軟件,然後由不同的組織或個人將這些GNU軟件與Linux內核整合在一起的。因此就存在多個不同 的Linux版本,而且不同的Linux版本使用不同的組合方式,因此各種Linux版本之間有很大的差異,並且可以 預計這些版本會隨著發展進一步增大彼此的差異。而FreeBSD的版本比較整齊清晰,隻有一個FreeBSD版本。

通常FreeBSD更關心穩定性,而Linux具備的各種新特性更多。由於Linux得到了更多的商業公司支 持,因而Linux下的商業軟件也更多。但是這些商業軟件均可以通過FreeBSD對Linux執行文件的支持,也能 夠運行在FreeBSD上。這個不同主要是由於Linux和FreeBSD的開發過程的差異造成。

雖然FreeBSD和Linux的開發過程都是非常開放的方式,每個開發者獨立進行自己的工作,通過Inte rnet來互相交流。任何對係統開發有興趣的人都能貢獻新的想法,並組建一個開發隊伍或加入現有開發隊伍將自己的想法 實現。但是FreeBSD與Linux開發方式的不同是,FreeBSD有一個開發者組成的核心小組(FreeBSD core team)對整個FreeBSD負責。任何人都可以利用FreeBSD提出自己的開發計劃,但隻有Free BSD核心小組認為這個計劃對整個FreeBSD發展有益,這個計劃才能列入FreeBSD計劃本身。所有的Free BSD開發者共享同一個源代碼樹,使用並發版本維護工具CVS進行維護。有了FreeBSD核心小組從整體上規劃Fr eeBSD,並邀請其他開發者加入核心小組,因此FreeBSD顯的更簡潔和幹淨,版本發展也比較穩定。而Linux 僅由Linus對內核進行維護,任何人都可以組織自己的計劃,貢獻自己的代碼,沒有一個統一的源代碼樹,隻是在最後由 Linus進行整合和發布正式內核。由於沒有嚴格的控製,並且Linux的開發者很多,因此Linux中雖然有更多的 新特性,卻顯得略為雜亂,並且有些新特性的代碼沒有經過時間驗證,可能存在有問題。

一個新功能沒有進入FreeBSD正式版本的原因很多,有的是由於這個功能不夠成熟,有的是由於核心小組認為 這個特性意義不大,還有的是因為正式內核已經有類似功能,或者由於專利或版權問題(例如,該軟件的作者不打算讓該軟件 成為自由軟件),使得十分成熟的功能也不能被列入正式發行的版本。

由於Linux和FreeBSD互為競爭對手,在Internet上關於Linux和FreeBSD的爭論很 多,然而這種爭論一般不會得到什麼明顯的結果。事實上他們都能完成各種應用需求,但各有自己的側重點,至於那種係統最 適合自己,需要根據具體情況而定,使用者的個人喜好也是影響選擇的一個重要因素。一般FreeBSD的使用者也曾經( 或同時)是Linux的使用者,然而有Linux的使用經驗對學習和使用FreeBSD也有不少幫助。隻有競爭才能促 進發展,Linux和FreeBSD不但是競爭的關係,也是相互學習的關係,隻有如此各自才能不斷發展。

在作者個人的使用經驗中,FreeBSD僅有過一次崩潰,並且這種崩潰不是隨機出現的,其原因是使用了所有優 化選項來編譯內核,編譯器某項優化造成了內核的BUG,結果就在執行某項操作時就被觸發。在降低了優化級別之後,問題 就消失了。因此這個問題應歸結為編譯器的問題而非內核的問題。在Linux中,問題更為嚴重一些,過於求新求功能的多 樣性,使得係統崩潰更頻繁,並且很多係統崩潰無法找到原因。

注意:係統崩潰和係統死鎖不同,一些情況下一些應用軟件死鎖會造成鍵盤或顯示沒有響應,然而仍然可以通過網絡 或其他終端設備登錄進係統殺死死鎖進程。例如在FreeBSD下執行Linux的X Server時,進行切換虛擬控 製台的操作就會導致鍵盤死鎖。

當前Linux的一個發展熱點是各個商業公司的參與,這的確豐富了Linux下的軟件。然而另一方麵,商業公 司也試圖把專有設計引入Linux,將原有開放的環境變為商品化的環境,以便從中牟利。當前不同版本的Linux之間 的差異已經相當大了,很多人已經意識到了Linux麵臨的分裂危險,可以想象以後某個版本的Linux會與其他版本存 在兼容性問題。而FreeBSD有統一的源代碼樹,不存在分裂的問題。

  • 其他BSD係統

商業版本的BSD/OS也是一個非常優秀的操作係統,它是由原BSD Unix的部分開發人員組成的BSDI 公司的產品。由於存在商業支持,因此在某些方麵具備免費的FreeBSD不具備的優勢。例如某些硬件廠家不願意公開自 己的硬件資料(或者是有條件的公開),因而使得FreeBSD無法支持他們的硬件,而他們可以為BSDI提供資料以供 開發驅動程序。一些不能理解自由軟件、要使用FreeBSD不支持但BSDI支持的硬件,或對服務和技術支持提出較高 要求的使用者,可以選擇使用BSDI。

NetBSD和OpenBSD也是基於4.4BSD的自由Unix操作係統,可以算是FreeBSD的兄弟。 甚至在最初,NetBSD和FreeBSD的大部分開發者都完全相同,同樣的開發者同時為兩個係統進行開發。而開發者 和使用者都是將這兩個係統作為BSD Unix在不同硬件平台的實現來看待的,FreeBSD用於Intel平台,而 NetBSD用於多硬件平台,主要用於RISC工作站硬件。隨著兩個係統的不斷發展,兩者逐漸相分離,而OpenBS D是從NetBSD分出的一個分支。但FreeBSD是為個人計算機平台設計的,後來才嚐試移植到其他平台上(已經有 Alpha和Sparc芯片下的FreeBSD係統,但還不十分成熟),因此更適合個人計算機用戶,而NetBSD和 OpenBSD一開始就設計為能夠運行在多係統平台上,包括各種RISC工作站,因而NetBSD和OpenBSD的 使用範圍就更窄一些。

以上這些BSD Unix係統的使用數量要少於FreeBSD係統。FreeBSD由於專注於Intel平台 ,支持Intel平台上的硬件種類最多,並對易用性作了很大改善,因而使用範圍更廣泛,是最常見的BSD Unix係 統。但是由於這些係統同屬BSD來源,在開發過程中常常相互交流,因此使用方法和管理基本相同。在FreeBSD、N etBSD、OpenBSD之間進行選擇的決定性因素常常是安裝BSD係統的硬件平台。

最後更新:2017-01-04 22:34:37

  上一篇:go FreeBSD調整控製台設置
  下一篇:go FreeBSD shell設置