FreeBSD連載(27):應用軟體的類別

1999年11月29日 12:23 王波

安裝應用軟體

  FreeBSD下擁有多種預編譯好的軟體包,包括了從數學運算到系統維護,從圖象處理到Internet服務 程序等大量的軟體。之所以能擁有如此豐富的軟體,除了Unix本身就是一個非常流行的開發平台之外,另一個重要原因就 是每種Unix中均提供了高級語言C作為了標準開發語言,而C語言具有高度可移植性,並且隨著Unix的流行它成為了 最重要的一種程序設計語言。

  由於Unix運行在多種不同的平台上,而不同平台上的二進制執行檔案只包含本平台上的機器指令,因此造成一個 平台上的應用程序不能直接在另一個平台上運行。但是在Unix的世界中,有著通用的編程語言C和相同的系統調用,使得 不同的Unix平台上程序的C代碼基本相同,為一種Unix開發的應用程序,很容易就能移植到其他Unix系統中。傳 統上在Unix上安裝各種應用軟體一般使用原始碼的形式,需要管理員手工編譯安裝,這就要求管理員需要熟悉C語言及其 開發工具。然而這樣操作畢竟是一個繁瑣的任務,尤其對於不太熟悉C語言的使用者更為困難。因此各種Unix各自發展了 一些直接安裝二進制程序的機制,FreeBSD中也提供了Packages Collection── 一種管理和安 裝預編譯好的軟體包機制,來幫助使用者管理各種應用軟體,使得用戶不需要了解C語言及其開發工具,也能正常進行應用軟 件的安裝和管理。

  • 應用軟體的類別

  在安裝和使用應用軟體的時候,正版和盜版等版權問題總是電腦使用者需要考慮的話題之一。很多電腦使用者總 以為軟體的版權問題與光碟、磁帶類似,不是正版就是盜版。然而情形並非絕對如此,絕大多數軟體的開發者傾向於讓自己開 發的程序被盡可能多的人使用,當軟體開發者不以軟體作為獲利的目的時,對軟體的使用就沒有採取任何限制,或者是很寬容 的限制。其他使用者就可以自由使用這些軟體,而不需要考慮版權問題。

  正由於軟體開發者的目的不同,因此對他們的軟體使用的版權保護方法也不同。有的開發者出於自己的個人興趣、需 要或信仰而開發軟體,希望自己的軟體為更多的人使用,沒有或暫時沒有從軟體中獲利的目的,因此就鼓勵其他人使用這個軟 件。有的開發者出於盈利的目的開發軟體,因此就使用了嚴格的版權限制。按照不同軟體的版權限制,可將應用軟體可以分為 兩類:

  • 公共域軟體與自由軟體

  這些軟體的作者對版權不加任何限制或者限制很少,屬於這一類的軟體通常提供源程序,允許使用者自由使用軟體並 任意修改。FreeBSD系統中包括的軟體均屬於這一類,因此使用者不需要考慮使用FreeBSD的版權問題。其中公 共域軟體對版權沒有任何限制,可以認為是屬於放棄版權的軟體。很多公共域軟體是科研機構和大學開發的,但也被商業公司 用於自己的系統中,此時商業公司就使用了自己的版權聲明,而用戶卻無法自由使用該軟體。

  為了保護軟體不被商業機構濫用,自由軟體基金會的Stallman使用了GNU版權許可來保護用戶自由使用軟 件的權利,這個版權許可允許將自由軟體用於商業目的,但必須允許用戶有自由使用、拷貝、修改的權利。根據這個許可,可 以銷售GNU軟體,但必須同時包括它的源程序以便用戶根據情況修改(或者在用戶要求時提供)。

  GNU軟體許可並不是唯一的自由軟體許可權聲明,FreeBSD使用的BSD許可也是另一個重要的版權許可。 與GNU許可相比,BSD許可更寬松一些。BSD許可只要求必須保持顯示的相關作者的聲明信息,對商業使用限制更少。 此外還有X的版權許可等。由於GNU軟體許可最為著名,並且也比較完善,因此很多非自由軟體基金會的軟體也使用這個許 可權,用來保護自己軟體的版權。

  事實上這一類軟體在電腦發展中起了很重要的作用,它們常常最先實現很多新想法、新功能,推動軟體技術的發展 。自由軟體的功能、效率和可靠性並不比商業軟體差,有的軟體甚至要好於同類的商業軟體,唯一的問題是自由軟體不提供技 術服務,僅僅隨同軟體提供一些電子文檔,需要使用者自己去學習安裝和使用。當然,自由軟體通常也有相應的商業版本,差 別就在於提供了商業技術服務支持。

  • 共享軟體與專有軟體

  這些軟體通常是基於商業目的開發的軟體,這些軟體通常使用嚴格的版權規定。這些軟體中的大部分不允許使用者免 費使用。但出於商業目的,一些軟體允許使用者免費使用,但對軟體的自由使用提出了一定的條件和限制。

  一些共享軟體不提供原始碼,一些商業軟體的演示版本提供了較弱的功能和使用時間限制。還有一些軟體的限制更寬 松,允許個人用戶自由使用軟體,但不許可自由分發、拷貝軟體。

  一些FreeBSD安裝介質中,在基本系統之外也提供了一些共享軟體,供使用者手工安裝(不能使用安裝程序安 裝)。這些軟體允許使用者在一定條件下,並按照軟體本身的聲明使用這些軟體。由於版權問題,系統不會將這些軟體包括進 系統內部,使用者只有在保証軟體版權條件下才能運行這些軟體。

  • 開放源碼觀念

  由於在Unix世界中,軟體的標準為C語言,有了C原始碼就能將應用程序移植到其他Unix上,因此在Uni x傳統上,就有一種提供軟體的同時也應該提供源碼的觀念。

  發布軟體的原始碼對用戶有很多好處,一方面用戶能夠了解他們使用的軟體是可以信賴的,即使存在問題,也能夠及 時發現錯誤,並依據源碼及時糾正,這些修正返回到開發者那裡,同樣起到促進軟體發展的目的。另一方面畢竟通用軟體並不 一定完全適合用戶的需要,發布軟體的源碼使得用戶能夠按照自己的需求定制軟體。

  因此在Internet上很多軟體的作者都認同這種觀念,這種觀念還得到了包括Netscape等商業公司的 支持,進而組織了開放源碼組織(Open Source)來支持這種觀念。FreeBSD的眾多開發者就是這個組織的 堅定支持者。其網址為http://www.opensource.org

  目前開放源碼得到了一些商業公司的支持,如netscape公司就公開了它們的瀏覽器的原始碼。出於技術的發 展,軟體本身已經不再包括太多的技術秘密了,在Internet上可以找到各類程序的原始碼,依靠未公開接口保持軟體 秘密的做法基本被大家拋棄。當程序設計從 “藝術” 轉變為 “工程” ,重要的就不再是程序設計的秘密,而是軟體工 程了。商業公司也可以從開放原始碼的情況下,獲得使用者更多的建議,使得它的軟體能進一步完善。