去年10月25日,自由軟件之父理查德·斯托曼(Richard Stallman)到訪中國,此行目的是參加在中國召開的2009年哲思自由軟件峰會。這位美國國家工程院院士長發披肩、長髯垂胸,一件大紅T恤讓他更加搶眼,毫無修飾的樸素外表,使他看起來像個鄰家大叔。其實這位“大叔”是世界最早的黑客之一,哈佛高材生,美國自由軟件運動的精神領袖,以及自由軟件基金會的創立者。90年代以后,斯托曼大部分時間是一個政治運動倡導者,為自由軟件辯護,對抗軟件概念專利及版權法的擴張,他在世界各地奔走,傳播自由精神。
斯托曼抵達中國之際,正逢微軟Windows 7新鮮出爐。這位56歲的科學家忍不住發表感慨:“微軟Windows 7與其前一代操作系統Vista一樣惡毒,微軟沒有改變它任何卑鄙的地方。可能微軟在Windows7中修正了一些Vista的錯誤,但他們并沒有解決Vista當初故意造成的核心問題。斯托曼認為,已經有人在Windows操作系統里發現了“間諜”功能,可以向外界發布關于用戶行為的報告。Windows還有數字版權保護制度(DRM),而這個技術就是為了限制用戶在自己的電腦上使用自己的文件。此外還有“后門”,微軟可以強制性地修改他們的軟件,甚至還可以發出指令讓用戶的電腦停止工作。
斯托曼與微軟,或者說與“專有軟件”的“恩怨”,可不僅僅是微軟新發布的新系統,一切都要從“軟件自由之路”的起點說起。
軟件生來即自由
最初的計算機類似中國的算盤,是一個純粹的機械裝置,只有硬件,沒有軟件。直到20N紀中葉,隨著電子管、晶體管的發明,計算機的電子成分才超越了機械成分,逐步演化成了現在的電子計算機。在這個過程中,出現了軟件,并起到越來越重要的作用,最終成為了計算機的靈魂。最初的軟件世界里,當然沒有“自由”與“專有”之分,公司在出售的硬件里附帶了軟件,包括源代碼和文檔。人們根據自己的需要,修改軟件,自由地使用硬件,人與人之間互相分享、協作。因此,按照自由軟件擁護者的說法,“軟件天生就是自由的”,這一點的確是事實。
但是,后來的情況發生了很大變化,1976年2月3日,比爾·蓋茨發表了著名的《致電腦愛好者的一封公開信》,抱怨未經授權使用Altair BASIC的情況太普遍。不久,專有軟件迅速發展成為軟件界的主流。
專有軟件要求人們購買軟件后才能使用,它不允許自由拷貝和分發,也不提供源代碼,它只提供二進制文件。這一轉變被當時稱為“偉大的改變”,被認為是人類文明的一大進步。然而,理查德·斯托曼并不這么想。他認為,一個好的軟件,應該自由自在地讓人取用。軟件不應該拿來做為相互傾軋、剝削的工具。
這個充滿理想主義、自由主義的猶太科學家,1953年生于美國紐約曼哈頓區。在度過了并不快樂的童年之后,他進入哈佛大學,期間成為自由軟件社團成員,找到了自己的“烏托邦”。后來進入麻省理工大學人工智能實驗室工作,更是大展自己的計算機天賦。對他來說,開發操作系統就像喝水一樣,是件很自然的事情,那段日子成為他“最美好的時光”。隨著專有軟件的日漸流行和自由軟件社團的日漸瓦解,理查德·斯托曼變成了孤單的“最后的真正黑客”,1984年,他放棄了在麻省理工大學的工作,發起了GNu計劃,以GNU通用公共許可證來保障自由軟件的自由。次年創立自由軟件基金會(FSF),以勢單力薄的自由軟件運動領袖的身份對抗專有軟件稱霸的主流世界。
開啟軟件自由之路
眾所周知,如果沒有操作系統,我們幾乎沒法使用計算機,可是在1983年,所有的操作系統都是專有軟件。于是理查德·斯托曼決定開發一個全新的、完整的、自由的操作系統——這就是后來赫赫有名的GNU計劃,又稱革奴計劃。
在那個時候,ATT公司發明的UNIX已經非常流行,功能已經十分強大。為了讓用戶能夠習慣新的、自由的操作系統,斯托曼將GNU設計成與UNIX兼容,因此UNIX用戶很容易使用GNU操作系統,GNU計劃采用了部分當時已經可自由使用的軟件,例如TeX排版系統和XWindow視窗系統等,同時GNU計劃也開發了大批其他的自由軟件。
理查德·斯托曼不僅是非常優秀的科學家,同時他深知如何通過法律途徑讓自由軟件一直“自由。下去。他發明了GNU通用公共許可證(GNUGPL),GNU GPL是一個具有法律效力的自由軟件許可證,在GNU GPL的保護下,已經涌現出成千上萬的優秀的自由軟件包。這些自由軟件包賦予了用戶使用計算機的自由。在自由路上行走
90年代初,在理查德·斯托曼和自由軟件基金會的帶領下,科學工作者們幾乎做完了所有的工作,但是GNU操作系統還缺乏_個非常關鍵的部件:內核。1991年,林納斯·托瓦茲(Linu$TorvMds)寫了一個操作系統內核:Linux。剛開始Linux并不是一個自由軟件,但是在1992年,Linus將Linux的許可證改為GNU GPL,因此Linux就成了自由軟件。Linux補充了GNU操作系統的空缺。于是,GNU和Linux結合在一起就變成了一個完整的、自由的操作系統:GNU/Linux。
后來GNU/Linux越來越流行。人們發現它不僅可以免費、自由地使用,而且功能非常強大,非常穩定可靠,在很多方面都優于專有軟件。
芬蘭學者海曼尼認為,Linux與Windows的首要區別在于Linux的開放性:“科學研究者允許同行檢驗和使用他們的發現,并且用于進一步的測試和發展。參加Linux工程的黑客允許所有其他人使用、測試和開發他們的程序。在科學界,這叫做科學倫理。在計算機編程界,這叫做開放源代碼模式。”
自由軟件開發的全過程一般是由社區進行。由全球志愿者組成的社區開發機制是:集體開發、合作創新、對等評估;社區開發不直接考慮市場需求,其推出的“社區發行版”可在網上自由免費下載,社區不負責對已往的發行版進行持續回饋式的糾錯改錯、打補丁,也不負責向公眾或用戶提供支持或服務。因此,自由軟件在實用性、與個體客戶之間的對接上存在不少問題。所以對于普通大眾來說,“自由軟件”還是十分陌生的名詞,我們依然習慣使用微軟的操作系統,而只有專業的軟件工作者才會花時間學習使用Linux系統,了解其強大的功能和創新的技術。可見,自由軟件未來之路還將充滿坎坷和不確定因素。
但我們也看到,經歷了23年的自由軟件運動之后,自由軟件已經取得了巨大的成就,如今的巨型互聯網公司,像Google雅虎、新浪等,它們的服務基本都建立在自由軟件的基礎之上。自由軟件運動在研究、教育、出版、互聯網、IT工業、法律等領域顯示出了與眾不同的價值和生命力。
責任編輯 林 京