亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >GNU操作系統(tǒng)與自由軟件運動 創(chuàng)建者:webmaster 更新時間:2005-05-17 23:15

    最初的軟件共享群體

       1971年,當我開始在麻省理工學院人工智能(AI)實驗室工作時,我成了那里
    的軟件共享群體的一分子,這個軟件共享群體已經(jīng)存在多年。其實,軟件的共享并
    不限于我們這一特定的群體,它的歷史與計算機一樣長久,這兩者之間的關(guān)系就像
    人類很早就交換食譜與烹飪一樣。但我們做得比大多數(shù)人都做得更多。
       AI實驗室當時使用了一種稱為ITS(Incompatible Timesharing System,非兼
    容分時系統(tǒng))的分時操作系統(tǒng),這是我們實驗室工作人員專為Digital PDP-10(那
    個時代的大型計算機)設(shè)計的操作系統(tǒng),而且是用匯編語言開發(fā)的。作為這個群體
    的成員,我是一個AI實驗室的系統(tǒng)黑客,我的工作就是完善這一系統(tǒng)。
       當時我們并不把我們的軟件稱為“自由軟件”(free software),因為這個詞
    語當時還不存在,但事實上那就是自由軟件。每當其他大學或者公司的人要求移植
    或者使用我們的某個程序時,我們總是應(yīng)允的。如果你看到某人在使用一個陌生而
    且有趣的程序時,你總可以要求查看它的源代碼,以便可以讀代碼、對源代碼進行
    修改、或者套用原代碼的一部分來創(chuàng)作新程序。

    群體的崩潰

       八十年代年代初,Digital公司停止了對PDP-11系列的開發(fā),那時情況發(fā)生了巨
    變。以六十年代的標準來看,PDP-11系列的體系結(jié)構(gòu)是精巧和強大的,但無法自然
    地適應(yīng)八十年代的技術(shù)所允許的更大尋址空間。這意味著,幾乎我們所有的程序,
    包括ITS,都一下子報廢了。
       在這前不久,AI實驗室的黑客群體已經(jīng)分崩離析。1981年,從實驗室分離出去
    了一個公司,名為“Symbolics”,幾乎雇走了所有的黑客,剩下的群體盛況難再。
    Steve Levy編寫過《黑客》一書,這本著作十分傳神地描述了這個群體鼎盛時期的
    情況。當AI實驗室于1982年購置了一臺新的PDP-11機器時,系統(tǒng)管理員決定使用
    Digital的非自由分時系統(tǒng),而不是ITS。
       那個時代的流行計算機系統(tǒng),如VAX和68020,都有自己的操作系統(tǒng),但這些系
    統(tǒng)都不是自由軟件:即使為了獲得機器碼可執(zhí)行程序的拷貝,也應(yīng)該簽署不公開協(xié)
    議(nondisclosure agreement)。
       這就意味著,你開始使用計算機的第一步就是要保證不幫助你身邊的人。相互
    協(xié)作的群體是被禁止的。專有軟件(proprietary software)所有者制訂的規(guī)則是:
    “與他人共享軟件就是盜版行為;如果你需要對程序作任何修改,磕頭央求我們吧?!?
       專有軟件社會系統(tǒng)(即聲明用戶不能分享或修改軟件的系統(tǒng))的觀念是反社會
    的、不道德的、完全錯誤的。這一觀點可能會讓一些讀者驚詫不已。但是,對于一
    個基于分裂公眾、使用戶孤立無援的價值系統(tǒng),我們還能說些什么呢?對這一觀點
    感到難以接受的讀者,可能早已對專有軟件熟視無睹,或者從專有軟件工業(yè)的角度
    出發(fā)才作出了這樣的判斷。這也難怪,因為軟件出版商已經(jīng)長期為此努力工作,以
    使人確信對于這一事情只能有一個觀察角度。
       當軟件出版商談到“確?!彼麄兊摹皺?quán)益”,或“禁止盜版行為”時,他們實
    際上所說的東西是次要的。他們在版權(quán)聲明中真正傳遞的信息卻是他們認為不言自
    明的假設(shè),公眾似乎應(yīng)該不加批判地接受之。現(xiàn)在讓我們來逐條地檢查這些假設(shè)。
       假設(shè)之一,是軟件公司具備無可置疑的自然權(quán)力占有軟件,從而有權(quán)凌駕于所
    有用戶之上。如果這確實是一種自然權(quán)力的話,那么無論它對公眾有多大的傷害,
    我們都無法反對。有趣的是,美國的憲法和司法傳統(tǒng)拒絕這種看法;版權(quán)并非一種
    自然權(quán)力,而是一種人為的、由政府強行實施的一種壟斷,以限制用戶拷貝的自然
    權(quán)力。
       另一種沒有挑明的假設(shè)是,軟件的唯一重要意義在于軟件可以允許用戶做什么
    ——而我們計算機用戶不應(yīng)該關(guān)心我們必須接受什么樣的社會。
       第三種假設(shè)是,如果不允許某個公司凌駕于其軟件產(chǎn)品的用戶之上,我們就不
    會有任何可用的軟件,或者永遠不會有所需要的軟件去完成這樣或那樣的特別任務(wù)。
    這個假設(shè)一度顯得頗有道理,但是后來的自由軟件運動表明,我們可以創(chuàng)造出足夠
    多的有用軟件,而無須加以一連串的限制。
       如果我們拒絕接受上述假設(shè),并將用戶置于優(yōu)先的地位,從普通的、常識性的
    道德價值出發(fā)審視這些問題,我們就會得到截然不同的結(jié)論。計算機用戶應(yīng)該可以
    自由地修改程序以適應(yīng)他們自己的需求,可以自由地共享軟件,因為幫助他人是社
    會存在的基礎(chǔ)。
       這里沒有足夠的篇幅容納得出這一結(jié)論的詳細邏輯推理,因此我推薦你閱讀我
    們的Web主頁,http://www.gnu.org/philosophy/why-free.html。

    艱難的道德選擇

       雖然我原來的群體已經(jīng)消失,但繼往開來并非不可能,只是我面臨一個道德選
    擇。
       一條簡單的出路是加入專有軟件世界,簽署不公開協(xié)議,并許諾不再幫助我同
    事中的黑客。這樣做的結(jié)果很可能是我也開發(fā)軟件,而且軟件也以不公開協(xié)議的形
    式發(fā)布,從而對其他不愿意背叛同伴的人進一步施加壓力。
       我有可能由此而發(fā)財,而且也從編寫代碼中獲得樂趣。但我明白,在我的職業(yè)
    生涯結(jié)束時,我回過頭來看到的景象將是這些年來筑起高墻林立,并將人們分隔開
    來,我會覺得自己的一生努力的結(jié)果會把這個世界搞得更糟。
       在此之前,我已有過接受不公開協(xié)議的經(jīng)驗。當時,別人拒絕向MIT人工智能
    實驗室和我提供我們打印機的控制程序的源代碼。該程序缺乏某些功能,打印機的
    使用起來極端麻煩。因此,我不能對自己說不公開協(xié)議是清白的。他拒絕與我們共
    享代碼,當時我非常憤怒。我不可能轉(zhuǎn)頭對其他每一個人都如法炮制同一作法。
       另一種選擇,直截了當?shù)钊瞬豢?,是離開計算機領(lǐng)域。如果那樣,我的技能
    就不會被濫用,但我的才能仍然會被浪費掉。我個人不會成為分隔、限制計算機用
    戶的幫兇,但社會上的分隔和限制依舊在發(fā)生。
       因此,我要尋求一種解決之道,使我作為一個程序員能夠做些好事。我捫心自
    問,我是否能寫出一個或一些程序,能使我所珍視的群體再生呢?
       答案很清楚:最急需的首先是一個操作系統(tǒng)。這是開始使用計算機最至關(guān)重要
    的軟件——有了操作系統(tǒng),可以做許多事情;沒有操作系統(tǒng),你連計算機都使用不
    了。一個自由的操作系統(tǒng),會使我們可以再度擁有一個相互合作的黑客群體,而且
    進一步邀請其他任何人參與進來。每個人都可以安心使用計算機,而無須變成剝奪
    自己朋友權(quán)益的同謀。
       作為操作系統(tǒng)開發(fā)人員,我擁有的技能正適合這項工作。因此,盡管我不認為
    成功唾手可得,但是我覺得這是我的天賦。我決定將系統(tǒng)設(shè)計得與UNIX兼容以便移
    植,同時也便于UNIX用戶的移民到這一新的操作系統(tǒng)上來。我按照一項黒客的傳統(tǒng)
    選擇了GNU這個名字,GNU是“Gnu's not UNIX”(GNU不是UNIX)的遞歸同義
    詞。
       操作系統(tǒng)并不僅僅意味著一個恰好只能運行其他程序的內(nèi)核。在70年代,任何
    排得上號的操作系統(tǒng)都包括有命令解釋器、匯編器、編譯器、解釋器、調(diào)試器、文
    本編輯器和電子郵件軟件包等等。ITS包括這些東西,Multics有,VMS有,UNIX有,
    GNU操作系統(tǒng)也應(yīng)該含有這些東西。很久之后我看到了以下的詩句,據(jù)傳來自Hillel*:

    如果我不為自己打算,誰會為我考慮?
    如果我只為自己打算,我又變成了什么東西?
    如果現(xiàn)在不動手,還要等到什么時候?

    啟動GNU工程的決定,正是基于同樣的精神。

    * 腳注:作為無神論者,我不盲從任何宗教領(lǐng)袖,但有時我不得不贊賞他們中某些
    人的箴言。

    Freedom中的自由

       “free software”這種術(shù)語有時會被誤解——事實上它和價格毫無關(guān)系。它
    的涵義是自由。這是自由軟件的定義所決定的。對于你,某個特定的用戶來說,如
    果某個程序稱為自由軟件,那么:
       你擁有運行該程序的自由,而且可以用于任何目的。
       你擁有修改該程序以適應(yīng)你個人需要的自由。(為了在實踐中使這一自由成為
    可能,你必須能夠獲得源代碼,因為沒有源代碼而試圖修改程序是極端困難的。)
       你擁有再發(fā)行拷貝的自由,可以是無償?shù)?,也可以收費。
       你擁有發(fā)行該程序修改后版本的自由,從而使社團可以從你所作的改進中獲益。
       因為這里“free”的涵義是自由而非價格,自由軟件和銷售拷貝之間并沒有矛
    盾。事實上,銷售拷貝的自由是至關(guān)重要的:把自由軟件收集到CD-ROM上出售對整
    個社團都很重要,而銷售它們又是為開發(fā)自由軟件籌集資金的重要手段。因此,如
    果人們無法將某個程序自由地收集到這些集合中時,這個軟件就不是自由軟件。
       由于“free”一詞具有歧義,人們長久以來都在尋找另外的詞來替代它,但直
    到現(xiàn)在還沒有找到其合適的替代詞。英語的單詞與單詞之間的細微差別比世界上其
    他的語言更多,然而它卻缺少一個簡單明了、沒有歧義的單詞表示自由(freedom)
    中的“free”?!皍nfettered”(除去鐐銬的)也許是詞意與之最接近的詞了。其
    他諸如“l(fā)iberated”(被解放的)、“freedom”(自由的)和 “open”(開放
    的)也被考慮過,但是這樣替代詞要么語義不對,要么就是存在其他缺陷。

    GNU軟件與GNU系統(tǒng)

       開發(fā)一個操作系統(tǒng)是一個非常龐大的工程。考慮到可行性,我決定只要有可能
    就采用和使用現(xiàn)成的自由軟件。例如,最初我就決定使用TeX作為主要的文本格式
    化工具;幾年之后,我決定使用X Window系統(tǒng),而不是另起爐灶為GNU寫一個窗口
    系統(tǒng)?!                                ?
       由于這些決定,GNU系統(tǒng)不等價于所有GNU軟件的集合。GNU系統(tǒng)中包括非
    GNU軟件、由其他人或者其他開發(fā)項目出于各自目的而編寫的程序,但正因為它們
    是自由軟件,所以我們可以使用。

    工程之發(fā)軔

       1984年1月,我辭去了在MIT的職務(wù),開始專心致志編寫GNU 軟件。離開MIT是
    必要的,這樣MIT就無法干涉我將GNU作為自由軟件發(fā)行。如果我繼續(xù)在學校的工作,
    那么MIT可以聲稱擁有我的工作成果,可以實施他們自己的軟件發(fā)行條件,甚至可
    以將它們變成專有軟件。我無意在付出大量的勞動后,最終只是看到結(jié)果對自己的
    初衷沒有幫助。我的初衷是:創(chuàng)造一個新的軟件共享群體。
       不過,當時MIT人工智能實驗室的領(lǐng)導,溫斯頓教授(Prof. Winston),卻友
    善地邀請我繼續(xù)使用實驗室的設(shè)備。

    最初的步驟

       啟動GNU工程之前不久,我聽說荷蘭自由大學有一種編譯器軟件包(又稱VUCK,
    荷蘭語中表示“自由”的詞以字母“V”開始)。這是一個為處理多種編程語言(
    包括C和Pascal)而設(shè)計的編譯器,并且支持多種目標機。我給它的創(chuàng)作者寫了一
    封信,詢問GNU工程是否可以使用它。
       他的回信不無嘲弄,聲稱大學是自由的,但他的編譯器不是。因此我決定為GNU
    開發(fā)的第一個程序是一個支持多語言、多平臺的編譯器。
       我希望避免單槍匹馬地開發(fā)整個編譯器,我獲取了在勞倫斯·利福摩實驗室(
    Laurence Livermore Lab)開發(fā)的多平臺編譯器,即Pastel的源代碼。它支持Pascal,
    本身就是專為系統(tǒng)編程而設(shè)計,而且是Pascal語言的一個擴展版本。我加上了一個C
    的前端(frontend),然后開始將它移植到摩托羅拉68000計算機計算機上去。但我
    不得不放棄,因為我后來發(fā)現(xiàn)該編譯器需要許多兆字節(jié)的棧空間,而當時的68000
    UNIX系統(tǒng)只支持64K。
       于是,我判定該Pascal編譯器的設(shè)計思想是將整個輸入文件處理成為一個語法
    樹,將整個語法樹轉(zhuǎn)化為一連串的“指令”,然后生成整個輸出文件,在全過程之
    中不會釋放任何內(nèi)存。從那時起,我決心從頭開始編寫一個完整的編譯器。這個新
    編譯器現(xiàn)在的名字就是GCC,它完全沒有使用任何Pastel編譯器的代碼,但我設(shè)法用
    上了我原來編寫的C前端,不過這卻是幾年以后的事情了。我首先完成了GNU Emacs。

    GNU Emacs

       我開發(fā)GNU Emacs的工作始于1984年,1985年初GNU Emacs便可以開始使用了。
    這使我可以在UNIX機器上進行編輯工作。而在此之前,因為沒有興趣使用vi或ed,
    我的文本編輯工作都是在其他系統(tǒng)上完成的。
       這時,人們開始希望能使用GNU Emacs,這就引發(fā)了如何發(fā)行的問題。我將它放
    到了我所使用的MIT機器的匿名FTP服務(wù)器上(prep.ai.mit.edu這臺計算機從此成為
    GNUFTP發(fā)行的主站點。幾年之后機器不復使用時,我們將它的名字轉(zhuǎn)到新的FTP服務(wù)
    器上)。但在當時,許多有興趣使用GNU Emacs的人都不在因特網(wǎng)上,也就無法利用
    FTP以獲得Emacs的拷貝。那么,我應(yīng)該告訴他們什么呢?
       我可以說:“找一個能上網(wǎng)的朋友,他會幫助你獲得拷貝的”?;蛘甙凑瘴易?
    初在PDP-10上發(fā)行Eamcs的方式,對他們說:“寄給我一盤磁帶和一個郵資已附的回
    信信封,我會把Eamcs寄回給你的”。但當時我沒有工作,正在尋找通過自由軟件掙
    錢的方法。 因此我宣布會為所有希望得到它的人郵寄一份,定價是150美元。這樣,
    我開始了商業(yè)性自由軟件的發(fā)行業(yè)務(wù),這也是當今眾多銷售完整的、基于Linux的GNU
    系統(tǒng)的公司之濫觴。

    程序?qū)γ總€使用者都自由嗎?

       一個程序作為自由軟件離開原作者之手后,并不一定意味著它對于每個擁有拷
    貝的人都是自由軟件。舉例來說,公用領(lǐng)域軟件(public domain software,沒有
    版權(quán)的軟件)是自由軟件,但任何人都可以將它稍作修改的版本變成專有軟件。同
    理,許多自由軟件雖然有版權(quán)聲明,但發(fā)行許可證過于簡單寬縱,以至有人可以將
    它修改成為專有軟件。
       這個問題的例證之一是X Window系統(tǒng)。X Window系統(tǒng)是在MIT開發(fā)出來的,它以
    一種比較寬容的許可證發(fā)布之后,很快就被很多計算機廠商所采用。他們將二進制
    碼的X Window系統(tǒng)附加到各自專有的UNIX系統(tǒng)中,加上了與UNIX同樣的不公開協(xié)議。
    這些X Window系統(tǒng)的拷貝與UNIX一樣,它們并不是自由軟件。
       X Window系統(tǒng)的開發(fā)者事先并不認為這是一個問題——他們的意圖正是這樣,
    并且期望這樣的情況發(fā)生。他們的目的并非自由,而只是“成功”,即“擁有許多
    用戶”。他們不關(guān)心這些用戶是否擁有自由,而只要用戶數(shù)量眾多就可以了。
       這導致了一個自相矛盾的情況:對“這個程序自由嗎?”這一問題,按照兩種
    不同的自由程度計算方法會得出不同的答案。如果你按照基于MIT發(fā)行版發(fā)行條件來
    進行判斷它所提供的自由,那么可以認為X Window系統(tǒng)是自由軟件;但如果考慮一
    般X Window系統(tǒng)用戶的自由,你不得不認為它是專有軟件。絕大多數(shù)X Window系統(tǒng)
    用戶以前是在使用UNIX系統(tǒng)附帶的專有版本,而不是自由版本。

    Copyleft與GNU GPL

       GNU 的目的是給用戶以自由, 而不僅是為了爭取大量用戶。因此我們必須使用
    某種發(fā)行條件,以避免將GNU軟件變成專有軟件。我們使用的方法稱為“Copyleft”
    (版權(quán)所無)(注)。
       注:在1984和1985年,唐·霍普金斯(Don Hopkins,一個非常富于想象力的家
    伙)給我寄了一封信。在信封上他寫了一些逗樂的話,其中包括:“版權(quán)所無——
    所有權(quán)力都被逆轉(zhuǎn)(copyleft-all rights reversed)”。于是,我就使用了Copy-
    left一詞以命名當時我正考慮的軟件發(fā)行概念。
       Copyleft利用了版權(quán)法,但反其道而行之,以達到與通常相反的目的:將一種
    將軟件私有化的手段轉(zhuǎn)變成了保持軟件自由的手段。
       Copyleft的中心思想,是我們給予任何人運行、拷貝、修改以及發(fā)行改變后程
    序的許可,但不準許附加他們自己的限制。從而保障了每個人都有獲得“自由軟件”
    的軟件拷貝的自由,它們成為了不可異化的權(quán)力。
       要保證Copyleft的有效性,那么修改后的版本出必須也是自由的。這保障了在
    我們工作的基礎(chǔ)上所完成的成果一旦公布后,也能為我們的社團所用。當專業(yè)編程
    人員自愿幫助改進GNU軟件時,“Copyleft”可以防止他們的雇主聲稱:“你不能
    和人共享這些改動,因為我們會用它創(chuàng)建我們自己專有軟件的版本?!?
       所以為確保程序?qū)γ课挥脩舳甲杂?,那么所作改動也必須保持自由這個前提是
    必不可少的。將X Window系統(tǒng)私有化的那些公司通常對程序做了某些修改,以便將
    X Window System移植到他們的系統(tǒng)和硬件上。這些改動與整個X Window系統(tǒng)的廣
    泛內(nèi)容相比并不算大,但并非微不足道,如果這些修改可以作為拒絕給用戶以自由
    的借口,人們都會輕而易舉地利用這一借口。
       一個相關(guān)的問題涉及到將自由的程序與不自由的代碼相組合。這樣一個組合將
    不可避免地失去自由性;無論不自由的部分缺乏何種自由,都會使整個程序喪失自
    由。一旦允許這種漏洞存在,那么所造成的損失可以大于再沉一艘“泰坦尼克”號。
    因此,“Copyleft”的一個關(guān)鍵要求是封堵這一漏洞:任何添加或者組合到自由軟
    件上的部分都不允許附加其他限制,從而保證其結(jié)果的整體是自由的、版權(quán)所無的
    (Copylefted)。
       作為Copyleft的一種特定實現(xiàn)形式,我們用“GNU公眾許可證(簡稱GPL)”來
    標明絕大多數(shù)GNU軟件的許可證。我們還有在特殊情況下使用的其它種類的“Copy-
    left”許可證。GNU的使用手冊也采取了Copyleft許可證,但使用的一種大大簡化
    的方式,因為手冊不需要GNU GPL那樣的復雜度。

    自由軟件基金會(The Free Software Foundation)

       隨著人們使用Emacs的興趣日益增加,其他人也開始參與GNU工程,我們覺得這
    是再次尋求資助的時機。所以我們在1985年創(chuàng)辦了自由軟件基金會(FSF),這是
    一個完全致力于自由軟件開發(fā)的免稅福利機構(gòu)。FSF同時也接管了Emacs磁帶發(fā)行
    業(yè)務(wù),接著FSF在磁帶上增加了GNU的和其他非GNU的自由軟件,并出售自由軟件的
    使用手冊,F(xiàn)SF的業(yè)務(wù)得到了進一步的擴展。
       FSF接受捐贈,但它的絕大多數(shù)收入來源于銷售自由軟件拷貝以及其他服務(wù)。
    今天它銷售的產(chǎn)品包含含有源代碼的光盤,可執(zhí)行程序的光盤、印制精美的使用
    手冊(全都包括修改和再發(fā)行的自由)及其豪華版(我們?yōu)榭蛻糁付ǖ钠脚_制作
    完整的軟件包)。
       自由軟件基金會的雇員編寫了并維護著數(shù)量相當多的GNU 軟件包。其中值得
    一提的兩種是C Library和shell(命令解釋器)。任何運行于GNU/Linux系統(tǒng)之
    上的程序都用GNU C Library作為與Linux內(nèi)核通信的中介。它是由自由軟件基金
    會的一位工作人員Roland McGrath開發(fā)的。絕大多數(shù)GNU/Linux系統(tǒng)上使用的shell
    都是BASH (Bourne Again Shell)*,它由FSF雇員Brian Fox開發(fā)。
       * 腳注:Bourne Again Shell (Bourne Shell再世)是對UNIX上常見的shell
    “Bourne Shell”開的玩笑。
       我們資助了這些程序的開發(fā),因為GNU工程的注意力并不只局限于工具和開發(fā)
    環(huán)境。我們的目的是一個完整的操作系統(tǒng),而這些程序是實現(xiàn)這一目的所必須的。

    自由軟件的支持

       自由軟件的哲學拒絕一種廣為流傳的特定商業(yè)行為,但它并非反對商業(yè),如果
    商業(yè)機構(gòu)尊重用戶的自由,那么我們希望他們成功。
       銷售Emacs的拷貝就展示了一種自由軟件的商業(yè)運作方式。當FSF接管了這項業(yè)
    務(wù)后,我需要另一種方法養(yǎng)家糊口。解決辦法是圍繞我原來開發(fā)的自由軟件來銷售
    服務(wù)。這包括教授如何使用GNU Emacs編程、如何定制GCC之類的課題,以及怎樣開
    發(fā)軟件(主要是將GCC移植到新的平臺上)。
       今天,上述的每一種自由軟件業(yè)務(wù)模式都被一些公司采用。其中一些發(fā)行自由
    軟件的集合(收集在CD-ROM上),另一些銷售支持(技術(shù)服務(wù)),支持級別很廣泛,
    從回答用戶的問題到解決軟件中的臭蟲,乃至增加重大的新特性。我們甚至開始看
    到市場上出現(xiàn)了發(fā)行自由軟件新產(chǎn)品的公司。
       但要注意,一些將自己與“開源軟件”(Open Source)概念相聯(lián)系起來的公
    司,事實上是將他們的業(yè)務(wù)建筑在與自由軟件一起工作的非自由軟件上。這不是自
    由軟件公司,而是專有軟件的公司,他們推出產(chǎn)品誘惑用戶遠離自由。他們美其名
    曰“增值”,這個名字也反映出了他們希望我們接受他們的價值觀:方便超越自由。
    如果我們相比之下更珍視自由的話,我們可以把他們的產(chǎn)品稱之為“減少自由”的
    增值品。

    技術(shù)目標

       GNU的基本目標在于自由軟件。即使GNU在技術(shù)上對UNIX無優(yōu)勢可言,它仍然具
    有社團意義上的優(yōu)勢,允許用戶相互合作,還有道德意義上的優(yōu)勢,尊重用戶的自
    由。
       但使用廣為接受的技術(shù)質(zhì)量標準來評判我們的成果,那也是自然而然的。例如,
    動態(tài)地分配數(shù)據(jù)結(jié)構(gòu)以避免任意固定尺寸限制,同時在任何有意義的場合下都正確
    處理所有可能的8位代碼。
       在此之外,我們決定不支持16位的機器(當時已經(jīng)清楚,GNU系統(tǒng)完成之時,
    32位的機器即將普及),不致力縮減內(nèi)存使用量除非超過1兆字節(jié),這就否定了當時
    UNIX對小內(nèi)存的關(guān)注,當處理大文件并非關(guān)鍵問題時,我們鼓勵程序員將整個輸入
    文件讀入內(nèi)存,然后遍歷它的內(nèi)容而不用去顧及輸入/輸出。
       這些決定使許多GNU程序同時在可靠性和速度上都超越了它們的UNIX競爭對手。

    捐贈的計算機

       隨著GNU工程的聲譽日益增長,人們開始向工程捐贈運行UNIX的機器。它們非
    常有用,因為開發(fā)GNU元件最簡便的方式莫過于先在UNIX系統(tǒng)上編程,然后將系統(tǒng)
    的元件逐一替換,但它們也引發(fā)了一個倫理方面的問題:我們擁有一個UNIX拷貝是
    否正確。UNIX過去是,現(xiàn)在也是專有軟件。GNU工程的哲學認為我們不應(yīng)該使用專
    有軟件。然而,與在正當防衛(wèi)中使用暴力相似,我按照這一推理得出了一個結(jié)論:
    我確信,在為開發(fā)自由軟件去替代專有軟件,和幫助他人停止使用專有軟件時,如
    果需要使用專有軟件的確是問題的關(guān)鍵的話,那么使用專有軟件是合乎情理的。
       但是,即使這樣做是有理的罪惡,它畢竟仍然是一種罪惡。今天我們不再擁有
    任何版本的UNIX,因為我們已經(jīng)使用了自由的操作系統(tǒng)替代了它們。如果我們不能
    使用自由的操作系統(tǒng)去替代機器上的操作系統(tǒng),那么我們會替換機器本身。

    GNU任務(wù)清單

       隨著GNU工程的進展,越來越多的系統(tǒng)元件被發(fā)現(xiàn)或者被開發(fā)出來。最后,列
    出一個剩下課題的清單對我們來說有了意義。我們使用這份任務(wù)清單招集開發(fā)者以
    編寫剩余所欠缺的部分。這一清單以GNU任務(wù)清單命名。除了尚缺的UNIX組成部分,
    我們還包括了各種各樣的、我們認為一個真正完整的系統(tǒng)應(yīng)該具備的其他有用軟件
    以及文檔項目。
       時至今日,幾乎沒有任何UNIX的成分還遺留在GNU任務(wù)清單之中——那些工作已
    經(jīng)完成,某些不重要的除外。但清單現(xiàn)在充滿了可以稱為“應(yīng)用程序”的項目。任
    何程序,只要它的適用而不僅限于很小一部分用戶,都可以成為操作系統(tǒng)的有用組
    成部分。甚至游戲程序也包括在任務(wù)清單之內(nèi)——從工程一開始就這樣。UNIX包括
    了游戲程序,自然GNU自然也該這樣。但游戲沒有兼容性問題,因此我們無須原樣
    照搬UNIX的游戲。相反,我們列舉了用戶有可能會喜歡的各種類型的游戲。

    GNU Library GPL

       GNU C Library使用了一種特殊的“Copyleft”方式,稱為“GNU Library
    General Public License”(LGPL),允許專有軟件可以同Library鏈接,為什么要
    留這樣一個例外呢?這并非一個原則問題;沒有任何原則允許專有軟件有權(quán)包括我
    們的代碼(何必要為一個早已決心拒絕與我們共享的項目費力?)。對于C Library
    應(yīng)用GPL,或者任何Library應(yīng)用GPL,屬于策略問題。
       C Library完成的是普遍性的工作;任何專有系統(tǒng)或者編譯器都伴隨著一個C
    Library,因此,限制我們的C Library只能為自由軟件使用不會為自由軟件帶來任
    何優(yōu)勢 -- 這只能阻礙它被采用。
       有一種系統(tǒng)是例外:在GNU系統(tǒng)上(包括GNU/Linux),GNU C Library是唯一的
    C Library。因此,GNU C Library 的發(fā)行條件決定是否有可能為GNU系統(tǒng)編譯專有
    軟件,并沒有任何道義上的理由允許GNU系統(tǒng)上的專有應(yīng)用程序存在,但從策略上看,
    不允許它們的存在更多地是阻礙GNU系統(tǒng)的使用,而不是鼓勵自由應(yīng)用的發(fā)展。
       這就是為何 C Library應(yīng)用 Library GPL是一個好策略的緣由。對于其它的
    Library,則必須視具體情況具體分析,再作策略性的決定。如果一個 Library具有
    特定的功能,足以幫助我們編寫某種類型的程序,那么以GPL將它發(fā)布、并僅限于自
    由程序使用,則不失為幫助其他自由軟件開發(fā)者的一種手段,可以給予他們某種優(yōu)
    勢去與專有軟件競爭。
       考慮GNU Readline,這是專為BASH命令行編輯功能所開發(fā)的 Library。Readline
    是在通常的GNU GPL下發(fā)布的,而不是Library GPL。這或許降低了Readline被使用
    的頻率,但對我們不構(gòu)成損失。同時,至少有一個有用的應(yīng)用程序,因為要使用
    Readline,所以被特別地轉(zhuǎn)化成了自由軟件。這是自由軟件社團的一個真正勝利。
    專有軟件開發(fā)人員具有資金上的優(yōu)勢,而自由軟件開發(fā)人員則需要相互之間共享長
    處。我希望將來某天我們擁有大量的GPL涵蓋的Library具有專有軟件無法媲美的優(yōu)
    勢,以提供有用的模塊能為構(gòu)建新的自由軟件添磚加瓦,并為未來的自由軟件運動
    增添某種優(yōu)勢。

    搔癢乎?

       Eric Raymond 說:“每一項好的軟件開發(fā)工作始于某個開發(fā)人員的搔癢”。
    這在某些場合下是真的,但是許多GNU軟件的基礎(chǔ)部分是為了擁有一個完整的自由
    操作系統(tǒng)為開發(fā)的。它們來自一種觀點和計劃,而不是一時的沖動。
       例如,我們之所以開發(fā)了GNU C Library是因為一個類UNIX的操作系統(tǒng)需要一
    個C Library,我們開發(fā)了BASH是因為類UNIX的操作系統(tǒng)需要一個外殼,我們開發(fā)
    了GNU tar 是因為一個類UNIX的操作系統(tǒng)需要一個tar 程序。我之所以開發(fā)GNU C
    Compiler、GNU Emacs、GDB和GNU Make也是出于同樣的道理。
       有些GNU程序是為了應(yīng)付對我們的自由的威脅而開發(fā)的,因此,我們開發(fā)了
    gzip 提替代Compress 程序,因為Compress采用了LZW專利,自由軟件社團不能使
    用它。我們找到了人開發(fā)LessTif,而且最近又找到了人開發(fā) GNOME 和 Harmony,
    以對付專有Library 的威脅(下面即將談到)。我們正在開發(fā) GNU Privacy Guard
    來替代流行的非自由的加密軟件,因為用戶不應(yīng)該被迫在隱私和自由之間作出選擇。
    當然,編寫這些程序的人也開始對工作產(chǎn)生興趣,而且各種人按照他們自己的需求
    和興趣給程序增添了許多特性。但是,這不是這些程序存在的原因。

    不期望的發(fā)展

       在GNU項目開始時,我想象我們將先開發(fā)完整個GNU系統(tǒng),然后再發(fā)布它。但
    后來所發(fā)生的情況不是這樣。
       由于GNU系統(tǒng)的每一個元件都是在UNIX系統(tǒng)上實現(xiàn)的,每一個元件都可以在
    UNIX系統(tǒng)上運行,而且在完成GNU系統(tǒng)之前早就大名鼎鼎。其中的有些軟件變得非
    常流行,用戶開始對它們進行擴充并移植——移植到各種不兼容的UNIX版本上,
    有時是到其他平臺上。
       這一進程使得這些程序功能更加強大,并為GNU工程吸引了更多的基金和捐贈。
    但是它也許將一個最小的可以運行的系統(tǒng)的完成時間拖延了幾年,因為GNU開發(fā)人
    員的時間花在了維護那些移植版本上,或者為已有元件的增添新的特性,而沒有把
    精力花在編寫GNU系統(tǒng)上面尚未完成的那些元件上。

    GNU HURD

       到1990年時,GNU 系統(tǒng)幾乎接近完成。主要所缺的東西就是一個內(nèi)核。我們
    決定設(shè)計一組運行在 Mach的基礎(chǔ)上的服務(wù)器來作為我們的內(nèi)核。Mach是在卡內(nèi)基
    ·梅隆大學開發(fā)出來的微內(nèi)核,后來在尤他大學得到了發(fā)展。GNU HURD是運行在
    Mach之上的一組服務(wù)器的集合(或者稱為“herd of gnus”),這些服務(wù)器完成
    UNIX 內(nèi)核所完成的各種不同的任務(wù)。Mach曾經(jīng)許諾它將作為自由軟件發(fā)行,由于
    我們等待這一宣布,因此開發(fā)GNU HURD的啟動時間被迫推遲了。
       選擇該設(shè)計的原因之一,是希望避免看似最為困難的工作:調(diào)試一個內(nèi)核程
    序而沒有相應(yīng)的源代碼級調(diào)試器。這部分工作在Mach中已經(jīng)完成了,而我們期望
    用GNU調(diào)試器(GDB)調(diào)試作為用戶程序的HURD服務(wù)器。 但我們耗費了許多時間
    才使它成為可能,而且相互之間發(fā)送信息的多線程服務(wù)器也是非常難以調(diào)試的。
    使HURD穩(wěn)定運行這一工作已多花了幾年的時間。

    Alix

       GNU內(nèi)核一開始并不準備叫做HURD。它最初的名稱叫做Alix——當時我所愛女
    人的名字。她,作為一個UNIX系統(tǒng)管理員,曾經(jīng)指出她的名字是如何吻合UNIX系
    統(tǒng)版本的命名規(guī)范;她對朋友說過這樣的玩笑話:“會有人用我的名字命名一個
    系統(tǒng)內(nèi)核?!碑敃r我沒有說什么,但決心用一個名叫Alix的內(nèi)核讓她大吃一驚。
    這個名字并沒延續(xù)下來。Michael Buchneil,內(nèi)核的主要開發(fā)者(現(xiàn)在是Thomas),
    更喜歡HURD這個名字,并把Alix重新定義為內(nèi)核的一個組成部分——通過向各
    HURD服務(wù)器發(fā)送信息而捕提系統(tǒng)調(diào)用并進行處理的那部分。
       最后,Alix和我分手了,她也改了姓名;同時與之無關(guān)的是HURD的設(shè)計也作
    了修改, C Library會向服務(wù)器直接發(fā)送信息,也就使Alix元件從設(shè)計中消失了。
    但在這些事情發(fā)生前,她的一個朋友在HURD源代碼中看到了Alix,并且告訴了她。
    所以這個名字還是起過作用的。

    Linux與GNU/ Linux

       GNU HURD還不能投入正式使用。 幸運的是,有另一個內(nèi)核可用。 1991年,
    Linus Torvalds 開發(fā)了一個與UNIX兼容的內(nèi)核并稱之為Linux。 1992年左右,
    Linux與尚未大功告成的GNU系統(tǒng)融合成為一個完整的自由操作系統(tǒng)(當然,兩者
    之間的結(jié)合本身就是一項非常艱巨的工作)。有了Linux,我們今天有了一個真
    正的可以運行的GNU系統(tǒng)版本。
       我們稱這個系統(tǒng)版本為GNU/Linux,以表示它由GNU系統(tǒng)與作為內(nèi)核的Linux組
    合而成。

    我們將來的挑戰(zhàn)

       我們已經(jīng)證實,我們自己有能力開發(fā)一整套的自由軟件。但這并不意味著我們
    就不可戰(zhàn)勝,或者勢不可遏,我們正面臨著幾個挑戰(zhàn),它們使得自由軟件前途難卜;
    迎接這些挑戰(zhàn)需要持續(xù)不懈的努力和耐力,也許會要以年來計算。這要求人們表現(xiàn)
    出在珍視自由而不讓任何人奪走它時的那種決心。
       下面四個小節(jié)討論這些挑戰(zhàn)。

    秘而不宣的硬件

       硬件生產(chǎn)商日益趨向?qū)⒂布?guī)格說明秘而不宣。這給編寫自由的驅(qū)動程序以讓
    Linux與X Free86支持新硬件帶來了困難。今天我們擁有完整的自由系統(tǒng),但如果
    我們不能支持明天的計算機,我們明天就會失去它。
       有兩種方式來對付這一問題。一是程序員可以通過反向工程搞清楚如何支持硬
    件。另外,我們其他的人可以選擇使用那些自由軟件所支持的硬件,當我們的人數(shù)
    增加時,保密的規(guī)格說明書就會不攻自破。
       實施反向工程是一項繁重的工作,我們是否有程序員具有足夠的決心去承擔它
    呢?會有的——如果我們能夠建立這樣一種強烈的感性認識,即自由軟件是一個原
    則問題,而非自由的驅(qū)動程序是不可容忍的。另外,我們大家會花費額外的金錢,
    甚或是一點額外的時間以使用自由的驅(qū)動程序嗎?會的,如果堅持自由的決心被廣
    泛接受的話。

    非自由的Library

       在自由的操作系統(tǒng)上運行的非自由的Library是針對自由軟件開發(fā)人員的一個陷
    井。這些Library吸引人的功能是誘餌;如果你使用了這些Library,你就掉進了陷
    井,因為你的程序便不能成為自由操作系統(tǒng)的一個有用組成部分(嚴格地說,我們
    可以收集你的程序,但它離開了Library而無法繼續(xù)“運行”)。甚至更糟的是,如
    果一個使用專有Library的程序流行起來的話,它會引誘其他不存疑心的程序員自投
    羅網(wǎng)。
       這個問題的第一個例證是80年代的 Motif工具包。盡管當時尚沒有自由的操作
    系統(tǒng),但情況已經(jīng)很清楚,Motif日后會給它們帶來問題。GNU工程的回應(yīng)有兩種方
    式:其一是請求各個自由軟件項目同時支持Motif和自由的X toolkit widget(X工
    具包窗口組件);其二是請求人們編寫一個自由的Motif替代品。這個工作花費了許
    多年。Lesstif由“饑餓的程序員小組”(the Hungry Programmers)開發(fā),直到
    1997年才強大到足以支持絕大多數(shù)Motif應(yīng)用程序。
       大約是在相同的時間,另一個非自由的GUI工具包Library開始流行起來。這就
    是Troll Technologies公司的Qt。最后,Qt被用于一系列重要的自由軟件,KDE桌面
    系統(tǒng)。
       自由的GNU/Linux系統(tǒng)無法使用KDE,因為我們無法使用其Library。然而,某
    些不那么遵從自由軟件原則的GNU/Linux商業(yè)發(fā)行商將KDE添加到了他們的系統(tǒng)中—
    —結(jié)果得到了一個功能增強但自由減少的系統(tǒng)。KDE開發(fā)小組正積極地鼓勵更多的程
    序員使用Qt,而數(shù)以百萬計的新“Linux用戶”從未有機會得到提醒,從而認識這樣
    做是有問題的。情況相當嚴峻。
       自由軟件社團以兩種解決方法作出了反應(yīng):GNOME與Harmony。
       GNOME,即“GNU網(wǎng)絡(luò)化對象模式環(huán)境”,是GNU的桌面環(huán)境項目,在1997年由
    Mignel de Icaza發(fā)起,在Red Hat(紅帽子軟件公司)的支持下開展。GNOME的目
    標是用完全的自由軟件實現(xiàn)與KDE相近的功能。它也有技術(shù)上的優(yōu)勢,例如支持一
    組不同的語言,而不僅僅是C++。但它的主要目的在于自由:不再需要使用任何非
    自由軟件。Harmony是一個與KDE兼容的Library,使得不用Qt就運行KDE軟件成為
    可能。
       在1998年11月,Qt的開發(fā)者宣布更改許可證協(xié)議,一旦實施,將使Qt成為自由
    軟件。雖然無法肯定,但我認為這部分上是由于整個社團對Qt作為非自由軟件而顯
    示的強烈不滿的態(tài)度使之作出了這個決定。(新的許可證不方便也不公正,因此將
    來避免使用Qt還是可取的。)
       我們將如何應(yīng)對下一個誘人的非自由Library呢?整個自由軟件社團都能理解
    不受誘惑而掉進陷阱的需要嗎?或者我們中的許多人會因放棄自由、追求方便而產(chǎn)
    生一個重大問題嗎?我們的前途取決于我們的哲學。

    軟件專利

       我們面臨最嚴重的危脅來自軟件專利,它可以在長達二十年之久的時間內(nèi)禁止
    算法和特性為自由軟件所用。LZW壓縮算法的專利是1983年申請的,因此我們?nèi)耘f
    無法發(fā)行自由軟件以產(chǎn)生正確壓縮的GIF文件。1998年,一個生成MP3壓縮聲音文件
    的自由程序迫于起訴的威脅而撤消了發(fā)行。
       對付專利也有多種辦法:我們可以搜集某項專利無效的證據(jù),我們也可以尋求
    其它的途徑以完成工作。但這兩種方法都只適用于部分情況。當兩者都失敗時,一
    個專利也許會迫使所有自由軟件都缺乏用戶希望的一些特性。這種情況一旦發(fā)生,
    我們應(yīng)該如何處理?
       我們當中為自由的緣故而珍視自由軟件的人總會堅持與它站在一起。我們會想
    方設(shè)法完成任務(wù),而不用已申請專利的特性。但那些因為期望自由軟件有技術(shù)優(yōu)勢
    而重視它的人,則有可能因為一項專利拖它的后腿而認為自由軟件是失敗的。因此,
    盡管探討“大教堂"開發(fā)模式的實用有效性以及自由軟件的可靠性和力量大有裨益,
    我們不應(yīng)僅此而滿足。我們必須談自由,談原則。

    自由文檔

       我們的自由操作系統(tǒng)中最大的不足并不在軟件——而是我們可以包括在系統(tǒng)中
    優(yōu)秀的自由文檔不足。文檔是任何軟件包中基本的組成部分之一;一個重要的自由
    軟件包沒有相應(yīng)的優(yōu)秀自由文檔,那是一個大漏洞。今天我們有許多這樣的漏洞。
       自由文檔如同自由軟件,是自由的問題而不是價格問題。自由文檔的判斷準則
    很大程度上與自由軟件相同:給予所有的用戶某種自由。再發(fā)行(包括商業(yè)銷售)
    必須被準許,無論是聯(lián)機形式還是印刷品,以便使用手冊能與每個自由軟件的拷貝
    相依為伴。
       準許修改也是很關(guān)鍵的。但是從整體上來說,我并不認為準許人們修改所有的
    文章與書籍是不可或缺的。例如,我就不認為,你或者我有必要授權(quán)別人隨意改動
    闡述我們的行動和觀點的文章,就象這一篇。
       但準許修改自由軟件文檔是有特殊理由的,當人們使用自己的權(quán)利修改軟件,
    并增加或修改其特性時,如果他們盡責,他們也會修改文檔 -- 從而能夠為修改后
    的程序提供精確可用的文檔。如果使用手冊不允許程序員盡心盡力,善于始善終(
    修改文檔的話),那就不適應(yīng)我們社團的需求。
       某些種類的限制修改不會構(gòu)成任何問題。例如,要求保存原作者的版權(quán)公告、
    發(fā)行條件,或者所有作者的列表等,都是可以的。要求改動后的版本作出聲明,以
    表明它們已經(jīng)改動也沒有問題,甚至可以要求整個的章節(jié)不被刪除或者修改也可以
    接受,只要這些章節(jié)圍繞非技術(shù)問題。
       這類限制之所以不構(gòu)成問題,是因為它們不妨礙盡責的程序員修改使用手冊,
    以適應(yīng)修改后的程序。換言之,它們不阻礙自由軟件社團最大限度地利用文檔。
       然而,必須能夠修改手冊的所有“技術(shù)”內(nèi)容,然后通過所有普通的介質(zhì)和所
    有普通的渠道,來發(fā)布修改后的結(jié)果;否則,這些限制就會阻礙社團,手冊就不再
    自由,我們就需要另一份使用手冊。
       自由軟件的開發(fā)者會有意識和決心以制作一整套的自由手冊嗎?再說一次,我
    們的前途取決于我們的哲學。

    我們必須談?wù)撟杂?

       今天估計約有一千萬左右的用戶在使用GNU/Linux系統(tǒng),例如Debian GNU/Linux
    與Red Hat Linux。自由軟件已取得了這樣的實際優(yōu)勢,以致于大量的用戶為了純
    粹實用的理由蜂擁而至。
       這一情況的良好影響是顯而易見的:具有開發(fā)自由軟件興趣的人更多了,自由
    軟件產(chǎn)業(yè)的顧客也更多了,還有更強的能力以鼓勵公司來開發(fā)商業(yè)化的自由軟件而
    不是專有的軟件產(chǎn)品。
       但人們對自由軟件的興趣增長,比對自由軟件的哲學基礎(chǔ)的認知來得更迅速,
    這會引起麻煩。我們迎接上述機遇與挑戰(zhàn)的能力取決于我們堅持自由的意志和毅力。
    為了保證我們的社團具備這樣的意志和毅力,我們有必要在新用戶加入社團的時候
    將這一觀念貫輸給他們。
       但是我們這樣的嘗試正在失敗:吸收新用戶加入這一我們社團的努力要遠大于
    將我們社團宗旨傳授給他們的努力。這兩方面的工作都不可偏廢,而且我們需要把
    一碗水端平。

    “開源軟件”(Open Source)

       向新用戶傳授自由的概念在1998年變得更為困難,因為社團的一部分決定停止
    使用“自由軟件”,而代之以“開源軟件”(open-source software)。
       傾向于這一說法的有些人希望能避免free的歧義性,即避免將“自由”與“免
    費”相混淆——這是一個合理的目標。但是,另一些人的目的則是把激勵自由軟件
    運動與GNU工程的原則精神擱置一旁,轉(zhuǎn)而去吸引公司經(jīng)理們和商業(yè)用戶們,他們
    中許多人所持的意識形態(tài)置利潤于自由之上、社會之上、原則之上。因此,“開源
    軟件”的詞義著重于創(chuàng)造強大的、高質(zhì)量軟件的潛力,而回避了自由、社會和原則
    這些概念。
       “Linux”雜志是這一傾向的明顯代表——它上面充斥著可在GNU/Linux上運行
    的專有軟件的廣告。當下一個Motif或Qt出現(xiàn)時,這些雜志是警告程序員們對它們
    敬而遠之,還是為它們敲鑼打鼓呢?
       來自公司的支持可以在很多方面為社團做出貢獻,如果其他條件不變,它是大
    有裨益的。然而,通過少提自由與原則以獲取它們的支持將會是災難性的;它會使
    在自由軟件外延的影響與對自由軟件內(nèi)涵的認識之間業(yè)已存在的不平衡進一步惡化。
       “自由軟件”與“開源軟件”多多少少描述了軟件的同一范疇,但強調(diào)了軟件
    的不同側(cè)面和價值觀。GNU工程將繼續(xù)使用“自由軟件”這一名詞,以表示自由、
    而不僅僅是技術(shù),才是重要的。

    嘗試!

       Yoda的哲學(沒有“嘗試”可言)聽起來不無道理,但它不適用于我。當我憂
    郁自己是否有能力完成工作、而且我不能肯定我所做的一切是否能夠達到預期的目
    標時,我已經(jīng)完成了絕大部分工作。但無論如何,我仍舊嘗試了,因為除了我以外,
    沒有其他人站在敵人和我的城市之間。讓我自己吃驚的是,有時我成功了。
       有時我會失敗,我的一些城市會陷落。接著我發(fā)現(xiàn)另一座城市正面臨威脅,我
    得隨之做好投入下一場戰(zhàn)斗的準備。隨著時光流逝,我學會了探察威脅,并將自己
    置身于它們和我的城市之間,并呼吁其他黑客來與我并肩戰(zhàn)斗。
       時至今日,我常常不是唯一的戰(zhàn)士。看見成群結(jié)隊的黑客掘土加固戰(zhàn)壕,我既
    感到寬慰,也感到快樂,我明白城市會繼續(xù)矗立在這里——至少現(xiàn)在如此。但失陷
    的危險與歲俱增?,F(xiàn)在微軟已明確地表示將我們的社團列為打擊目標。我們不能奢
    望未來的自由會從天上掉下來。天上是不會掉餡餅的!如果你希望維護你的自由,
    那么你必須做好準備捍衛(wèi)它。
    相關(guān)文章
    本頁查看次數(shù):