發表於March 22, 1999 ,上海微型計算機世界

似乎微軟永遠兌現不了言之鑿鑿的發行日期和信誓旦旦的優越質量,對視窗系統失去信心的人與日漸增,而Compaq更是正式宣佈將在今後的服務器上改用Linux作為網絡操作系統並預裝。

Linux這個單詞,漸漸地在電腦界多了起來,Oracle、Sybase在三月上旬相繼推出了Linux版的數據庫,著名的SAP系統也正在向Linux移植,另外,Lotus
Notes、 WordPerfect、CorelDraw等也出版了Linux版本,難怪有人說21世紀將是Linux的時代。

Linux和自由軟件

  Linux到底是什麼?到底好在哪裡?這是大多數人想問的問題。

  Linux是一種可以運行在Intel x86及其兼容芯片上的免費的類UNIX操作系統,說它類UNIX系統,因為它不是UNIX向PC的一個簡單移植,它所有的代碼都被重寫,是一套能夠兼容UNIX的全新操作系統。

  Linux的開發完全按照GNU通用公眾許可證原則進行,並且Linux的源代碼向任何人士免費提供。然而,這並不意味著Linux和它的各種分發版本是免費的──公司和開發者需要收取一定費用來維護源代碼。Linux可被用於包括網絡、軟件開發和最終用戶界面等相當廣泛的場合。Linux通常被認為是一種不同於其它操作系統的、完美的、低花銷操作系統。

  Linux分為源代碼和分發版,源代碼其實只是一大段20M左右的C語言程序,當然,這個一大段由數百個文件組成,包括各種類庫、源程序、設備驅動代碼等,這些都是免費的,可以直接從網上下載。

  由於Linux的樸實的功能與效率,它已經在全世界漫延開來,為數巨大的軟件程序員把Linux的源代碼按照他們自己的要求改編,現在,Linux的服務器裝機量已經直逼Microsoft的視窗系統,而各項指標使得大多數已經使用視窗系統的人打算改弦易張,請看Linux與視窗系統的對照表(表1-1)。

  Linux的正式吉祥物是一個企鵝,被叫做Linux企鵝,由Linus Torvalds用他本人創作的系統描繪,當然,也表示了Linux的起源地。

  Linux的讀音各有各的讀法,Linus本人把I把發短音,並且使重音在第一個音節,聽上去有些像LIH-nucks,Linus本人的發音文件可以從大多數Linux節點下載,文件名為english.au。

  前文提及的Linux,也就是人們常說的Linux,是廣義上的Linux,的確,它包含有Linux,不過只是核心部分,其中包括對存儲介質如軟硬盤的訪問,包括對通訊端口如並串行口的讀寫、提供對各種協議如TCP/IP的支持等,嚴格的說,一個單純的操作系統是沒有用的,就像只有一個DOS的command.com文件是不夠的一樣。

  至少,它還需要兩大東西,一個字處理軟件可以用來編輯程序,一個編譯器用來把程序變成操作系統可以識別的機器代碼,畢竟光靠腳本語言成不了什麼事,而哪怕Larry
Wall也沒打算把perl編進Linux的核心裡去。

  於是,就有了TeX,最早的字處理器,以及GNU C/C++編譯器,和後來的glibc(GNU
C/C++的類庫)。

  通過這兩大法寶,以及自由軟件基金會(下簡稱FSF)的推廣,許許多多的自由軟件和源代碼開發軟件應運而生,這其中,甚至包括Netscape,Sybase等大手筆的作品。Sunsite收錄了幾乎所有的可在Linux下運行的自由軟件,許多著名的節點定期有複製版本以極低的價格出售,現在已經彙總成四張完整的光盤了。

  我們常說的RedHat,SUSE等,嚴格的說是一套基於Linux的GNU軟件集合,都是第三方廠商把Linux和其它精選的GNU應用軟件集成在一起的產物,而這樣的一個套件,真正的Linux核心在代碼量上面只佔到全部的3%左右,它具有類UNIX的特徵,基本上百分之百地兼容UNIX的所有命令和操作,在學習的時候,可以完全按照UNIX來對待。

比較項目

Windows
95

Linux

最小配置

  486SX 處理器, 8MB
物理內存。

  386SX 處理器, 4MB
處理器。

缺陷修正與升級

  只有微軟能夠編寫、測試和發行。過去的6年有過2
次大的升級。缺陷修正一般免費,新的發行版則不是。

  全世界的開發者一起編寫、測試與發行。過去的6年有過7次大的升級。缺陷修正與新版本一律免費。

互聯網兼容性

  有TCP/IP協議,撥號和網卡軟件,以及基本的互聯網程式(telnet,
ftp等)。

  有TCP/IP協議,撥號和網卡軟件,Web服務器,郵件和路由軟件,ftp
和telnet服務器以及更多,更多,更多!

可靠性

  沒有被大的商業節點選用,除了Microsoft自己的節點。

  被Yahoo! 和 XOOM.com世界兩大商業站點選作Web服務器。

穩定性

  長時間的缺陷修正導致內存漏洞和錯誤申請。

  短週期缺陷修正來保證Linux的高效與穩定。

技術支持

  按單個事故支付方式收取費用。

  通過USENET和其它的論壇免費提供。

多用途性

  單用戶操作系統,與典型的海量文件系統和打印服務不相配。

  適合於下列用處:單用戶操作系統,多用戶操作系統,web
服務器,文件服務器,防火牆,FTP服務器,打印服務器,備份服務器,撥號服務器,以及更多!

自由軟件基金會和GNU項目

  這是一個沒有基金的基金會,不過,他們有大量的支持者,他們主持著包括Linux在內的許多軟件的開發,並且為這些軟件的合法性與不被侵佔貢獻著力量。

  這個基金會發起了自由軟件運動,他們認為所有的軟件都應該是自由軟件,目前的版權約束了電腦及信息化的發展,他們要求所有的程序員公開代碼,希望更多的人加入到優化代碼的行列中來。

  於是,就有了GNU項目,GNU的意思是:GNU』s Not UNIX。它們的宗旨非常明確,要有一個系統,與UNIX兼容,但又完全不是UNIX,在軟件方面,所有會使用UNIX的人不用再學,就可以使用GNU系統,而GNU系統中的所有軟件都是自由軟件。

  FSF最終選擇了Linux作為GNU項目的操作系統,而後大多數的開發工作都基於Linux操作平台開發,在GNU項目中,湧現了大量成功之作,有些繼承於UNIX的應用軟件目前在Linux平台上的加發遠遠超過UNIX。

自由軟件 vs. 免費軟件

  「Free」這個詞,可以說在當今的互聯網上幾乎無所不在,好像整個互聯網是不要錢的;軟件在互聯上的發布有多種形式,大多數都可供下載,如「Shareware(共享軟件)」、「Cardware(明信片軟件)」、和「Demoware(演示軟件)」等。

  有兩種軟件經常被混淆,就是「Freeware」和「Free Software」,前者表示「免費軟件」而後者表示「自由軟件」。

  看上去差不多嘛!然而他們卻不一樣。

  這個論題來自於「free」這個單詞的多義性,free可以解釋成「免費」或者「不要錢的」,就像「free
beer(免費啤酒)」;它還有一個意思是來自於「freedom」,表示自由,就像「free forum(自由論壇)」。

  自由軟件可能是要錢的,當然,絕大多數是免費的。在此,FSF特地指出了自由軟件的三大自由:第一,複製程序並分發給朋友或合作夥伴的自由;第二,通過完整的源代碼修改程式的自由;第三,分發改進版本的自由(你可以收回物理介質和傳遞的費用)。<!doctype
html public "-//w3c//dtd html 4.0 transitional//en"> 

放棄版權

  英國諺語說:「沒有新聞就是最好的新聞」,佛家有言曰:「空即是色」,其實都是一樣的意思。這裡,「放棄版權」是一種特殊的版權,而不是版權的一種執行方式(在下面的文章中請始終注意,這種版權叫做「放棄版權」)。

  Copyleft,這個詞解釋成中文有一定的難度,首先,它是與copyright相對的,「right」在英語裡是個雙關語,表示「右」或者「權利」,於是FSF想出了這樣的一個詞──copyleft來相與之相左,而left恰巧在英語裡也是一個雙關語,表於「左」或者「丟棄(leave的過去式)」,於是,我把這個詞翻譯成「放棄版權」。

  放棄版權軟件並非沒有版權,它擁有一個放棄了的版權,FSF建議程序員先為程序賦於版權,然後加上分發條款,同時合法地向所有用戶授於在分發條款不被修改條件下的使用、修改、分發和改編的權力,並以此來保護程序的合法自由性。

  FSF同時認為以往版權擁有者以版權來剝奪用戶的自由,而自由軟件的編寫者是通過擁有版權來保護用戶的自由,於是,他們把這種版權叫做「copyleft」,通過GNU項目,FSF希望給所有的用戶以最大的分發和改編GNU軟件的自由,如果有中間商剝奪了這個自由,就會有許多「失去自由」的用戶,所以,FSF要求人人遵守「放棄版權」的版權協議,並且要求把以此獲得的自由傳遞下去。

  的確,「放棄版權」也刺激了許多編程者來增加並優化自由軟件,著名的自由軟件GNU C/C++就是為此目的而存在的。

  然而,所謂的「放棄版權」只是一個常規概念,在GNU項目中,這個特殊的分發條款被包含在GNU通用公眾許可證中(GNU
GPL)和GNU庫文件通用公眾許可證中。

  通俗地說,這個「放棄版權」的操作法有些像我們中國的傳統戲曲,例如王實甫編的西廂叫做《王西廂》,然而各個戲班都可以在此基礎上排練(改編)、上演(分發)、傳授後人(複製),而同時《董西廂》甚或是《李西廂》也遵循著這樣的原則來進行。

GNU通用公眾許可證

  GNU通用公眾許可證是FSF為了推廣自由軟件的發展和GNU項目的實施而推出的一份軟件版權許可證。

  由於附帶源代碼的自由軟件有著被人佔有的極大可能性,FSF要求所有自由軟件在這份許可證的條款下編寫、複製和分發,以此在最大程度上保護軟件和代碼的自由,同時也保護了原作者的權利。

  目前的第二版GNU通用許可證於1999年6月被通過,並應用於大多數FSF的軟件和其它的一些作者願意使用本許可證的自由軟件上(FSF的其它代碼由GNU庫文件通用許可證涵蓋),你也可以把你自己的軟件下放在GNU通用公眾許可證的保護下。

  在許可證中,FSF再次強調「free」指的是「自由」而非「價格」,這份許可證就是為了保證每個用戶有分發副本(並且按意願對此服務收取一定的費用)的自由,用戶還有得到源代碼,改變或使用部分代碼的自由,FSF要求每個用戶都事先從法律上知道自己的權利和義務。

  這份許可證被適宜地放入許多用戶手冊和每一個分發源代碼中,一般,它們的文件名為COPYING或COPYING.LIB。

  如果你是軟件的版權持有人,只要簡單地在軟件包中加入GNU通用公眾許可證就可以了,你無須修改公眾許可證中的任何條款,只要在程序中註明你的程式遵守GNU通用公眾許可證的條款就行了。

  順便說一名,GNU通用公眾許可證有多種語言版本,我也正著手中文版的翻譯工作,但只有英文版的原文是正式的、受法律保護的許可證。

自由軟件的優點

  隨著2000年的到來,已經有越來越多的人們意識到自由軟件帶來的便利,它的開放性與自由是它的最大優點,它的免費更是讓大多數人樂不可支,然而,自由軟件還有著許許多多其他大家所不知道的優點。

  首先是自由軟件的安全性,由於源代碼的開放,任何人都可以仔細地閱讀源代碼,找到安全漏洞,雖然可能有人因此來鑽空子,但由於自由軟件的開發體系,可以及時地寫出改進版本來,所以目前的自由軟件經過了三、四年的優化,已經很少有安全漏洞了。

  其次是自由軟件的依賴性,也許有人會問:「這些不要錢的軟件出了問題,我找誰去?」

  縱觀近幾年來的自由軟件發展,這個疑惑是多餘的,由於世界上有數以萬計的人們在使用這些軟件,你的問題或許也是他們的問題,而對於自由軟件的問題解答不會牽涉到任何的版權爭執,因此,對於大多數總題可以到新聞組中尋找答案,在去年,基於Linux操作系統的GNU項目甚至被電腦週刊評為全球服務最佳軟件。再說,自由軟件雖然不承擔責任,但你還可以聘請某些公司來為你做整個系統集成,他們將承擔起應負的責任。

  自由軟件系統還有很好的開發潛力與升級可能,我想不用多說,各位也一定能夠理解這樣的概念,而且,其它系統中的優點可以很好地被自由軟件吸收過來,因為自由軟件很好地避開了專利的問題,對於自由軟件來說,可以很好的「抄襲」其它軟件而不侵權,因為所有的自由軟件不是「以盈利為目的」的。

  好了,也不多說了,如果各位感興趣,可以試一試Linux以及其它的自由軟件,如果各位想知道更多,可以給本刊來信,我們會想法給大家解答。

Leave a Reply

Your email address will not be published. Required fields are marked *