GNU 之路
理查·史托曼描述了使他準備好為自由軟體世界奮鬥的經歷。
大約在 1983 年 4 月,史托曼寫了一篇 《快樂駭客 - 電腦俚語詞典》導言。在其中,他談到了他在麻省理工學院人工智慧實驗室和 Lisp 機器戰爭中的經歷。他還詳細介紹了 Emacs 是如何開發出來的。下面的文字是 1983 年末的更新版本,就在 GNU 的 初始公告發布後不久。
機器房民俗舞蹈,星期四晚上 8 點
來慶祝程式設計的樂趣,
使用世界上最令人愉悅的電腦。
我們只有五個人跳舞,但我們玩得很開心。
我第一次接觸電腦是在營隊輔導員那裡借來的各種語言手冊。我會因為程式設計概念的魅力而在紙上寫程式。我必須絞盡腦汁思考程式應該做什麼,因為除了我想寫程式之外,沒有任何目標可以提供給我。我寫了一些程式,在不同的組合語言中多次加總數字表格的立方。
我遇到的第一台真正的電腦是 IBM 360,在紐約 IBM 科學中心,當時我還是一名高中生。在那裡,我很快就對語言設計、作業系統和文字編輯器產生了興趣。暑假被聘請用 Fortran 寫一個枯燥的數值分析程式,我讓我的老闆感到驚訝,因為我在幾個星期後就完成了它,並在剩下的暑假裡用 APL 寫了一個文字編輯器。
我也很快表現出對權威缺乏應有的敬畏。整個中心都被拒絕存取大樓裡的 IBM 電腦,我們不得不使用緩慢的電話連線到劍橋科學中心。有一天,一位 IBM 主管來告訴我們各個 IBM 科學中心正在做的工作,並總結說:「當然,你們都知道這裡正在進行的重要工作。」我問他:「如果我們的工作如此重要,為什麼我們不能再使用這棟大樓裡的電腦了?」會議結束後,我的朋友們告訴我,他們也想說這樣的話,但害怕遭到報復!為什麼?當然,我沒有因此發生任何事。他們似乎已經學會了在權威面前畏縮的習慣,即使實際上沒有受到威脅。權威真好。我決定不學習這個特殊的教訓。
人工智慧實驗室
紐約科學中心在我搬去上大學時及時關閉了。我發現劍橋科學中心對我沒有興趣,這對我來說非常幸運,因為這讓我免於對遠遠優於 IBM 的非 IBM 電腦一無所知,尤其是 Digital 的 PDP-10 和 PDP-11。現在意識到並非所有電腦都同樣有趣,我四處打聽最令人愉悅的電腦,並在麻省理工學院人工智慧實驗室找到了它們。在那裡,一群自稱「駭客」的人創建了自己的分時系統,即不相容分時系統,專門用於促進駭客行為。ITS 和所有實用程式(包括除錯程式 DDT,它也是名為 HACTRN 的「shell」)都在那裡維護。我來找他們的系統文件(我多麼天真)。我沒有拿到任何文件就離開了,因為根本沒有文件,但取而代之的是一份暑期工作。我被一位工程師/管理員羅素·諾夫斯克聘用——具有諷刺意味的是,這個人後來在實驗室的毀滅中扮演了主要角色。這份工作變成了永久性的,一直持續到今天。
一旦我證明自己有能力,我就可以自由地使用整個作業系統,這是一個學習和發揮生產力的機會,很少有實驗室和公司會給我。駭客的態度是:「如果你能做好工作,那就去做吧——無論你是誰。」
以人工智慧實驗室為比較,我開始看到其他地方的人們有多麼少的自由和多少不必要的困難。在 IBM 和哈佛,權力非常不平等地分配。少數人發號施令,其餘的人(如果不是我)則服從命令。教授們會有自己的終端機,通常是閒置的,而我們其他人常常因為共用終端機太少而無法工作。人們會問:「你被授權做這件事嗎?」而不是「你知道怎麼做這件事嗎?這有建設性嗎?」他們寧願讓一個被授權的笨蛋完成工作,也不願讓一個不知名的天才完成工作。我不再常去哈佛的電腦實驗室,因為麻省理工學院好太多了。(我的專業是物理;一個天生的駭客沒有必要去上電腦正規課程,因為在優秀的駭客中駭入具有挑戰性的程式是更好的訓練)。
人工智慧實驗室的態度是不同的。我們有一個傳統,就是破門而入任何敢於鎖住辦公室終端機的教授的門。他們回來後會看到門是開著的,還有一張紙條寫著:「請不要讓我們浪費時間解鎖這個終端機。」終端機是供人使用的,如果閒置就會被浪費掉。我們將同樣的態度延伸到電腦時間。PDP-10 每秒執行 30 萬條指令。如果沒有使用者要求使用它們,它就會花時間計算它有多久沒有任何有用的事情可做了。最好讓任何人將它們用於任何建設性的目的,而不是浪費掉。因此,我們允許「遊客」——訪客使用者——只要他們不妨礙我們。我們鼓勵他們了解系統,尋找少數會成為駭客並加入我們的人。至少有兩名實驗室工作人員和一名麻省理工學院教授是以這種方式開始的。
我發現電腦系統反映了組織之間態度的這些差異。例如,大多數電腦系統都設計有安全功能,允許少數人告訴其他人他們可以做什麼和不能做什麼。少數人擁有權力,沒有人可以挑戰它。我們駭客稱之為「法西斯主義」,因為這樣的電腦系統確實具有極權警察國家的社會組織。
為了防止使用者關閉安全措施,必須在系統程式周圍建立堡壘。每個可能的穿牆通道都必須受到保護,否則受壓迫的大眾就會偷偷溜進來。事實證明,電腦無法區分偷偷穿牆和人們為了完成工作而經常需要做的許多其他活動。由於維護安全比完成工作更重要,因此所有此類活動都是被禁止的。結果是,你必須經常要求精英中的一位為你做一些你不被允許做的事情。如果他不喜歡你或你的任何事情,或者他想要賄賂,他可以毫不費力地讓你的工作比實際情況困難兩倍。
人們理所當然地認為,只有精英才能修改或安裝任何系統程式,以免下屬偷偷溜進「特洛伊木馬」來關閉安全措施。(這種限制是使用「檔案保護」來實施的。)這與人工智慧實驗室的情況正好相反,在人工智慧實驗室,遊客從事系統程式的工作意味著他開始讓自己變得有用並成為一名駭客。他們的方式減少了可以為改進系統做出貢獻的人數,並且使用者對系統缺陷學會了一種宿命論、絕望的態度。他們學會了奴隸的精神面貌。
在像 Digital Equipment 這樣的地方,即使是那些工作是改進系統的人,也必須應對如此多的官僚主義,以至於他們的效率和士氣都減半。《向上管理》一書的作者羅伯特·湯森德說,大多數機構都會通過阻止員工做好工作來使員工士氣低落並浪費他們的潛力。安全和特權是電腦系統上完成這件事的方式。
大多數人接受這種制度,因為他們期望工作是繁重的,並且對工作沒有任何期望,除了金錢。但對於駭客來說,駭客行為不僅僅是「只是」一份工作,它還是一種生活方式。最初的駭客確保他們不會遇到這樣的問題,方法是從系統設計中省略安全和檔案保護。我們系統的使用者是自由人,被要求負責任地行事。我們沒有權力精英,而是知識精英,由任何有動力學習的人組成。由於沒有人可以在我們的機器上支配他人,實驗室就像一個無政府狀態一樣運作。這種明顯的成功使我轉變為無政府主義 [1]。對大多數人來說,「無政府狀態」意味著「浪費、破壞性的混亂」,但對像我這樣的無政府主義者來說,它意味著根據需要進行自願組織,重點是目標,而不是規則,並且不堅持為了統一而統一。無政府主義並不意味著提倡弱肉強食的叢林。美國社會已經是一個弱肉強食的叢林,它的規則維持了這種狀態。我們希望用對建設性合作的關注來取代這些規則。
大多數電腦系統上的檔案保護意味著人們非常關注如何限制誰可以對你的檔案做什麼。使用者被教導要期望檔案保護是他們免於每天工作被破壞的唯一屏障。我們駭客多年來在沒有檔案保護的情況下快樂地生活,並且不覺得我們缺少任何東西,我們稱他們的態度為「偏執狂」。系統中的一切都可以存取是非常有用的;這意味著錯誤不會隱藏在你不被允許修復的檔案中。
我們也將這些態度帶入了程式語言設計中。考慮到「結構化程式設計」運動,及其「禁止 GOTO」平台。這些人說:「除了我們少數人之外,你們所有的程式設計師都是[不]勝任的。我們知道你們應該如何程式設計。我們將設計強迫你們以這種方式程式設計的語言,然後我們將強迫你們使用它們。」我們駭客認為,改進程式語言更合適的方法是識別並提供更容易使用的結構;幫助使用者編寫好的程式,而不是在他可能編寫壞程式時為難他。並且我們提供了設施,以便使用者可以在不喜歡我們提供的結構時創建自己的結構。
實驗室成就中體現的哲學
人工智慧實驗室的態度是我最著名的作品 EMACS 全螢幕編輯器(蓋伊·史蒂爾和其他人也做出了貢獻)的固有組成部分。如今,全螢幕編輯器(「文書處理」程式)很常見,並且在每台家用電腦上都能找到。在 1973 年,顯示終端機比印表機更昂貴,因此大多數人仍然使用列印終端機,而那些擁有顯示終端機的人通常像使用列印終端機一樣使用它們(也就是說,作為「GLASS TTY」)。人工智慧實驗室有顯示器,但還沒有螢幕編輯器。
EMACS 在螢幕編輯器中是不尋常的,因為它功能強大且可擴展。EMACS 包含自己的程式設計工具,我用它來提供其他編輯器沒有的命令,使用者也用它來提供他們想要的而我沒有給他們的任何命令。使用者可以製作命令庫並共享它們,當他們做得很好時,這些庫只需包含在手冊中就可以成為標準 EMACS 系統的一部分。
許多其他編輯器都有「巨集」功能。EMACS 有一種用於編寫編輯器命令的程式語言,它與通常的編輯語言完全分離。因為它不必是一種編輯語言,所以它可以是一種更好的程式語言,非常適合編寫複雜的程式。第二個要素是不區分實施者和使用者。幾乎所有 EMACS 的「內建」命令都是像使用者擴展一樣編寫的。每個使用者都可以替換它們或為自己更改它們。
EMACS 的開發路徑說明了實驗室的性質。當我來到實驗室時,編輯器是 TECO,這是一個列印終端機編輯器,具有比其他編輯器更多的程式設計功能。使用者會輸入一個包含許多命令的命令字串,然後 TECO 會執行它。在顯示終端機上,TECO 知道如何在每個命令字串之後重新顯示檔案的文字。提供螢幕編輯的自然方法是將其添加到 TECO 並調整現有的重新顯示機制。
最初,螢幕編輯器只是 TECO 的一個命令。它的功能非常有限,如果你需要做任何花哨的事情,例如將檔案儲存到磁碟或搜尋字串,你需要退出螢幕編輯器並使用常規 TECO 一段時間。然後一位使用者建議我提供幾個螢幕編輯器命令,使用者可以將這些命令連接到已儲存的 TECO 命令字串或「巨集」。在實施這一點時,我發現讓使用者用已儲存的 TECO 命令字串替換任何螢幕編輯器的命令同樣容易。
這引發了一場爆炸。每個人和他的兄弟都在編寫自己的重新定義的螢幕編輯器命令集合,為他通常喜歡做的每件事編寫一個命令。人們會傳遞它們並改進它們,使它們更強大、更通用。重新定義的集合逐漸成為它們自己的系統程式。它們的範圍擴大了,以至於越來越沒有理由再使用 TECO 進行實際編輯。它變成了一種用於編寫編輯器的程式語言。我們開始在心理上將其歸類為一種程式語言,而不是具有程式設計作為額外功能的編輯器,這意味著將其與其他程式語言而不是其他編輯器進行比較。結果是對其他程式語言具有的許多功能的需求。我以這種方式改進了 TECO,而其他駭客則使用新功能來改進他們用 TECO 編寫的編輯器。
在經過大約兩年的這種狂野演變之後,蓋伊·史蒂爾決定是時候編寫一個可以結合所有其他編輯器的最佳想法的編輯器了。我們一起開始,但他很快就轉向了他的其他興趣。我將這個編輯器命名為 EMACS,代表「編輯巨集」。此外,我希望新編輯器的名稱有一個單字母縮寫,「E」是尚未使用的字母之一。
因此,標準 EMACS 命令語言是許多使用者維護者在他們自己的編輯器上進行多年實驗的結果,這只有在可擴展性和人工智慧實驗室鼓勵使用者添加到系統的態度下才有可能實現。在我賦予使用者重新定義自己的螢幕編輯器的權力的命運之日,我不知道這會導致一個驚天動地的新編輯器。我遵循了人工智慧實驗室的啟發式方法,即給予使用者更多權力總是好的。然後人工智慧實驗室的態度鼓勵使用者使用權力並分享他們因此產生的成果。
我在 EMACS 上工作了大約五年,免費將其分發給所有人,條件是他們歸還他們所做的所有擴展,以便幫助 EMACS 改進。我將這種安排稱為「EMACS 公社」。當我分享時,他們的責任是分享,與彼此合作而不是對抗。EMACS 現在被所有最好的大學電腦科學系和許多其他地方使用。它也被模仿了大約十次。可悲的是,這些模仿品中的許多都缺乏 EMACS 的真正精髓,即它的可擴展性;它們是「冒牌 EMACS」,只模仿了表面外觀。
如今,EMACS 使用者幾乎從不使用 TECO 編輯,大多數人甚至不知道 TECO。事實上,我已經忘記如何使用 TECO 編輯了。我太習慣於用 TECO 進行程式設計的思考方式,以至於在少數需要用它編輯的情況下,我茫然了一分鐘左右。所有反射都消失了。
我注意到,一個編輯器改進是一個有價值的改進的標誌是,在使用它幾個星期後,我忘記了如何在沒有它的情況下做事。這證明必須付出巨大的努力才能保持以舊方式做事的習慣。
我不認為任何像 EMACS 這樣的東西可以在商業上開發出來。企業有錯誤的態度。商業世界對使用者的首要公理是他們是無能的,如果他們對自己的系統有任何控制權,他們就會把它搞砸。首要目標是讓他們沒有任何具體的抱怨,而不是給他們一種自助的方式。這與 FDA 寧願通過將藥物拒之門外來殺死一千人,也不願通過錯誤地發布一種藥物來殺死一個人是相同的道理。次要目標是給予管理者對使用者的權力,因為是管理者決定購買哪個系統,而不是使用者。如果一家公司編輯器有任何可擴展的方式,他們可能會讓你的經理為你決定事情,而根本不給你任何控制權。由於這兩個原因,一家公司永遠不會設計一個編輯器,使用者可以用它像麻省理工學院的使用者一樣進行實驗,並且他們將無法根據實驗結果來生產 EMACS。此外,公司不希望給你原始碼,如果沒有原始碼,編寫擴展要困難得多。
你的印表機叫什麼名字?
當我在實驗室的雷射印表機系統上為 EMACS 手冊安裝一種新字體時,我注意到初始化選單包含一個用於更改印表機名稱的插槽,該名稱會出現在每個使用者的輸出封面頁上。(如果你有多個印表機並且想知道哪個印表機產生了你的輸出,此功能非常重要。)我們的印表機有一個可愛且毫無意義的名稱「Tremont」。作為一名駭客,我的職責是用更有趣的東西替換它。我選擇了「Kafka」,以引起令人不安的聯想。(你有沒有聽說過有人早上醒來變成雷射印表機的故事?)
在接下來的幾天裡,其他駭客一直在談論這個新名稱,並提出了更多有趣的名稱(「Treemunch」、「Thesiscrunch」、「Cthulhu」,…)。我嘗試了每個名稱幾天,同時收集了更多建議。這對幾乎所有人來說都非常有趣。唯一例外的是一位教授,他告訴我我沒有被授權這樣做,我應該停止。我回答說,我親身知道人們因此而感到有趣,因此我應該繼續,至少在建議持續存在的情況下。最後,我用嚴厲而官方的語氣告訴他,他沒有被授權說駭客行為是未經授權的。
可憐的傢伙沒有就此結束。他說:「如果你認為重命名印表機這麼有趣,那你為什麼不重命名 PDP-10 呢?」這真是一個絕妙的主意,我對此表示感謝。第二天,DM PDP-10(Zork 的所在地)被稱為「地牢建模」(Dungeon Modelling)而不是「動態建模」(Dynamic Modelling);ML PDP-10(用於數學和醫療決策研究)被稱為「醫療責任」(Medical Liability)而不是「數學實驗室」(Math Lab);MC PDP-10 是「最大混亂」(Maximum Confusion)而不是「MACSYMA 聯盟」(MACSYMA Consortium);人工智慧 PDP-10 被稱為「無政府主義者國際」(Anarchists International)而不是「人工智慧」(Artificial Intelligence)。我沒有再聽到任何抱怨。
實驗室的背叛
仍然有一個名為麻省理工學院人工智慧實驗室的機構,我仍然在那裡工作,但它過去的優點已經消失了。一家衍生公司給它帶來了致命的打擊,這從根本上(而且我認為是永久性地)改變了它的性質。
多年來,只有我們在人工智慧實驗室,以及少數其他實驗室,欣賞軟體的最佳之處。當我們談到 Lisp 的優點時,其他程式設計師嘲笑我們,儘管他們對自己所談論的內容知之甚少。我們忽略了他們,繼續我們的工作。他們說我們在象牙塔裡。
然後「現實世界」的部分人意識到我們一直以來對 Lisp 的看法是正確的。人們對 Lisp 產生了巨大的商業興趣。這是結束的開始。
人工智慧實驗室剛剛開發出一台名為 Lisp 機器的電腦,這是一台具有大型虛擬位址空間的個人電腦,因此它可以運行非常大的 Lisp 程式。現在人們希望這台機器能夠商業化生產,以便其他人也能擁有它們。Lisp 機器的發明者,超級駭客理查·格林布拉特,制定了一個非傳統駭客公司的計劃,該公司將緩慢但穩步地成長,不使用炒作,並且不像你的標準美國公司那樣貪得無厭和無情。他的目標是提供一種支持駭客和駭客行為的替代方式,並為世界提供 Lisp 機器和優質軟體,而不是僅僅最大化利潤。這意味著在沒有大多數外部投資的情況下運作,因為投資者會堅持傳統方法。這家公司是 Lisp Machines Incorporated,通常稱為 LMI。
Lisp 機器專案的其他人員認為這行不通,並批評格林布拉特缺乏商業經驗。作為回應,格林布拉特找來了他的朋友諾夫斯克,諾夫斯克在幾年前離開實驗室進入了工業界。諾夫斯克被認為在商業方面經驗豐富。他很快就用最像商業的背後捅刀證明了這種印象的正確性:他和另一群駭客拋棄了格林布拉特,組建了另一家公司。他們的計劃是尋求大量投資,盡可能快速成長,引起轟動,並且讓魔鬼帶走任何或任何被淹沒在其中的東西。儘管駭客只會得到公司計劃賺取的財富的一小部分,但即使是那麼多也足以讓他們致富!他們甚至不必更加努力地工作。他們只需要停止像以前那樣與他人合作。
這導致了兩家相互競爭的 Lisp 機器公司:格林布拉特的 LMI 和諾夫斯克的 Symbolics(在人工智慧實驗室周圍通常稱為「Slime」或「Bolix」)。人工智慧實驗室的所有駭客都與其中一家或另一家有關聯,除了我,因為即使 LMI 也涉及我不願做出的道德妥協。例如,格林布拉特反對專有作業系統軟體,但贊成專有應用程式軟體;我不希望拒絕分享任何一種程式。[2]
Symbolics 直接獲得了數百萬美元的投資,並不斷挖走麻省理工學院的所有人,除非他們被焊死在那裡。格林布拉特設想人們在 LMI 兼職,在人工智慧實驗室兼職,以盡量減少對實驗室的創傷。Symbolics 指責存在利益衝突,迫使 LMI 的人員也離開麻省理工學院。突然之間,我成了最後一個駭客,一個人是不夠的。實驗室正在走向衰亡。
我強烈懷疑人工智慧實驗室的毀滅是一場蓄意的行為。一旦商人得到金蛋,他就會殺死鵝來確保他擁有壟斷地位。
對我來說,回憶起這段時間是痛苦的。留在實驗室的人是教授、學生和非駭客研究人員,他們不知道如何維護系統或硬體,或者不想知道。機器開始損壞並且永遠無法修復 [3];有時它們只是被扔掉了。所需的軟體變更無法進行。非駭客對此的反應是轉向商業系統,並帶來了法西斯主義和授權協議。我過去常常在實驗室裡閒逛,穿過晚上如此空蕩蕩的房間,這些房間過去曾經擠滿了人,心想:「哦,我可憐的人工智慧實驗室,你正在走向衰亡,而我無法拯救你。」每個人都預料到,如果訓練出更多的駭客,Symbolics 會將他們挖走,因此甚至似乎不值得嘗試。實驗室管理部門沒有努力團結我們,麻省理工學院的管理部門的行為像一家逐利的營利性公司一樣,進一步使人們士氣低落。
過去,駭客會不時離開,但新來的駭客會由留下來的人訓練來取代他們。現在整個文化都被消滅了,沒有留下足夠的東西來為新人提供榜樣,也沒有偉大之處來吸引最優秀的人來到這裡。例如,駭客過去常常每天一起吃晚餐(通常是中餐)。沒有人每天都在那裡,但你可以指望在晚餐時間找到其他人一起吃飯。現在這種做法瓦解了,當人們不再期望找到其他人一起吃飯時,他們就不會計劃在通常的時間餓著肚子出現,從而加劇了這種影響。
整個人工智慧實驗室過去有一個共同的電話號碼和一個公共廣播系統。(電話的分機號碼是 6765,我們回答「6765」或「20 的費波那契數」,因為 6765 是第 20 個費波那契數。)很容易打電話聯繫到任何人。現在大多數人和終端機都搬到了 6765 無法到達的其他樓層,而 9 樓,實驗室最初的心臟,正在堆滿機器。這種變化進一步降低了實驗室的社會凝聚力。現在我甚至無法打電話詢問是否有人餓了,也沒有人可以通過電話聯繫到我。
就這樣,我一下子失去了我的社交網絡、我以正當方式追求事業的機會,以及我幫助建立的大部分東西。我感覺自己是滅絕部落的最後倖存者,註定要在一群不理解我的陌生人中度過一生。如果一個現有的且以前健康的實驗室無法在壓力下倖存下來,那麼建立一個具有人工智慧實驗室優良品質的新實驗室的機會就不大了。電腦產業不會願意像黃金法則要求的那樣讓我與其他駭客分享。我開始尋找一份不涉及電腦的新職業,但不期望能找到一份,並且看不到除了從事會計程式或其他駭客(包括我)不會感興趣的事情之外的任何未來。這將是一種毫無意義的生活,但至少我不會因為拒絕與其他駭客分享(如果他們不想要我正在做的事情)而感到羞恥。我不確定這是否比更直接的自殺形式更好。
在大約一年的時間裡,有 LMI、Symbolics 和人工智慧實驗室的殘餘。Lisp 機器作業系統由這三方共享。Symbolics 駭客會不時回應錯誤報告,說:「這個問題無法在目前的系統上修復。請等待我們的新機器。」這是為了讓新機器聽起來更像是一種改進。我很快宣布我已經修復了這個錯誤,這對我來說非常有趣。
戰爭爆發
但情況會變得更糟,因為 LMI 並沒有像 Symbolics 大聲預測的那樣失敗。它正在製造和銷售 Lisp 機器,並且銷售價格遠低於 Symbolics,Symbolics 有巨額投資需要彌補,並且有許多薪水要支付。大約一年後,Symbolics 意識到,如果不採取更激烈的措施,他們廣為宣傳的不可避免的勝利就不會發生。他們的計劃:結束軟體改進的三方共享。由於 LMI 的規模小得多,他們預計 LMI 將無法跟上他們的步伐。(人工智慧實驗室不再被認為是一個重要的貢獻者。)
Symbolics 要求人工智慧實驗室接受新條款:使用 Symbolics 進行的改進,但不與 LMI 分享 [4]。這一要求以「新語」風格宣布,是一種偉大的慷慨行為。實際上,即使允許麻省理工學院繼續使用他們的改進,也只是一種策略,旨在將實驗室鎖定在其中,以便它為他們提供錯誤報告和演示,並僅向他們購買。這並不是一個不尋常的動機。許多公司正是因為這個原因而向麻省理工學院捐贈他們製造的電腦。但通常他們會盡量通過慷慨而不是揮舞鞭子來獲得麻省理工學院的合作。
Symbolics 無疑期望實驗室立即屈服並完全切換到他們的軟體品牌。但我拒絕屈服,拒絕被徵召去幫助 Symbolics 對抗 LMI。LMI 更值得我的幫助。不再允許保持中立,我將反擊那些強迫我戰鬥的人 [5]。
我沒有使用 Symbolics 的改進,而是對最後一個共享系統進行了類似的改進。實驗室的大多數使用者繼續使用麻省理工學院系統;有些人是因為討厭 Symbolics,有些人是因為他們認為它在技術上更勝一籌,有些人是因為他們可以更自由地更改它。在過去的一年半裡,我一直在這樣做,使麻省理工學院系統保持同樣好,有時甚至更好。由於 LMI 可以使用我所做的所有改進,LMI 也擁有一個同樣好的系統。Symbolics 拒絕分享的主要結果是使用者因兩個系統之間的不相容性而遇到很多麻煩。
通常,我讓 Symbolics 設計一個新功能,然後查看他們的文件並實施一些基本相容的東西。即使不關注他們,我也可以同樣好地改進系統,但這將是一個糟糕的策略。他們可以逐字複製我的改進,並將他們的時間花在額外的改進上。或者他們可以忽略我的設計,並實施一些類似但不相容的東西,給所有使用者帶來麻煩。就像在自行車比賽中一樣,如果你緊跟在另一個人後面,工作量會少很多。作為一個人與一個大型團隊比賽,我需要這種優勢。我可以輕鬆地衝到前面,但這不是有效利用我的精力的方式。
Symbolics 反擊,威脅要提起訴訟(雖然他們尚未正式提告),並試圖讓我被開除。謠傳他們每天多次查看我的電腦郵件,想找出可以指控我的事證;有一次他們被抓包,結果反而對他們自己不利。(以我的原則,我不會採取會懲罰所有人的安全措施來阻止他們。)他們認為如果有人不勞而獲是很糟糕的事;寧可浪費東西,也不願讓他們的競爭對手與他們均霑其利。這種分裂正是癱瘓我們國家的原因。
透過這樣反制 Symbolics,我不僅能免於屈服於他們的條件,也能幫助實現正義,並讓他們因摧毀舊 AI 實驗室而受到應有的懲罰。最初我也希望能提供一個自給自足的核心,以重振實驗室。但是沒有人加入我;現在每個人都只專注於自己的研究。
我現在該往哪裡去?
Symbolics 從未在軟體方面取得優勢,但他們的新型、更快速的機器比 LMI 的新型、更快速的機器更早準備就緒。現在他們已經交付許多這些機器給 MIT,而我的使用者們正轉向使用它們。在那些機器上使用 MIT 系統版本並不實際,因為這些機器差異太大了。
使用者的流失讓我難以驗證我的新軟體是否真的能運作。但幸運的是,我將能夠撐夠久,以阻止 Symbolics 最終獲勝。LMI 剛剛開始交貨。很快他們就會非常成功,並自行支持系統開發,而 Symbolics 將會面臨精實且積極的競爭。一旦 LMI 能夠在沒有我的幫助下繼續前進,Symbolics 最終受到的懲罰將會完全安排妥當。到那時,我就可以停止 Lisp 機器的相關工作了。我已將今年感恩節訂為停止工作的時間。
一旦我安排好對作惡者的懲罰,就該是我開始重建他們所摧毀之物的時候了。
它無法在 AI 實驗室重建。MIT 試圖將這裡完成的任何有用的東西授權出去,想留在這裡並繼續分享本身就是一場掙扎。而且身邊圍繞著 Symbolics 的機器和半吊子的見利忘義之徒,一點也不有趣。我需要重新開始生活,而第一步就是遠離過去的廢墟。因此,我打算辭職。
它無法透過開發 Lisp 機器來重建。MIT 聲稱擁有 Lisp 機器軟體的版權,因此它只能秘密分享。(LMI 是個例外;他們與 MIT 有合約。)這種地下合作總比沒有好,但它無法產生一種新的生活方式。那需要公開、公眾、廣泛的合作。開發 Lisp 機器系統似乎比讓 Symbolics 預設獲勝更正確,但這不是一個適合長期生活的方式。基於同樣的原因,我不能為 LMI 工作,即使他們願意讓我的工作部分公開。在戰爭中我可以妥協,但當涉及到建立美好的事物時,這種妥協是沒有用的,因為它會使我建立的任何東西都無法變得美好。
相反地,我選擇了一個雄心勃勃的專案,它直接針對商業化的、充滿敵意的生活方式的根源。我將要撰寫 GNU,一個完整的 Unix 軟體系統(核心、編譯器、工具程式和文件)的替代品,免費提供給所有人。
GNU 將使駭客們更容易決定透過分享和合作來生活。使用電腦需要軟體系統。現在,由於沒有免費的軟體系統可用,拒絕使用專有軟體是一種巨大的犧牲。但是一旦有理想的免費軟體系統可用,這種壓力將永遠解除。駭客們將可以自由分享。
我將在感恩節開始。我正在向電腦製造商請求捐款以支持這項事業,但即使我必須當服務生,我也會去做。已經有其他懷念舊時代的程式設計師響應這項事業。加入並提供幫助吧!也許 AI 實驗室的舊精神將會再次復甦。
駭客精神永存
Richard M Stallman
快樂駭客
註腳
- 我熱愛 AI 實驗室的無政府主義式的生活方式和運作方式,但那並非真正的完全的無政府主義者。我並未呼籲廢除國家及其許多有用的活動,以及以民主方式制定社會決策的可能性。請參閱為何我們需要國家。
- AI 實驗室在兩家公司之間保持中立;我樂於成為這種中立性的一部分。
- AI 實驗室的 PDP-10 在 1982 年 2 月故障,且從未修復。
- Symbolics 在 1982 年 3 月 16 日發布最後通牒,巧合的是我的生日。我認為那天是 Symbolics 攻擊 AI 實驗室和 LMI 的日子,目的是征服前者以摧毀後者。
- 諷刺的是,徹底的衝突將我從絕望中拉了出來,它向我展示了一些值得奮鬥的正面事物。我不再迷失方向,沒有前進的方向。一場鬥爭從天而降地落到我身上——一場值得我竭盡全力去擊敗的侵略。