理察法·斯德爾曼 1999年10月29日
理察法·斯德爾曼是著名的自由軟件運動領袖、GNU(自由軟件協會)組織的創始人,是自由軟件的精神領袖,是無數程序員和用戶心中的“最後一個真正的黑客”、自由軟件的奠基人。
大家好!很高興能夠來到中國。看到在座的有這麼多自由軟件的愛好者和追隨者,我感到自由軟件在中國有很大的潛力,你們將是中國自由軟件未來的希望。今天,我要給大家介紹一下自由軟件和GNU的發展。
使用軟件的規則。
當人們要問:這個社會使用軟件的規則是什麼?考慮這個問題的通常是軟件公司的人,他們完全是出於自私的角度來考慮這個問題的。他們為了管製住別人不從他們身上拿走錢而製訂這個規則。
早在20世紀70年代,我就關注這個問題。當時我們這些程序員們是在一起合作共同分享這些軟件成果。正因為如此,我得出了完全不同的結論。我們的社團是這樣工作的:我們會從斯坦福獲取新的程序軟件,或者一些源代碼去寫一些更好的程序,來解決一些原有的問題;或者你可以用那些源代碼去實現你的想法,寫一段更好的程序,甚至你可以切下一段程序用於你工作的另一段程序上。人們把這個稱為軟件的再利用。這樣你可以把一段程序用於很多方麵,這是我們這個社團致力的方向,也可以稱之為對人類知識寶庫的貢獻。
我們並不針對任何人,相反我們是為所有人工作的。我們這個社團包括MIT的實驗室人員,還有像斯坦福和康尼伯格大學的人員,甚至一些計算機公司的人員也加入我們的行列。但我們這個社團與計算機使用者不同,我發現了一些計算機使用者最關心的問題。
打印機的啟示。
舉一個例子,施樂公司當時送給MIT一台激光打印機,這是一件非常珍貴的禮物,因為在當時是很先進的,MIT成為除施樂公司以外的唯一一家擁有激光打印機的公司。這台機器性能非常好,打印清晰度高,不像以往的打印機那樣豎線會發生扭曲,線條打印得筆直、漂亮,它是由計算機控製的。
但它也有很多問題:如經常卡紙。這種情況下,我們知道怎麼辦,以往的打印機也會出現經常卡紙、清晰度低的問題,我們無法改變打印速度慢、卡紙的問題,但我們是軟件工程師,我們可以用軟件來彌補硬件的不足。比如打印作業完成後,我們可以用程序提示:“您的打印作業已完成”,這樣打印者不用再等多餘的時間。另外我本人也專門寫了一段關於卡紙的提示。一旦卡紙便會通過屏幕告知打印者卡紙了;或者打印機出問題了,係統會顯示:“機器故障,需要修理”。一旦出現這種情況,你必須馬上去修理,也許不會馬上有修理工來幫助你,但是有時會有兩三個同事同時來到你的辦公室,你們之間可以互相幫助,共同修理。
事實上,我們把打印機當成整個係統的一部分,保證係統整體穩定運行。所以當新的打印機出現類似問題的時候,我們也想做類似的軟件修改。可是問題出現了:新的施樂打印機是用施樂專有軟件控製的,我們沒有源代碼,連最基本的修改都做不成。我們都是當時全世界最優秀的軟件工程師,可我們卻一點辦法都沒有。所以人們對這台打印機感到很頭疼。也許你打印後半個小時去看,卻一張紙也沒打印出來。又過了半個小時你去看,卻發現一直在卡紙。於是你修理好了卡紙,回去又等了半個小時,心想這回成了,卻發現打印了200頁別人的東西,這是沒有任何意義的。然而最令我們感到頭疼的是有人故意不讓我們把這台機器做得更好。他在背叛全世界。當時我聽說康尼伯格大學的一位同事有這台機器源代碼的拷貝件,所以我去了他在匹茲堡的辦公室,想向他索要一份源代碼拷貝件,他拒絕了,他說:“我已經承諾不會向任何人提供拷貝件”。我非常氣憤,但是沒有辦法,隻能扭頭走了。這對於MIT的員工來說是一種悲哀,於是我們一直解決不了這個問題,機器也一直這樣壞下去。相反這件事對我是個不小的觸動。康尼伯格的那位工程師拒絕與我合作,也拒絕與你們合作,他是在背叛我們全體。