我在尋找另一種可能,做一名程序員並能為這個社會作出更大的貢獻。我認為當時最需要的是開發出一套操作係統來改變這種窘境。由於當時的操作係統是專有的,而這是問題的起因,所以我決定從零開始,開發出一套操作係統,向所有人開放。
這個任務很艱巨,我不敢肯定我能完成它,但創立一個自由操作係統卻是我的目標。問題是如何來設計這樣一個操作係統。我知道有些程序寫出來後是無用的,因為它隻適用於某種類型的計算機,我不希望這樣的事情發生。我想到了便攜式軟件,這在1983年是非常領先的。我想做一個與Unix兼容的係統,讓大家覺得用起來非常容易和方便。
下一步,就是起個名字。六七十年代曾經流行工程師願意給自己的軟件起一個別出心裁的名字。經過多種選擇,我選擇了GNU這個名字。這是我認為我在所有英語語言中最好的詞彙了。再下一步就是找那些熱衷於程序設計的人來開發它。我找到很多計算機廠商,問他們:你們每年使用Unix需要向Unix交幾百萬美金的許可費,為什麼不拿出5萬讓我們開發新的自由操作係統呢?如果很多計算機廠家都能這樣做,我們就有足夠的經費完成開發工作,一旦成功了,將收效巨大,達到100:1的回報,那豈不更好嗎?
盡管有人對此表示出興趣,但沒有人願意提供讚助。於是,我決定自己開始寫作。我的目標是編寫自由操作係統。
1984年1月份,我辭去了我的工作,我必須這樣做,因為在MIT和美國其他大學你的成果是歸學校所有的,而我的目標是編寫自由操作係統,讓大家共享。從此以後,我再沒有過正式的工作。幸運的是通過編寫自由操作係統,我到現在還沒有挨過餓。
假若每一個程序都有其所有者,所有者都有這麼一個規則:使用程序的人要麼付錢,要麼就不準使用這個程序。那麼有些人會說:“好吧,我付錢使用這個軟件。”有些人說:“我不買它,這太貴了,我不用這個程序了。”每次都會有人不使用它,這樣一來,這個程序就得不到很好的利用,部分就被浪費了。因為設計、測試、發展程序到一定程度所需花費的精力是一樣的。如果我們的用戶量得到了限製,那麼我們做的工作就有部分會白白浪費。
但是社會上還有一部分是樂於去幫助別人的人。一個正常的社會隻有在良好的心態下才能發揮作用,這也是許多宗教信仰鼓勵樂於助人的原因,因為這對於人類社會來說非常重要。當我還是小孩子時,在學校裏,教師會教育我們要“分享”,他們說你不能把帶來的糖果一個人全吃了,要分給別的孩子,在中國也是這樣吧?對此我並不奇怪。因為顯而易見,樂於同你周圍的人分享是非常重要的,孩子們都必須被教育。現在在美國,政府所做的正好相反,要求學校裏教師教育孩子們把東西“存著”,以前我們被告訴要同別人分享,現在孩子們卻被告知“不要與別人分享”。分給別人是錯誤的,分給別人意味著你是一個傻瓜。如果我們都不願意幫助周圍的人的話,這個世界將會怎樣?我們難道願意生活在那樣一個人人自我,不願幫助他人的社會裏嗎?
過去有人問我是不是沒有人願意為自由軟件工作,因為他們認為這是免費軟件,人們要無償為它工作,因此造成了沒有人願意做和來做這件事情。15年之後的今天,我想已經有了答案,有些人是編軟件拿報酬,但還有許多人卻是即便沒有報酬也在編寫軟件。我們編寫出有用的軟件,並讓更多的人可以使用它,這就是自由軟件的價值。自由軟件的一大優勢就是,在大家的共同努力下,這些程序總是不間斷地更新。
當我寫Emacs時,大家都在想如何改進它,例如有人會說我在這裏有一個設想,另外就有人會說這個新的設想我能實現它,接下來就會有一個接一個的程序出現,它們的出現是如此之快,我都趕不上了……我想在微軟就不會有這個問題。人們改進軟件是為了使它更有用,軟件有用了,人們就開始使用它,開始改進它,這樣的結果使自由軟件更加具有可用性和可靠性。以往人們覺得自由軟件不會起什麼作用,但從今日事實看來,自由軟件具有很高的可靠性,在日常工作、教育等方麵都起著重要的作用。在醫院醫治病人、美國警局記錄時都采用了自由軟件配置的係統,因為他們知道這個係統永遠不會癱瘓。這也是人們選擇使用自由軟件的一個極重要的原因。
從實用角度而言,開放源代碼的程序也為商業提供支持。
當我們與商人談的時候,自由軟件支持商務也許是一個好的賣點,但是當我們與公眾,與我們的係統用戶談的時候,或與我們的社團談的時候,我們卻沒必要告訴他們這些,因為社會裏自由的天性是最重要的,我們也要給他們選擇的自由。
曆史告訴我們,人們若想自由,惟一的方法是為自由奮鬥,總有一些讓你放棄自由的機會,人們總能聽到“如果你放棄了這個自由,你就能得到某些好處”,總有一些人為了這些利益而放棄自由,所以假若我們要維護自由,就必須有珍視自由的人們。
在世界任何一個地方,如果你想要自由,就必須不懈地奮鬥。在自由軟件協會中工作的人說:“我堅持為自由軟件工作,因為我想要‘自由’。”在某種程度上,我讚成他們所說的,但我認為有些他們並未提到。在這裏我必須闡明,自由軟件工作與開放性源代碼工作並不完全一樣,兩種運動有著很相似的目標,但其原因和其對公眾所宣揚的主旨並不盡相同。後者無法達到一個和諧的工作環境,而沒有其他人的幫助,軟件將無法實現強大的功能和可靠性;另外,這種狀況造成的結果將影響科學家們的相互合作精神,而正是這種合作精神使他們一起工作來提高人類的知識水平。這種精神曾經盛極一時,甚至當科學家們的國家處於戰爭時期的時候這種合作精神也普遍存在。