本文章由Turbolinux中國公司提供
大家好!很高興能夠來到中國??吹皆谧挠羞@么多自由軟件的愛好者和追隨者,我感到自由軟件在中國有很大的潛力,你們將是中國自由軟件未來的希望。今天,我要給大家介紹一下自由軟件和GNU的發展。
當人們要問:這個社會使用軟件的規則是什么?考慮這個問題的通常是軟件公司的人,他們完全是出于自私的角度來考慮這個問題的。他們為了管制住別人不從他們身上拿走錢而制定這個規則。
早在70年代, 我就關注這個問題。當時我們這些程序員們是在一起合作共同分享這些軟件成果。正因為如此,我得出了完全不同的結論。我們的社團是這樣工作的:我們會從斯坦福獲取最新的程序軟件,或者一些源代碼去寫一些更好的程序,來解決一些原有的問題?;蛘吣憧梢杂媚切┰创a去實現你的想法,寫一段更好的程序,甚至你可以切下一段程序用于你工作的另一段程序上。人們把這個稱為軟件的再利用。這樣你可以把一段程序用于很多方面。這是我們這個社團致力于的方向,也可以稱之為對人類知識寶庫的貢獻。
我們并不針對任何人,相反我們是為所有人工作的。我們這個社團包括MIT的實驗室人員,還有象斯坦福和康尼伯格大學的人員,甚至一些計算機公司的人員也加入我們的行列。但我們這個社團與計算機使用者不同,我發現了一些計算機使用者最關心的問題。
舉一個例子,施樂公司當時送給MIT一臺激光打印機,這是一件非常珍貴的禮物,因為在當時是很先進的,MIT成為除施樂公司以外的唯一一家擁有激光打印機的單位。這臺機器性能非常好,打印清晰度高,不象以往的打印機那樣豎線會發生扭曲,線條打印得筆直、漂亮,它是由計算機控制的。但它也有很多問題:如經???。這種情況下,我們知道怎么辦,以往的打印機也會出現經???、清晰度低的問題,我們無法改變打印速度慢、卡紙的問題,但我們是軟件工程師,我們可以用軟件來你彌補硬件的不足。比如打印作業完成后,我們可以用程序提示:“您的打印作業已完成”,這樣打印者不用再等多余的時間。另外我本人也專門寫了一段關于卡紙的提示,一旦卡紙便會通過屏幕告知打印者卡紙了?;蛘叽蛴C出問題了,系統會顯示:“機器故障,需要修理”。一旦出現這種情況,你必須馬上去修理,也許不會有任何別人來幫助你,但是有時會有兩三個人同時到達打印機,他們之間可以互相幫助,共同修理。事實上,我們把打印機當成整個系統的一部分,保證系統整體穩定運行。所以當新的打印機出現類似問題的時候,我們也想做類似的軟件修改??墒菃栴}出現了:新的施樂打印機是用施樂專有軟件控制的,我們沒有源代碼,連最基本的修改都做不成。我們都是當時全世界最優秀的軟件工程師,可我們卻一點辦法都沒有。所以人們對這臺打印機感到很頭疼。也許你打印后半個小時去看,卻一張紙也沒打印出來。又過了半個小時你去看,卻發現一直在卡紙。于是你修理好了卡紙,回去又等了半個小時,心想這回成了,卻發現打印了200頁別人的東西,這是沒有任何意義的。然而最令我們感到頭疼的是有人故意不讓我們把這臺機器做得更好。當時我聽說康尼伯格大學的一位同事有這臺機器源代碼的拷貝件,所以我去了他在匹茲堡的辦公室想向他索要一份源代碼拷貝件,他拒絕了,他說:“我已經承諾不會向任何人提供拷貝件”。我非常氣憤,但是沒有辦法,只能扭頭走了。這對于MIT的員工來說是一種悲哀,于是我們一直解決不了這個問題,機器也一直這樣壞下去。相反這件事對我是個不小的觸動??的岵竦哪俏还こ處熅芙^與我合作,也拒絕與你們合作,他是在背叛我們全體。
這是發生在1981年的事。只是因為他簽署了一項不對外泄露協議,他在背叛全世界。這是我第一次接觸到不對外泄露協議,我是受害者,我的實驗室也是受害者。很多軟件工程師都會遇到被要求簽署不對外泄露的協議,而且會有很多誘惑和好處會誘使他們這樣做。人們會對自己做過的錯事找各種借口,很多人都這么做,為什么我不能呢?但是我不會簽署這樣的協議,因為我清楚地記得我和我的實驗室是受害者。尤其是你并不知道你會傷害誰,也許會是你最好的朋友。如果有人送給我一個很好的軟件,但要求我不對外泄露,我會感謝他,但告訴他良知不讓我這樣做,我寧愿不要這個軟件。到現在為止,我從未在已知的情況下簽署過任何不泄露協議。
在70年代AI實驗室的成立可以說是計算機領域的悲劇,AI實驗室開始編寫專有的程序,使得我們原有的共享的源代碼變得一點用處也沒有了。除非你簽署了不對外泄露協議,你根本無法在一臺先進的計算機上工作,因為他們編寫了ISS(不兼容軟件系統)。我原有的社團環境已經不存在了。我將如何做?或許可以隨歷史潮流,也簽署不對外泄露協議,并編寫專有軟件,我也可以此為生。但是將來回顧這一段,我是在用一生建筑分割人們交流的高墻。但我不能這樣做。另一個選擇是離開計算機行業,但很多程序員認為離開計算機會挨餓。但今天的美國仍有幾百萬人與軟件無關。我的專長就是編程,我相信我會做一名很好的服務生,這也是謀生的一種方式,但我在浪費我的技能。
我在尋找另一種可能,做一名程序員并能為這個社會作出更大的貢獻。我認為當時最需要的是開發出一套操作系統來改變這種窘境。由于當時的操作系統是專有的,而這是問題的起因,所以我決定從零開始開發出一套操作系統,向所有人開放。這個任務很艱巨,我不敢肯定我能完成它,但創立一個自由操作系統卻是我的目標。問題是如何來設計這樣一個操作系統。我知道有些程序寫出來后是無用的,因為它只適用于某種類型的計算機,我不希望這樣的事情發生。我想到了便攜式軟件,這在1983年是非常領先的。我想做一個與UNIX兼容的系統,讓大家覺得用起來非常容易和方便。下一步,就是起個名字。六七十年代曾經流行工程師愿意給自己的軟件起一個別出心裁的名字。經過多種選擇,我選擇了GNU這個名字。這是我認為我在所有英語語言中最好的詞匯了。再下一步就是找那些熱衷于程序設計的人來開發它。我找到很多計算機廠商,問他們:你們每年使用UNIX需要向UNIX交幾百萬美金的許可費,為什么不拿出5萬讓我們開發新的自由操作系統呢?如果很多計算機廠家都能這樣做,我們就有足夠的經費完成開發工作,一旦成功了,將收效巨大,達到100:1的回報,那豈不更好嗎?盡管有人對此表示出興趣,但沒有人愿意提供贊助。于是,我決定自己開始寫作。
1984年1月份,我辭去了我的工作,我必須這樣做,因為在MIT和美國其他大學你的成果是歸學校所有的,而我的目標是編寫自由操作系統,讓大家共享。從此以后,我再沒有過正式的工作。幸運的是通過編寫自由操作系統,我到現在還沒有挨過餓。
假若每一個程序都有其所有者,所有者都有這么一個規則:使用程序的人要么付錢,要么就不準使用這個程序。那么有些人會說:“好吧,我付錢使用這個軟件?!庇行┤苏f:“我不買它,這太貴了,我不用這個程序了?!泵看味紩腥瞬皇褂盟?,這樣一來,這個程序就得不到很好的利用,部分就被浪費了。因為設計、測試、發展和程序到一定程度所需花費的精力是一樣的。如果我們的用戶量得到了限制,那么我們做的工作就有部分會白白浪費。
但是社會上還有一部分是樂于去幫助別人的人。一個正常的社會只有在良好的心態下才能發揮作用,這也是許多宗教信仰鼓勵樂于助人的原因,因為這對于人類社會來說非常重要。當我還是小孩子時,在學校里,教師會教育我們要“分享”,他們說你不能把帶來的糖果一個人全吃了,要分給別的孩子,在中國也是這樣吧?對此我并不奇怪。因為顯而易見,樂于同你周圍的人分享是非常重要的,孩子們都必須被教育?,F在在美國,政府所做正好相反,要求學校里教師教育孩子們把東西“存著”,以前我們被告訴要同別人分享,現在孩子們卻被告知“不要與別人分享”。分給別人是錯誤的,分給別人意味著你是一個傻瓜。如果我們都不原意幫助周圍的人的話,這個世界將會怎樣?我們難道愿意生活在那樣一個人人自我,不愿幫助他人的社會里嗎?
過去有人問我是不是沒有人愿意為自由軟件工作,因為他們認為這是免費軟件,人們要無償為它工作,因此造成了沒有人愿意做和來做這件事情。十五年之后的今天,我想已經有了答案,有些人是編軟件拿報酬,但還許多人卻是即便沒有報酬也在編寫軟件。我們編寫出有用的軟件,并讓更多的人可以使用它,這就是自由軟件的價值。
自由軟件的一大優勢就是,在大家的共同努力下,這些程序總是不間斷地更新。當我寫Emacs時,大家都在想如何改進它,例如有人會說我在這里有一個設想,另外就有人會說這個新的設想我能實現它,接下來就會有一個接一個的程序出現,它們的出現是如此之快,我都趕不上了…我想在微軟就不會有這個問題.人們改進軟件是為了使它更有用,軟件有用了,人們就開始使用它,開始改進它,這樣的結果使自由軟件更加具有可用性和可靠性。以往人們覺得自由軟件不會起什么作用,但今日事實看來,自由軟件具有很高的可靠性,在日常工作、教育等方面都起著重要的作用。在醫院醫治病人、美國警局記錄時都采用了自由軟件配置的系統,因為他們知道這個系統永遠不會癱瘓。這也是人們選擇使用自由軟件的一個極重要的原因。從實用角度而言,開放源代碼的程序也為商業提供支持。
當我們與商人談的時候,自由軟件支持商務也許是一個好的賣點,但是當我們與公眾,與我們的系統用戶談的時候,或與我們的社團談的時候,我們卻沒必要告訴他們這些,因為社會里自由的天性是最重要的,我們也要給他們選擇的自由。
歷史告訴我們,人們若想自由,唯一的方法是為自由奮斗,總有一些讓你放棄自由的機會,人們總能聽到“如果你放棄了這個自由,你就能得到某些好處”,總有一些人為了這些利益而放棄自由,所以假若我們要維護自由,就必須有珍視自由的人們。
在世界任何一個地方,如果你想要自由,就必須不懈地奮斗。在自由軟件協會中工作的人說:“我堅持為自由軟件工作,因為我想要‘自由’?!痹谀撤N程度上,我贊成他們所說的,但我認為有些他們并未提到。在這里我必須闡明,自由軟件工作與開放性源代碼工作并不完全一樣,兩種運動有著很相似的目標,但其原因和其對公眾所宣揚的主旨并不盡相同。后者無法達到一個和諧的工作環境,而沒有其他人的幫助,軟件將無法實現強大的功能和可靠性;另外,這種狀況造成的結果將影響科學家們的相互合作精神,而這種合作精神正是他們一起工作來提高人類的知識水平。這種精神曾經盛極一時,甚至當科學家們的國家處于戰爭時期的時候這種合作精神也普遍存在。我曾讀到一個故事,說二次世界大戰的時候,美軍士兵在太平洋中的一個小島登陸,發現了一所房子,上面釘著一塊寫給美軍士兵的牌子,上面說:“美軍士兵,這里是一個海洋生物實驗室,我們想把這里的標本學交給一位美國科學家,讓他繼續我們的研究,而不想由于這場戰爭使這里的東西被破壞?!泵慨斘蚁氲竭@些,我都會非常感動。而與這種合作精神相反,現在每一個公司的研究人員都以其他公司的研究人員為敵,這是一種科學的對立局限,使得每個地方都持續著內戰,而這種狀況在嚴重阻礙著技術的溝通和發展。我想這樣的情形不能再繼續了。以上是自由軟件有別于其他的原因,也是自由軟件之所以重要的原因。
目前對自由軟件有這樣一種看法,如果某些使用者可以自由地獲得一個程序,則這個程序對你而言就是自由軟件。我不同意這種看法,因為通常一些軟件對一些使用者是自由的,但并不是對其他使用者而言。這看上去有些奇怪,我舉個例子來說明:
最典型的一個例子是X-Windows, 它是MIT的實驗人員開發的基于UNIX的Windows操作系統,如果你從開發者手中購到X-Windows,則它對你來說是自由軟件。但對于其他拿到X-Windows拷貝件的計算機廠商來說,他們使用的是UNIX系統,他們將X系統加以改編并融合到自己的UNIX上,再分售給購買者,它就受限于這個UNIX系統。那么出現了一種似是而非的情況,如果要問X-Windows是否是一種自由軟件,答案則取決于你從哪方面考慮。如果你從研發者處購得,你則享有自由,答案便是肯定的;但如果你從大多數普通的軟件使用者角度考慮,答案則是否定的,他們沒有享有這種自由,因而X-Windows就不是個自由軟件。研發X-Windows的人員的目標是成功的,他們希望X系統被廣泛使用,而結果正如所料,X-Windows成為UNIX系統下最標準的Windows操作系統。他們認為這很好,但我不那樣認為,我們希望的是給予使用者自由。同時我意識到我的軟件也有可能出現這樣的情況,因此我決定找出一種辦法,避免此種情形發生。
我把這種辦法稱為Copy left,它是與版權(Copy right)相對應的說法。我予以你拷貝的自由,并可以制作復本,但你如果發售復本,就要遵守沒有再次限制的規則,使任何人可以你處得到復件,也同時得到許可去做同樣的事。軟件到何處,自由就隨之到何處,并且每個復本的使用者也得到自由。如同在美國的一項法律——不可讓予的權力,意思是你無法徹底失去的權力,你不能放棄。自由是很重要的,如果你失去他,就會變成奴隸,你是不能放棄這種權力的,除非你犯了罪…,這就是說X-Windows應是所有人能使用的自由軟件,每個人都應享有這種不能讓與的自由。
我雖不能讓所有的軟件都成為自由的,但我可以運用Copy left來編我的軟件,以給予你們這種自由。Copy left與編譯程序差不多,要使用Copy left必須有一些給定的供給工具。在GNU系統中則是GNU一般公認許可,這是一種特定的用法定語言編成的許可,目的是推廣自由拷貝(Copy left)。我們還有一些在特定情形下適用特定軟件的“自由拷貝”版本,并編寫了“自由拷貝”軟件操作手冊。自由軟件分為自由拷貝和不自由拷貝,支持不自由拷貝的人只是不積極,但他們仍很尊重他人的自由。我鼓勵你們使用那些不自由拷貝的自由軟件或與之合作,而以自由拷貝的策略來編寫程序。
我來到中國以后,知道有一些中國公司,他們在分售GNU軟件,但沒有執行其在GNU公認許可下的責任,對此我表示反對。我鼓勵公司出售GNU軟件的復本,但他們必須尊重你們的自由。在國際上,許多團體和個人都在分發自由軟件,但他們都嚴格執行GNU公認許可,不遵守這個許可的人是不受歡迎的,將被驅出我們的隊伍。中國的自由軟件公司中,有一些在遵守GNU公認許可,他們遵守公認的準則,我就支持他們。而對這些不遵守GNU公認許可,不執行GNU許可下應盡責任的公司,我會認為他們是不受歡迎的。我希望你們也和我一樣,不要以任何形式與這些公司合作,幫助我完善中國的版權法,并關閉那些公司。
當年我們銷售X-Windows時,有些人說我賺不到錢,因為別人買了你的軟件拷貝,他會再制造拷貝他將以更低的價格賣給別人,所以你是賺不到錢的。但現在,我很高興地看到,盡管我們“違反”了公認的經濟規律,但我們卻賺到了錢?,F在仍然有人購買我的軟件,我也從未曾因缺錢而饑餓?,F在,自由軟件正在顯示出良好的發展勢頭,許多自由軟件公司專門從事GNU系統上軟件的研發工作。還有許多全職或兼職的志愿人員為我們服務。也許自由軟件還有很長的路要走,但我們有充分的理由促使人們支持自由軟件,為自由軟件服務。自由軟件的前途是光明的。
編輯者: David. (04/04/02 02:25 PM)