論壇文章
開放軟體的社會動力學 

虛擬的知識創造社群譜出大師與學生的兩個傳奇 

史丹佛大學教授克努斯(D.E. Knuth)1969年出版的經典《電腦程式的藝術》(The Art of Computer Programming, I)第一冊採用19世紀以來通用的莫諾鑄排機人工排版,印刷簡單典雅與內容相得益彰。隨後照相排版機發明,電腦排版成為出版主流。1976年《電腦程式的藝術》第二冊用電腦排版,克努斯卻很不滿意。他覺得科技進步,優美字型反而流失(特別是S字母的反曲線),優雅的數學式子也不再。於是,他發願要自己寫一個排版程式,來配合新的出版技術。1984年大致完成發表成書--The TeX Book。附有程式源碼的這本書代表了一個前所未有的創舉:公開軟體程式,讓大眾自由使用,一起發現錯誤,回報給原創者,持續地改良軟體。

這個烏托邦式的宣示,居然得到愛自己動手的許多玩家的熱烈回饋,進而延伸TeX的功能。20年來TeX透過業餘者的力量,由最早的DPD-10電腦擴展到各種電腦,也由最早的英文擴展到中文及其他語言。今天最普及的版本LaTeX是美國科學家藍波特(Leslie Lamport)寫的TeX巨集程式,把版面配置和文字分開處理,讓TeX使用起來更方便。雖然有很多商業排版工具,最新出版、印刷精美的人工智慧教科書Artificial Intelligence: A Modern Approach第二版,還是用LaTeX開放軟體來排印的。

Unix雖然是美國電信電話公司(AT&T)的產品,起初卻是幾個工程師的業餘作品。當時電腦公司刻意讓不同公司的電腦、軟體、周邊設備不相容。Unix的設計理念,就是要打破壟斷,使消費者不受制於一家公司。之後,AT&T將Unix納入公司正式編制,轉為商業發行。Unix還是在美國加州大學柏克萊分校,以開放軟體繼續發展。1984年美國麻省理工學院的程式人員斯托曼(Richard Stallman)索性創立GNU計畫,開發不受商業授權條款限制的Unix系軟體,並擬定開放軟體可被自由取得、研究、修改、再發行等使用的GPL 授權方案。GNU計畫中,唯獨作業系統核心的進展緩慢。最後有賴遠在芬蘭赫爾辛基大學的學生托瓦茲(Linus Torvalds)「只為樂趣」發展了Linux核心,才讓GNU加上臨門一腳,達成完整免費Unix系軟體的終極目標:GNU/Linux,一般稱為Linux。

一般容易看到開放軟體的免費經濟層面,而忽略了更深一層的社會意義:網際網路與社會軟體(如新聞討論組)孕育出無數的虛擬學習社群與知識創造社群,可以產生顛覆性創新,螞蟻雄兵能撼動巨型公司,微軟也不例外。全世界參與Linux發展的成千軟體玩家,利用自己的時間,學習瞭解原始程式碼,修改程式、提出建議,如果獲得採納進入正式版本,就成了自由軟體運動的英雄,對抗大編制團隊發展的商業軟體。雷蒙(Eric Steven Raymond)在《大教堂與市集》(The Cathedral and the Bazaar)書中說,這種社會動力創造出的「簡直就是奇蹟」。

雷蒙在書中指出,在網際網路時代之前,推動開放軟體呈現出一種興建「大教堂」的風格,由少數菁英巨匠預先規劃,各自獨力作業,最後整合完成軟體的開發。托瓦茲發展Linux的風格卻大異其趣:很少的預先設計、儘早且頻繁的釋出、來者不拒的接納、集中的審查修正。因此不同於TeX,托瓦茲自己只寫了Linux其中2%的程式碼。事實證明「市集」策略更能奏效,世界級成熟的Linux作業系統,在全球數千名業餘者熱心參與下,五年之後成形。

開放分享的例子不侷限於軟體,網路上甚至還有哥本哈根大學生倡導的「開放啤酒」配方!還像軟體般,命名為Our Beer第一版。托瓦茲說:「任何東西都可走開放軟體,這是未來趨勢。」
(轉載自『科學人雜誌2006年2月號』)