第2章 黑客路漫漫
紐約大學計算機學院坐落在沃倫·韋弗大樓(Warren Weaver Hall)之中,和著名的華盛頓廣場公園相隔兩個街區(qū)。大樓周圍充斥著從空調(diào)壓縮機里傳出來的股股熱浪,這陣熱浪好似屏障一般,驅(qū)散著各路閑雜人等。倘若沖破這道屏障,面前還會出現(xiàn)另一道防線:一個安檢處攔在了整座大樓的唯一一道入口前面。
走過安檢口,氣氛似乎緩和了些??墒牵琅f能看到各處林立的警示牌指向消防出口。一路下來,可能會有這樣的感受:哪怕是在 2001年9月初的紐約這樣一座現(xiàn)代化的都市之中,也要記得,小心駛得萬年船。
當繼續(xù)向前,走到中央大廳的時候,這份謹慎的感受卻被一群人沖破了。他們之中,有些看起來像是紐約大學的學生。大部分則蓬著頭,好似等待著一場盛大的音樂會。在這短暫的上午,這群人占據(jù)了沃倫·韋弗大樓。這下子,安檢人員反倒閑下來了。他們斜躺坐在椅子上,看著電視劇。要是哪位訪客,問起“演講”的事,這位保安就會連話也懶得說一句,干脆沖著旁邊的大禮堂一聳肩,然后繼續(xù)看他的電視劇。
有如此神通,能讓保安放半天假的這位演講者,此時正坐在大禮堂中。他就是理查德·M·斯托曼:GNU工程的創(chuàng)始人,自由軟件基金會的第一任主席,1990年麥克阿瑟獎(MacArthur Fellowship)獲得者,同年美國計算機協(xié)會(Association of Computing Machinery)格雷斯·莫瑞·霍普獎(Grace Murray Hopper Award)獲得者,2001年日本武田基金會(Takeda Foundation)的武田獎(Takeda Award)共同獲得者。當然,他也是人們熟悉的那位麻省理工學院人工智能實驗室的黑客。前陣子黑客相關的網(wǎng)站上,包括 GNU 工程的官方網(wǎng)站上(http://www.gnu.org),都刊載了一條新聞:理查德·M·斯托曼將在他的家鄉(xiāng)紐約曼哈頓發(fā)表演講,回應微軟在前些時候關于 GNU 通用公共許可證(GNU General Public License)的抨擊。
斯托曼演講的主題,是關于自由軟件運動的歷史和未來。這次演講的地點尤為重要。不到一個月前,微軟的副總裁克雷格·蒙迪(Craig Mundie)就是出現(xiàn)在紐約大學斯特恩商學院(Stern School of Business),抨擊 GNU通用公共許可證——簡稱 GPL。GPL是斯托曼16年前想出來的法律武器,用來對抗工業(yè)界中越來越盛行的專有軟件。1980年,斯托曼經(jīng)歷了那次施樂打印機事件之后,預感到了軟件專有化的潮流逐漸到來。為了抗衡這潮流,斯托曼提出了自由軟件的概念:用戶可以自由地使用、學習、修改和再發(fā)布軟件。如今,GPL已經(jīng)儼然成為了自由軟件社區(qū)的核心工具。簡單來說,GPL是一個軟件使用許可證,它利用版權法,將自由軟件鎖定在公眾可以自由使用和修改的領域。一旦鎖定,這個軟件就不會再被專有化。不僅僅是這個軟件本身被鎖定為自由軟件,這個軟件的任何衍生品也會成為自由軟件。也就是說,倘若某個軟件以 GPL 形式授權發(fā)布,這個軟件以及任何它的衍生品,都可以被用戶自由使用和修改。所謂一個軟件的衍生品,也就是任何使用了該軟件的代碼的作品。哪怕一個軟件僅僅使用了某個 GPL 授權軟件的一小部分代碼,這個軟件也將被要求以自由軟件形式發(fā)布。恰恰是這個原因,軟件業(yè)的很多人把 GPL 稱為病毒式許可證,因為它像病毒一樣,“感染”所有它觸及到的程序 。
隨著信息產(chǎn)業(yè)的發(fā)展,全球越來越依賴軟件和軟件標準。在這樣的環(huán)境下,誰都無法忽視 GPL。哪怕曾經(jīng)嘲笑過 GPL 的公司,也不能再把它視為空中樓閣。因為越來越多的軟件都是以 GPL形式授權:Linux,一個最初由芬蘭大學生林納斯·托瓦茲(Linus Torvalds)于1991年開發(fā)出的類 UNIX 操作系統(tǒng)內(nèi)核、GNU Emacs、GNU 調(diào)試器、GNU編譯器等都是以 GPL授權的。這些工具在一起,形成了一個完整的自由操作系統(tǒng)。世界各地的黑客為這套操作系統(tǒng)貢獻著代碼。每個黑客也可以自由地擁有這樣一套操作系統(tǒng)。如今,很多計算機公司都不再把這樣一套自由操作系統(tǒng)視為威脅。相反, IBM、惠普、Sun等公司都依賴這個操作系統(tǒng),并在這套系統(tǒng)之上開發(fā)和出售自己的軟件產(chǎn)品。
在黑客這個圈子里,這個操作系統(tǒng)也被當作戰(zhàn)略武器,用來對抗微軟公司。這個總部坐落于華盛頓州雷德蒙德市的軟件公司,從 20世紀 80年代開始,已經(jīng)儼然成了軟件業(yè)的壟斷巨頭。作為 Windows操作系統(tǒng)的擁有者,微軟公司面對業(yè)界同行轉(zhuǎn)向 GPL許可證的事實,已經(jīng)再也坐不住了。在 Windows 中,幾乎每行代碼都是專有的。至少按照法律條款看,它歸微軟所有。倘若有誰不慎在 Windows 中放入一點 GPL 授權的代碼,整個 Windows 產(chǎn)品都會被“感染”為自由軟件。在微軟看來,這就好比把哪吒請進了龍宮,整個公司都得翻江倒海,它必須把整個操作系統(tǒng)的代碼都以自由軟件的形式發(fā)布。競爭對手就可以自由地復制、修改這個系統(tǒng),并銷售修改后的版本,這可能會瞬間顛覆微軟公司龍頭老大的地位。
對軟件業(yè)來說,二十年的時間可是個不短的年頭。遙想二十多年前的 1980年,斯托曼還在咒罵著人工智能實驗室的施樂打印機;微軟,這個被當今黑客視為全球軟件業(yè)巨頭的公司,還是個私人的創(chuàng)業(yè)小公司;而 IBM,這個被當年的黑客視為全球計算機業(yè)巨頭的公司,還沒推出個人計算機;至于 IBM 的個人計算機推動了整個計算機業(yè)的發(fā)展,則是之后的事情了。而當今人們習以為常的很多技術,在那時都還沒出現(xiàn)。包括 WWW 網(wǎng)絡、衛(wèi)星電視、32 位終端游戲機等。如今的很多計算機巨頭,在當時也一樣還沒建立。包括 AOL、Sun、亞馬遜、康柏、戴爾等。
高科技產(chǎn)業(yè)在這短暫時間內(nèi)迅速成長的過程中,則充斥著關于GPL的爭論。GPL的支持者聲稱:由于計算機硬件平臺的短暫壽命,為了避免買到過時產(chǎn)品,用戶會傾向于購買大品牌的產(chǎn)品。由此帶來的結(jié)果,造成了軟件市場贏者通吃的局面 。而如今,由于軟件被認為是專有的,具有壟斷地位的公司就會濫用它的權利,使得整個產(chǎn)業(yè)停滯不前。壟斷企業(yè)會堵住所有去路,讓競爭者無法生存,也讓后起的創(chuàng)業(yè)公司無處立足。
GPL的反對者則恰恰相反。他們聲稱銷售軟件和購買軟件一樣,具有風險。倘若沒有法律保證軟件可以被專有化,人們將再也看不到殺手級應用的繁榮(所謂殺手級應用,即某種技術足以打開一片全新市場),公司也將失去繼續(xù)創(chuàng)新的動力。正如微軟副總裁蒙迪于5月3日在紐約大學所說的,G P L的“病毒”特性為各大公司帶來了威脅,威脅著它們賴以生存的軟件產(chǎn)品。蒙迪道:
“它嚴重地威脅著獨立的商業(yè)軟件。出售軟件不僅僅是要收回發(fā)行成本,還有更多的人力附加價值。而 GPL則讓這種買賣變成天方夜譚。 ”
在過去的十年中,無論是 GNU/Linux 還是 Windows,都有了長足的進步,贏得了各自的成功。兩者雙贏的局面,似乎使得無論支持或反對 GPL 都有了足夠的理由。但是,作為像斯托曼這樣的自由軟件活動家來說,成功并不是事情的關鍵。真正的問題并不是自由軟件和專有軟件哪個更為成功,而是哪個更道德。不管怎么說,這場自由軟件與專有軟件的戰(zhàn)役在軟件工業(yè)發(fā)展史上是一次重要的事件。哪怕像微軟這樣強大的企業(yè),也需要第三方軟件開發(fā)者。恰恰是他們開發(fā)的工具、程序、游戲,才使得 Windows 系統(tǒng)更加吸引用戶?;仡櫧贶浖I(yè)的發(fā)展,哪怕不提自家公司的成長,蒙迪依舊提醒他的聽眾,不要被自由軟件運動的風潮吹昏頭腦:
二十年的經(jīng)驗表明,保護知識產(chǎn)權的經(jīng)濟社會,配合降低研發(fā)成本的商業(yè)模式,可以極大地促進經(jīng)濟發(fā)展和財富分配 。
這段來自蒙迪的警告,成了斯托曼今日演講的背景?,F(xiàn)在,距離蒙迪演講后不到一個月,斯托曼就站在演講禮堂前方,背對著黑板,摩拳擦掌,迫不及待地準備發(fā)表他的演說了。
這二十年來,相比軟件業(yè)翻天覆地的變化,斯托曼的改變則更加明顯。當年他曾是那位精瘦、不留胡須的黑客,曾在那臺 PDP-10前,沒日沒夜地和它暢談。而如今,在講壇上的那位,已人近中年,發(fā)福、留發(fā)、蓄須。他會花大把時間回復郵件,在公眾或程序員面前發(fā)表演說、組織演講——正如今天這次一樣。他今天穿著海藍色的 T恤和一條棕色的滌綸褲子,看起來好似剛剛踏出沙漠的隱士。
人群之中,則充斥著和斯托曼有著類似打扮的聽眾。很多人帶著筆記本電腦和蜂窩調(diào)制解調(diào)器,以及各種錄音錄像設備,準備把斯托曼的演講傳上互聯(lián)網(wǎng),那里還有更多的聽眾等著他的言論。聽眾中,男女比例大約 15∶1。大約每七八個女聽眾里,就有一位拿著企鵝的毛絨玩具,這是 Linux的吉祥物,還有些女聽眾則抱著泰迪熊。

人潮涌動,斯托曼則離開了演講臺,坐在第一排的聽眾席上,把一直運行著的筆記本電腦拿出來,開始敲鍵盤。接下來的十分鐘里,進來的學生、教授和粉絲逐漸走到他旁邊,圍觀他工作,而斯托曼對此則完全不在意。
既然在大學演講,學院派的規(guī)矩是少不了的。演講嘉賓介紹則是重要一環(huán)。對斯托曼的介紹可謂陣容強大。紐約大學的兩位教授分別為他做兩段開場白。第一位,是來自紐約大學斯特恩商學院高新技術研究中心的主任,麥克·烏列茨基(Mike Uretsky)。
“大學之地,爭辯之所;爭辯之處,興趣所在?!睘趿写幕f,“本次講座,恰是秉承此道。個人愚見,所謂開源,甚是有趣?!?/p>
還沒等烏列茨基把話說完,斯托曼就站起來揮著手喊道:
“我是搞自由軟件的,開源是另外一碼事!”
這一嗓子引來了一陣哄堂大笑。笑聲褪去,掌聲漸起。當下,聽眾中絕大多數(shù)都對斯托曼的這份咬文嚼字有所耳聞,更知道在 1998年,他和開源陣營支持者的那次爭論。斯托曼的這一行為,就如同整點新聞一般,早在大家意料之中。
烏列茨基草草結(jié)束介紹,走下講堂。接下來對斯托曼做介紹的,是紐約大學計算機系的教授埃德蒙·舍恩伯格(Edmond Schonberg)。作為一個計算機程序員,又是 GNU 工程的貢獻者,他很清楚該如何用詞。他站在當代程序員的角度,扼要回顧了斯托曼的事業(yè)。
“放眼全球,腳踏實地,斯托曼是典范。他嚴肅地審視了軟件源代碼不對公眾公開的事實,發(fā)展出了一套嚴密的邏輯體系。這套體系敦促著我們,讓我們不得不重新思考如何開發(fā)軟件,何謂知識產(chǎn)權,以及軟件社區(qū)究竟是何物?!?/p>
舍恩伯格的致辭迎來了更多的掌聲。斯托曼在掌聲中,合上筆記本電腦,挪出身子,走上講臺。
演講開始,斯托曼的表現(xiàn)更像是個老練的喜劇演員,讓人沒法察覺這是一場嚴肅的政論講座?!拔沂紫纫兄x微軟公司給了我這樣一次機會,來到貴校,暢抒己見,”斯托曼玩笑道,“過去幾周里,我都覺得自己像個沒落作家,自己的作品都無人問津?!?/p>
為了照顧新人,斯托曼用一套類比簡要介紹了自由軟件。他把軟件代碼比作烹飪菜譜。二者都提供清晰的步驟,說明如何一步一步完成某個特定任務。同時,人們都可以很容易地按照自己的需求,對它們進行修改?!澳悴挥冒凑詹俗V的每一步嚴格執(zhí)行操作,”斯托曼說,“你可以少放點調(diào)料。喜歡蘑菇,放些蘑菇;口味淡就少放鹽;加點胡椒粉什么的?!?/p>
最重要的,斯托曼強調(diào),軟件和菜譜都很容易被分享。倘若有位客人來家里吃晚餐,那么把菜譜給他無非是花些時間,費點筆墨。復制軟件則要求更少,只要輕點鼠標,費點電。而分享之后,起碼有兩份收獲:增進了友誼;同時,下次需要幫忙的時候,對方也會有所回報。
“想象一下,要是菜譜全被封鎖在一個黑匣子里,那會如何?”斯托曼話峰一轉(zhuǎn),“你不知道他們用了什么調(diào)料,只有他們才能更改配方。你如果把菜譜抄出一份,送給朋友,他們就把你叫賊,把你關進牢房,長達數(shù)年。如果你早就習慣了把菜譜傳來傳去,這樣的世界一定會讓你覺得不可理喻??蛇@一切恰恰發(fā)生在專有軟件的世界之中。在這個世界里,很平常的社交行為被嚴格禁止,或者被想方設法避免?!?/p>
類比過后,斯托曼又提起了施樂打印機事件。和烹飪菜譜的類比一樣,打印機事件也是一個稱手的工具。兩者介紹完,聽眾就可以了解到如今的軟件業(yè)究竟發(fā)生了多大改變。斯托曼的介紹把聽眾拉回了曾經(jīng)那個年代,那時還沒有亞馬遜和它的一鍵支付;沒有微軟和它的Windows系統(tǒng);沒有甲骨文數(shù)據(jù)庫。在這樣的背景之下,聽眾有了很大的想象空間,可以不受當下這些所謂的大公司影響,重新審視所謂的軟件所有權。
講起施樂打印機事件,斯托曼輕車熟路。他好似律師在做法庭最后陳詞一般,字斟句酌。當說到卡耐基梅隆大學的那位計算機教授拒絕給他源代碼的時候,斯托曼道: “他背叛了我們,”斯托曼稍有停頓,接著說,“但他不止背叛了我們,更有可能背叛你!”
“你”字一出,斯托曼就伸出食指,指向在座聽眾。聽眾之中,有人稍有皺眉。而斯托曼的目光則移到了前排,一位聽眾正在低頭偷笑。“而且我覺得,他更有可能背叛你”斯托曼指著剛才偷笑的那位聽眾。
這個臨場的包袱,把一個人的竊笑變成了全場大笑。各種行為,好似舞臺劇一般。笑聲中,他總結(jié)道:“要想不被他背叛,你只能盼著晚點投胎”笑聲又起,“因為這位教授承諾,拒絕和地球上大多數(shù)人合作。”
斯托曼一字一頓:“他簽署了保密協(xié)議。”
在這二十年來,理查德·馬修·斯托曼,從當年一個不太得志的學者,成為了一呼百應的運動領袖。這一蛻變本身就飽含寓意。它訴說著斯托曼的頑強與固執(zhí),訴說著他的決心和毅力,更清晰地詮釋了自由軟件運動的價值觀和遠見。這之中,也當然包含了斯托曼編寫的高質(zhì)量代碼,字里行間都凝結(jié)了斯托曼的心血,將他的經(jīng)歷鑄成了計算機界的傳奇。傳奇之上,更能看到 GPL 不可遏制的蓬勃生命力。而作為法律界的一大創(chuàng)新, GPL已經(jīng)被公認為斯托曼的重要成就。
當下,計算機和相關軟件技術已成為整個世界的一大支柱。斯托曼的經(jīng)歷也更彰顯了在如此背景之下,政權民意的風云變化。
這一切的一切,也許恰恰能解釋,為什么斯托曼發(fā)起的運動能如此長久不衰,而很多當年的名牌大廠,卻早已風光不再的原因。遙想當年,1984年,斯托曼剛剛發(fā)起了GNU工程 。面對這一項目,自由軟件運動內(nèi)外都充斥著對這個工程的無視、嘲諷,甚至攻擊。一路走來,雖然 GNU 工程有過幾次跳票延期,但在大多數(shù)時候還能按時交付,完成一個又一個發(fā)布計劃。踏過了十八個寒暑, GNU 工程也日漸成熟,在軟件市場中贏得一席之地。而這近二十年來,自由軟件的理想被斯托曼精心呵護,漸漸傳遍大江南北。
要想了解這潮流背后的緣由,就要兼聽八方言論。這不僅包括斯托曼自己的評價,更要傾聽和他在同一戰(zhàn)壕里作戰(zhàn)的戰(zhàn)友們的敘述。其實,斯托曼的個性并不復雜,倘若堅信“所見即所得”,那么斯托曼這個人就不難被理解。
“想要了解斯托曼這個人,你必須要把各處細節(jié)聯(lián)系起來,看成一個有機的整體”伊本·莫格林說道,他是自由軟件基金會法律顧問,同時也是哥倫比亞大學法學院教授,“在斯托曼身上有著各種古怪脾氣,這也許會把人拒之千里。而這份不同尋常,恰恰就構成了斯托曼這個活生生的人。他對挫敗異常敏感,他對道德準則恪守不渝。他不肯妥協(xié)的個性,在關鍵問題上不肯讓步的固執(zhí),這一切的總和,最終讓我們看到了當今的斯托曼?!?/p>
一個簡單的打印機事件變成了燎原之火,燃遍全球,足以和全球最富有的軟件公司抗衡。要想回顧和解釋這一切,并非易事。首先要了解軟件所有權,以及它是如何走到當今的重要位置的;更要和人類健忘的本性做斗爭;還要能從關于斯托曼的各種神話和攻擊之中,看出本質(zhì)。最后,還要能理解斯托曼在軟件領域的過人天賦;以及他如何把這份天賦用到其他領域;還有在這一過程中的各種成敗得失。
當我請斯托曼做一番自我總結(jié)的時候,他也強調(diào)了莫格林提到的個性和原則:“堅強固執(zhí)是我的本性。很多人在嘗試做一些事,遇到了困難,就退縮放棄了。可我從不言棄。”
他也同樣感激自己的運氣。倘若當初沒有那次打印機事件,沒有其中的各種人事沖突,沒有當年的各種機緣巧合,他也許不會放棄麻省理工學院的研究職位,不會重新抉擇,選擇一條與眾不同的道路,并為之奮斗終身。是身邊的各種因素,最終讓斯托曼得以做出不同凡響的成績。
“我正好有合適的技能,”斯托曼回顧著當初發(fā)起 GNU 工程的決定,總結(jié)道,“除了我以外,沒人在做這事。我就覺得‘責任在身,我若不做,舍我其誰?!?/p>
- [1].事實上,GPL的沒有這么夸張的“威力”。把程序與另一個 GPL許可證的程序放在同一臺計算機上運行并不會把程序也變成自由軟件。斯托曼說:“把一個東西說成是病毒是一種很粗暴的類比,也許把 GPL 比成是吊蘭還稍微貼切一些,如果你把它切下來放到別處,它會繼續(xù)生長?!币私?GNU 通用公共許可證的更多信息,請訪問:http://www.gnu.org/copyleft/ gpl.html
- [2].參考 Shubha Ghosh 于 2000年1月在 Gigalaw.com 上發(fā)表的文章Revealing the Microsoft Windows Source Code。http://www.gigalaw. com/articles/ghosh-2000-01-p1.html
- [3].其實殺手級應用并不一定需要是專有化的。比如說,傳奇的Mosaic 瀏覽器,它的許可證就允許在一定的限制條件下對該程序進行非商業(yè)化的修改。讀者應該這樣來理解:軟件市場就像買彩票一樣,預期的收益越高,越多的人愿意參與其中。有關殺手級應用的現(xiàn)象,Philip Ben-David 2007年12月7日發(fā)表的文章 What Happened to the“Killer App”?對此有清晰的闡述。http://www.ecommercetimes.com/story/5893.html
- [4].參考微軟資深副總裁克雷格·蒙迪的 The Commercial Software Model一文,節(jié)選于他2001年5月3日在紐約大學斯特恩商學院所做的演講。 http://www.microsoft.com/ presspass/exec/craig/05-03sharedsource.asp
- [5].參考微軟資深副總裁克雷格·蒙迪的 The Commercial Software Model一文,節(jié)選于他2001年5月3日在紐約大學斯特恩商學院所做的演講 。 http://www.microsoft.com/ presspass/exec/craig/05-03sharedsource.asp
- [6].GNU 是“GNU’s not Unix”的縮寫。斯托曼在 2001年5月29日紐約大學的演講中,講述了這個縮寫的起源:作為黑客,我們總是想給程序起一些有趣或古怪的名字,因為給程序起名字也是編寫程序的樂趣中的一部分。我們也有一種使用遞歸縮寫的傳統(tǒng)喜好,用這樣的方式表明我們所新寫的程序與某個現(xiàn)有的程序具有一定的相似性……在為 GNU 工程起名字時,我試圖尋找一個遞歸縮寫來表達“Something Is Not UNIX”含義,我用 26 個字母去取代“Something”,但得到的結(jié)果都差強人意,看起來并不像是一個單詞。于是,我決定把Is這個單詞采用縮寫的形式,這樣我就可以得到一個三個字母縮寫詞,也就是說是“Something’s Not UNIX”。我嘗試了各個字母,最終決定選用“GNU”這個詞。GNU作為一個雙關詞,斯托曼建議軟件用戶在發(fā)音時,對第一個字母“g”進行發(fā)音(也就是說,把它讀作“gah-new”)。一方面是為了避免與表示白尾角馬這種非州羚羊的單詞“gnu”發(fā)生混淆,另一方面也是避免與“新(new)”這個形容詞發(fā)生混淆?!拔覀円呀?jīng)為GNU工程奮斗了17年,因此它也一點也不‘新’了?!眮碓矗鹤髡叩墓P記,以及斯托曼 2001年5月29日在紐約大學演講的在線講稿“Free Software: Freedom and Cooperation”。http://www.gnu.org/events/rms-nyu-2001-transcript.txt