summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/zh/thegnuproject.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/zh/thegnuproject.html')
-rw-r--r--talermerchantdemos/blog/articles/zh/thegnuproject.html608
1 files changed, 269 insertions, 339 deletions
diff --git a/talermerchantdemos/blog/articles/zh/thegnuproject.html b/talermerchantdemos/blog/articles/zh/thegnuproject.html
index 979f076..f3724b2 100644
--- a/talermerchantdemos/blog/articles/zh/thegnuproject.html
+++ b/talermerchantdemos/blog/articles/zh/thegnuproject.html
@@ -1,540 +1,472 @@
<!--#set var="ENGLISH_PAGE" value="/gnu/thegnuproject.en.html" -->
-<!--#include virtual="/server/header.zh-tw.html" -->
+<!--#include virtual="/server/header.zh-cn.html" -->
<!-- Parent-Version: 1.86 -->
<!-- This file is automatically generated by GNUnited Nations! -->
-<title>關於 GNU 專案 - GNU 專案 - 自由軟體基金會</title>
-<meta http-equiv="Keywords" content="GNU, GNU Project, GNU 專案, FSF, Free Software, 自由軟體, Free Software
-Foundation, 自由軟體基金會, History, 歷史" />
+<title>关于GNU - GNU工程 - 自由软件基金会</title>
+<meta http-equiv="Keywords" content="GNU、GNU工程、FSF、自由软件、自由软件基金会、历史" />
<!--#include virtual="/gnu/po/thegnuproject.translist" -->
-<!--#include virtual="/server/banner.zh-tw.html" -->
-<h2>GNU 專案</h2>
+<!--#include virtual="/server/banner.zh-cn.html" -->
+<h2>GNU工程</h2>
<p>
-作者為 <a href="http://www.stallman.org/"><strong>Richard Stallman</strong></a></p>
+<a href="http://www.stallman.org/"><strong>Richard Stallman</strong></a> 著</p>
<blockquote>
<p>
-文章原載於 <em>Open Sources</em> 一書中。理查・史托曼先生 (Richard Stallman)<a
-href="/philosophy/open-source-misses-the-point.html"> 從來不是「開源」或「Open
-Source」的支持者</a>,但基於不願讓自由軟體運動的想法在該書中完全缺席而寫下本文。
+最初发表于<em>开源</em>一书。Richard Stallman本人<a
+href="/philosophy/open-source-misses-the-point.html">从来不支持&ldquo;开源&rdquo;</a>,但他还是贡献了此文。这样做可以避免自由软件运动的理念在那本书中被完全忽略。
</p>
<p>
-為何<a
-href="/philosophy/free-software-even-more-important.html">堅持我們使用的軟體應該自由</a>前所未有地重要。
+为什么现在<a
+href="/philosophy/free-software-even-more-important.html">坚持软件自由比以往更加重要</a>。
</p>
</blockquote>
-<h3>最早的軟體共享社群</h3>
+<h3>第一个软件分享社区</h3>
<p>
-1971年當我在 <abbr title="Massachusetts Institute of Technology">MIT</abbr>
-麻省理工學院的人工智慧實驗室(英文簡稱 AI
-Lab)工作時開始,我成了軟體共享社群的一員,而這個社群已經存在好些年了。分享軟體的行為不限於我們這個社群;這種行為跟電腦的發展史一樣久遠,好比分享食譜的歷史跟烹調食物的歷史同樣古老。但我們這個社群比起絕大多數人更常分享。</p>
+当我 1971 年开始在 <abbr title="Massachusetts Institute of
+Technology(麻省理工学院)">MIT</abbr>
+的人工智能实验室工作的时候,我成为了当时已经存在多年的一个软件共享社区的一员。并不是只有我们的社区分享软件;分享软件从电脑出现就开始了,正如分享菜谱从烹饪出现就开始了一样。但是我们做得更多。</p>
<p>
-AI Lab 當時採用一種稱為 <abbr title="Incompatible Timesharing System">ITS</abbr>
-(全名為 Incompatible Timesharing System,意思為「不相容分時系統」) 的分時作業系統,它由實驗室的黑客職員 (1)
-設計,並且以 Digital <abbr title="Programmed Data Processor">PDP</abbr>-10
-的組合語言編寫。這種 PDP-10 電腦屬於那個世代的大型電腦之一。身為這個社群的一份子,也就是 AI Lab
-的系統黑客職員,我的工作就是改善這套系統。</p>
+人工智能实验室当时使用一种称为 <abbr title="Incompatible Timesharing
+System(不兼容分时系统)">ITS</abbr> 的分时操作系统。该系统是实验室的黑客(1)设计并用汇编语言为 Digital 公司的 <abbr
+title="Programmed Data Processor">PDP</abbr>-10
+计算机编写的,该计算机是当时的大型计算机之一。作为社区一员,也作为人工智能实验室的系统黑客,我的工作就是改进这个系统。</p>
<p>
-我們那時的軟體不叫「自由軟體」,因為這個詞語還不存在,但這個概念就是從那時候的軟體延續而來。每當其他大學或公司的人想要移植某程式或使用某程式時,我們都很高興讓他們利用。而當你看到某人在用你所不知道的程式,或是很有趣的程式,你都會向他們要源始程式碼,這樣你就能讀它、改它、甚至擷取你想利用的部份來創造新程式……等等。</p>
+我们没有称我们的软件是&ldquo;自由软件&rdquo;,因为那时还没有这个概念;但那些软件就是自由的。无论何时,只要其他大学或公司想移植和使用一个程序,我们都很高兴提供该程序。如果你对别人的程序有兴趣但不太熟悉,你总是可以要一份源代码,因此你可以阅读源代码、修改源代码,甚至把它拆分并用来构建新的程序。</p>
<p>
-(1) 部份的大眾媒體常將「黑客 Hacker」和「安全破壞客 Security
-Breaker」混為一談(譯註:臺灣媒體則將兩者混稱為駭客)。我們黑客不承認那種意思的用法,而且會繼續使用黑客一詞來指那些熱愛寫程式的人、樂於發揮有趣的慧黠想法的人,或是結合兩種特質的人。請讀我這篇《<a
-href="http://stallman.org/articles/on-hacking.html">論黑客</a>》文章。</p>
+(1)
+使用&ldquo;黑客&rdquo;一词来表示&ldquo;安全破坏者&rdquo;是部分大众媒体的乱用。作为黑客,我们拒绝认同这种解释,我们还是用它来表示热爱编程的人、享受技术的人,或者二者兼而有之的人。请阅读我的文章<a
+href="http://stallman.org/articles/on-hacking.html">关于黑客</a>。</p>
-<h3>社群崩解</h3>
+<h3>社区的解体</h3>
<p>
-1980年代初期,Digital 公司中止了 PDP-10
-系列,情況有了劇烈變化。該系列機器在60年代期間優雅又強大的架構,先天上無法拓展成80年代逐漸成型的較大位址空間架構。這代表幾乎所有原先構成 ITS
-的程式都慘遭淘汰。</p>
+八十年代初,Digital的PDP-10系列停产,形势发生了剧变。该系列大型机在六十年代优雅而有力的架构无法自然延伸到八十年代开始使用的更大的地址空间。这意味着几乎所有构成ITS的程序都过时了。</p>
<p>
-在這短時間內,AI Lab 的黑客社群儼然瓦解。1981年,從實驗室分出來的 Symbolics 公司幾乎挖走所有 AI Lab
-的黑客,殘餘的社群幾乎無以為繼。(Steve Levy 著作的《Hacker》,中譯本名為《黑客列傳》由 Jedi 與 Pluto
-翻譯,書中談論這些故事情節,同時也清楚描繪出此社群輝煌時期的樣貌。)當 AI Lab 在1982年買下 PDP-10 的新機時,其管理員決定改用
-Digital 的非自由分時系統取代 ITS。</p>
+而不久前,人工智能实验室的黑客社区已经解体了。1981年,从实验室分拆出来的Symbolics公司雇佣了几乎全部实验室黑客,减员的社区无以为续。(Steve
+Levy的《黑客》一书描述了这些事件,并给出了社区鼎盛时期的清晰写照。)当人工智能实验室在1982年购买了一台新的PDP-10后,其管理员决定使用Digital公司的非自由分时系统来代替ITS。</p>
<p>
-該世代的新電腦,例如 VAX 或 68020,都有自己的作業系統,但是它們都不是自由軟體:你甚至必須簽署 NDA 不揭露協議書,才能取得可執行副本。</p>
+那时的新计算机,象VAX或68020,都有它们自己的操作系统,但是都不是自由软件:即使只是要一份可执行文件的副本,你都需要签署保密协议。</p>
<p>
-這代表使用電腦的第一步驟,就是要保證你絕對不會拿軟體幫助朋友鄰居。互助合作的社群被禁止。專有軟體的所有人設下規定:「如果你想要和朋友鄰居分享,那你就是偷盜。如果你想要有任何改變,請求我們實現。」</p>
+这表示使用计算机的第一步是承诺不会帮助别人。互助的社区被禁止了。专有软件的所有者制定了规则:&ldquo;如果你和别人分享软件,你就是从事盗版。如果你想做软件更改,请乞求所有者吧。&rdquo;</p>
<p>
-專有軟體的社會體系概念——你不能分享或更改軟體的社會——即反社會,那沒有道德、根本就是錯誤,或許有些讀者看到這裡會覺得很驚訝也不一定。不過,我們對於這種劃分民眾身份,並且讓使用者感到無助的體系還能說什麼?覺得我們想法令人訝異的讀者,或許以為專有軟體社會體系是個已知事實,或是根據專有軟體事業所推動的規則做出判斷。軟體發行商長久以來一直想盡辦法說服民眾在這個議題上就只能有一種看法。</p>
+专有软件的社会系统&mdash;不能分享或更改软件的系统&mdash;是反社会的,因为它不道德、它完全错误。这样的想法可能令某些读者吃惊。但是对一个以分裂公众、使其用户无助为基础的系统,我们还能怎么说呢?那些对此吃惊的读者也许接受了专有软件的社会系统,或者按照专有软件行业推荐的术语来做了判断。软件发布商长期以来一直努力让人们相信:对这个问题只有一个看法。</p>
<p>
-當軟體發行商論及「行使」其「權利」,或「停止<a
-href="/philosophy/words-to-avoid.html#Piracy">盜版</a>」時,他們所講的這些話術是次要議題。這些論述的真正意涵是,在他們視為理所當然的未明說假設中,大眾只須要接受但不必理解。所以,請讓我們幫忙理清這一切。</p>
+当软件发布商说到&ldquo;加强&rdquo;他们的&ldquo;权利&rdquo;或者&ldquo;打击<a
+href="/philosophy/words-to-avoid.html#Piracy">盗版</a>&rdquo;时,他们<em>说的</em>其实是次要问题。他们的真正想法是让公众接受这些说法背后的假设是理所当然的、无需审视的。那么,就让我们审视一下这些假设。</p>
<p>
-第一個假設是,軟體公司對於自家軟體有一種不可質疑的自然權利,他們因而擁有支配所有軟體使用者的權力。(如果這真有個什麼自然權利,那麼無論這個權利對於民眾會造成多嚴重的傷害,我們都不能拒絕。)有趣的是,美國憲法與法律傳統觀點否認這種看法;著作權不是自然權利,而是政府賦予的人為壟斷權,可以限制使用者的自然權利使其不得複製。</p>
+其中一个假设是软件公司对软件拥有无可质疑的自然所有权,进而拥有超越其用户的权力。(如果这是自然权利,那么无论这对公众造成什么伤害,我们都无法反驳。)有意思的是,美国宪法和法律惯例拒绝这个观点;版权不是自然权利,而是人为的、政府强加的垄断,它用来限制用户拷贝复制的自然权利。</p>
<p>
-另一個未明說的假設是,對軟體來說最重要的事情是它能讓你做些什麼——我們電腦使用者不應該在意我們能擁有什麼樣的社會型態。</p>
+另一个隐含的假设是软件唯一的重要性在于它能让你做什么&mdash;软件用户不必去关心应该拥有什么样的社会。</p>
<p>
-第三個假設是,如果我們不給這些公司支配程式使用者的權力,那麼我們就不會有好用的軟體(或是永遠不會有這種功能的程式,或是可以辦到那些事情的程式)。這個假設看起來說得好像跟真的一樣,但是早在自由軟體運動開始之前,我們社會中就已經有很多好用的軟體但都沒有這些束縛的枷鎖。</p>
+第三个假设是如果不让软件公司有超越其用户的权力,那么我们就没有可用的软件(或者就没有能够执行特定任务的程序)。该假设看起来是可能的,直到自由软件运动证明:我们可以创造大量有用的软件而不用在其上横加锁链。</p>
<p>
-如果我們拒絕接受這些假設,並且根據原來的常識性道德觀把這些使用者放在優先地位來判斷時,我們發現結論大不相同。電腦使用者應該能自由修改程式以符合自身需求、並自由分享軟體,因為幫助他人是社會存在的基礎。</p>
+如果我们拒绝接受这些假设,把用户放在首位,并根据常识性的道德来判断,那么我们就可以得出不同的结论。计算机用户应该能够自由地修改软件来适应自己的需求,也应该能够自由地分享软件,因为互相帮助是社会的基础。</p>
<p>
-這裡如果詳細敘述結論背後的演繹過程會讓篇幅過長,所以我在此請各位讀者前往 <a href="/philosophy/why-free.html">
-http://www.gnu.org/philosophy/why-free.html</a> 和 <a
+鉴于篇幅限制,我们不在此对结论背后的推理做详细论述,我为读者提供以下网页做参考:<a href="/philosophy/why-free.html">
+http://www.gnu.org/philosophy/why-free.html</a>和<a
href="/philosophy/free-software-even-more-important.html">
-http://www.gnu.org/philosophy/free-software-even-more-important.html</a>
-網頁探究。
+http://www.gnu.org/philosophy/free-software-even-more-important.html</a>。
</p>
-<h3>嚴酷的道德抉擇</h3>
+<h3>严酷的道德抉择</h3>
<p>
-隨著我的社群消失,想一如往常不再可能。所以,我面對嚴酷的道德抉擇。</p>
+社区不复存在,我无法维持原样。反过来,我面临着严酷的道德抉择。</p>
<p>
-最簡單的選擇,就是加入專有軟體世界,簽下不揭露協議並保證我不會再幫助黑客同袍。這樣我大概也會開發必須保密不能揭露的軟體,然後對其他人施加壓力讓他們一起背叛同袍。</p>
+容易的选择是加入专有软件的世界、签署保密协议并发誓不再帮助我的黑客伙伴。我极有可能也在开发按照保密协议发布的软件,因此也让其他人面临背叛伙伴的压力。</p>
<p>
-我可以這樣賺錢,或許也可寫程式自娛。但是我知道,一旦我職業生涯結束,再回過頭去看我那些年修築了高牆以便劃分人群,就會感受到我花了大把人生將世界變成一個更糟糕的地方。</p>
+我可能因此发财,也可能编程时乐在其中。但是我知道在我结束职业生涯之时,当我回顾那些建造围墙、隔离大众的岁月之时,我会感到我的一生是在让这个世界变得更糟糕。</p>
<p>
-我已體驗過身為不揭露條款終端接受方的經歷,有人拒絕將我們實驗室印表機的控制程式源始碼交給我或 MIT AI
-Lab。(這個控制程式缺乏某些功能,導致我們使用這臺印表機時遭受極大挫折。)所以我無法告訴我自己說保密條款是無辜的。我非常生氣他拒絕和我們分享;我無法就這樣轉過身去,然後對其他人做出一樣的事情。</p>
+当有人拒绝把控制打印机的源代码给我和MIT人工智能实验室的时候(由于缺少一些功能,该程序让使用打印机的人非常恼火),我就已经体会到了作为保密协议接收方的感受。</p>
<p>
-另一種選擇,很直截了當但令人不開心,就是離開電腦界。這樣做我的技術能力就不會被濫用,但這些才能就無端浪費掉了。我雖然不會因為劃分和限制電腦使用者而感到罪惡,但這些事卻不會因為我不做而就此停止。</p>
+另一个选择,直截了当却令人不快,就是离开计算机行业。那样也许我的技术不会被滥用,但还是浪费了。我自己可能不会因为分化和限制计算机用户而遭受谴责,可这种事还是会发生。</p>
<p>
-所以我開始探尋程式設計師能對這個議題做些什麼好事。我問我自己,是不是有我能寫的程式?不管是一個還是很多個,如此得以讓社群有機會再次復興。</p>
+我因而探索一条程序员能够做些好事的道路。我扪心自问,我能不能写一些程序,从而使再建社区成为可能?</p>
<p>
-答案很清楚:我們首先需要一套作業系統。作業系統是人們開始使用電腦的重大軟體。有了作業系統,你可以做很多事情;沒有作業系統,你就幾乎無法操作電腦。有了自由的作業系統,我們可以再次形成互助合作的黑客社群——並邀請任何人加入。此外,任何人都可以使用電腦,不會因為要用電腦而讓他或她的朋友在暗中離去。</p>
+答案显而易见:首先需要的是一个操作系统,它是使用电脑的关键软件。有了操作系统,你就可以做许多事情;没有它,你根本无法运行电脑。有了自由的操作系统,我们就能够再次建立互助黑客的社区&mdash;并邀请人们加入。这样,人们就可以使用电脑而不必因此失去朋友。</p>
<p>
-身為作業系統開發者,我對這項工作有對應的技術能力。所以即便我無法將成功視為理所當然,我仍確知這項工作我適合出任。我選擇讓系統和 Unix
-相容以便具有可攜性,如此 Unix 使用者就能輕鬆轉換過來。GNU 的命名遵循黑客傳統:遞迴式頭文字縮寫,代表「GNU's Not
-Unix」,意思是「GNU 並非 Unix」;它的英語發音為實唸出 g 子音的單音節字,華語(漢語官話)發音類似「革奴」。</p>
+作为操作系统开发者,我正好具备这个技能。即使不能确保成功,我还是意识到我义不容辞。我选择让这个系统和Unix兼容,这样Unix用户就能够轻易切换过来。选择GNU作为名字是延续黑客的传统<sup><a
+href="#TransNote1">1</a></sup>,它是&ldquo;GNU's Not
+Unix(GNU并非Unix)&rdquo;的首字母同义递归。它的发音是<a
+href="/gnu/pronunciation.html">带g的单音节</a>。</p>
<p>
-一套作業系統可不只是一個內核心 (kernel)
-而已,那樣幾乎沒有什麼其他程式可以跑。1970年代,每個值得一提的作業系統都有指令處理器(外表殼,shell)、組譯器、編譯器、直譯器、除錯器、文字編輯器、郵件程式……等等。ITS
-有、Multics 有、VMS 也有、Unix 也一樣都有。GNU 作業系統也會收錄這些軟體。</p>
+操作系统并不是仅仅有内核,而无法运行其他程序。在70年代,每个称得上叫操作系统名字的系统都包括命令行、汇编器、编译器、解释器、调试器、文本编辑器、邮件服务,还有很多。ITS有、Multics有、VMS有、Unix也有这些。GNU系统也应该有。</p>
<p>
-後來我聽到希列爾長者 (Hillel) 所留下的這席話 (1):</p>
+我后来听到Hillel曾经说过(1):</p>
<blockquote><p>
- 如果我不為我,誰來為我?<br />
- 如果我只為我,我又是誰?<br />
- 如果不是現在,更待何時?
+ 我不为我,谁会为我?<br />
+ 我只为我,我又是谁?<br />
+ 若非现在,更待何时?
</p></blockquote>
<p>
-發起 GNU 專案的決定基於類似的精神。</p>
+决定开始GNU项目正是基于同样的情怀。</p>
<p>
-(1) 身為無神論者,我不跟隨任何宗教領袖,但我偶爾會欣賞他們之中所說的一些話。</p>
+(1)作为一个无神论者,我并不追捧任何宗教领袖,但是我有时会钦佩他们的一些警句。</p>
-<h3>如 Freedom 般自由</h3>
+<h3>Free是freedom所指的自由</h3>
<p>
-「自由軟體」有時候會被誤解——它跟價格一點也沒有關係。自由軟體講求的是自由。所以,在此附上自由軟體的定義。</p>
+&ldquo;自由软件(free software)&rdquo;这一术语时常被误解&mdash;它无关价格,它关乎自由。这里,我们给出自由软件的定义。</p>
-<p>對你,一位特定使用者,程式只有在滿足下列條件時才是自由軟體:</p>
+<p>一个软件对作为用户的你是自由软件,如果:</p>
<ul>
- <li>你擁有依照你想法執行該程式的自由,無論任何用途。</li>
+ <li>无论为何目的,你都有自由按照自己的意愿运行该软件。</li>
- <li>你擁有依據你需求修改該程式的自由。(要讓這項自由實務上有效,你必須能取用源始碼,因為如果沒有源始碼要修改程式極為困難。)</li>
+ <li>你有自由按照自己的需要修改该软件。(要实现这个自由,你必须可以访问源代码,因为没有源代码而去修改程序是极端困难的。)</li>
- <li>你擁有再次散布程式副本的自由,無論免費或是收費。</li>
+ <li>你有自由去分发软件拷贝,无论是否收费。</li>
- <li>你擁有散布修改後程式版本的自由,如此社群就能因你的改善而受益。</li>
+ <li>你有自由发布该程序的修改版,以让社区获益于你的改进。</li>
</ul>
<p>
-因為自由軟體英文 free software
-中的「free」指的是自由,不是價格免費,所以銷售軟體副本這件事和自由軟體之間沒有任何衝突。事實上,銷售軟體副本的自由很關鍵:販賣自由軟體集合的 CD
-光碟對社群相當重要,而銷售這些光碟也是募集自由軟體開發資金的重要方式。因此,那些人們無法自由納入這類大集合中的程式就不是自由軟體。</p>
+由于&ldquo;free&rdquo;指的是自由,而不是价格,所以自由软件和销售其拷贝并无矛盾。事实上,销售拷贝的自由非常关键:使用CD-ROM的方式收集和销售自由软件对社区很重要,它是为开发自由软件募集资金的一个重要手段。因此,如果一个软件不能自由地以这种方式收集和销售,那么它就不是自由软件。</p>
<p>
-由於「free」英文帶有歧義,有些人一直在尋找替代用詞,但都沒有找到更好的。英語這個語言比起他者有更多單字和重音上的細微差別,但缺少只講述「freedom」自由意涵的簡單、不模糊單字——而「unfettered」無拘無束,則是最接近這個概念的單字。其他字詞如「liberated」、「freedom」和「open」這些,不是意義上有差別,就是有其他不足之處。</p>
+因为&ldquo;free&rdquo;带有歧义,人们长久以来一直在找替换它的词,但是没有找到更好的。英语比其他语言有更多的词汇和更微妙的词义差别,但是它没有一个简单、清晰的词来表达freedom一词中的&ldquo;自由&rdquo;&mdash;&ldquo;unfettered&rdquo;是意思上最接近的一个词。象&ldquo;liberated&rdquo;、&ldquo;freedom&rdquo;和&ldquo;open&rdquo;这些词或者意思不对,或者有其他不足。</p>
-<h3>GNU 軟體與 GNU 系統</h3>
+<h3>GNU软件和GNU系统</h3>
<p>
-要開發出一套完整的系統可說是非常大的專案。為了讓目標更為可行,我決定一旦有可用的對應自由軟體,就調整這些軟體並使用之。舉例來說,我一開始就決定採用
-TeX 作為主要的文書格式處理器;幾年過後,我決定採納 X 視窗系統而非另外為 GNU 撰寫其他視窗系統。</p>
+开发整个系统是一个非常大的工程。要达成目标,我决定尽可能改造和利用现有的自由软件。比如,我一开始就决定使用TeX作为主要的文本排版工具;几年后,我又决定使用X
+Window系统而不是另外再为GNU编写一个窗口管理系统。</p>
<p>
-基於前述這些決定,還有其他等等這類的決定,GNU 系統不等同於所有 GNU 軟體的集合體。GNU 系統亦包含非 GNU
-軟體,那些其他人或其他專案為了自身目的而開發的程式,但因為它們是自由軟體,我們便得以採用。</p>
+由于这些决定,以及类似的其他决定,GNU系统和全部GNU软件集合并不相同。GNU系统包含一些非GNU的程序,这些程序来自其他人和为其他目的的项目,但是因为它们是自由软件,所以我们就可以使用。</p>
-<h3>展開專案</h3>
+<h3>工程启动</h3>
<p>
-1984年1月,我辭去 MIT 的工作並且開始寫 GNU 軟體。我必須離開 MIT,這樣 MIT 才無法干預我將 GNU
-以自由軟體的形式散布出去。如果我還是 MIT 的員工,那麼 MIT
-可以宣稱擁有我的工作成果,並施予他們自己的散布條款,或者甚至將成品轉為專有軟體也不一定。我不想要在做出大量勞力之後,看見成果在我期許的用途上變得一點用處也沒有,而這個期許就是:建立新的軟體分享社群。</p>
+1984年元月,我从MIT离职并开始编写GNU软件。离开MIT是必须的,这样MIT就不会干扰GNU以自由软件的形式发布。如果我还是MIT的员工,MIT就可能声称是这些软件的拥有者,进而可能加入他们自己的发布条款,甚至还会把它们变成专有软件。我决不会花了大力气而看到结果对最初的目的毫无用处:我们是要创建新的共享软件社区。</p>
<p>
-不過,後來擔任 MIT AI 實驗室主任的 Winston 教授,仍親切地邀請我繼續使用實驗室的設備。</p>
+而当时MIT人工智能实验室的领导,Winston教授,还是友好地邀请我继续使用实验室的设施。</p>
-<h3>最早的路</h3>
+<h3>最初的几步</h3>
<p>
-在 GNU 專案開始不久後,我聽說自由大學 (Free University) 有套編譯器工具組 (Compiller Kit),它也被稱為
-VUCK。(「自由」的荷蘭語以 <em>v</em> 開頭。)這套工具組的設計可以處理許多語言,包括 C 和
-Pascal,而且也支援多種目標機器。於是我寫了封信向作者詢問 GNU 是否能夠使用。</p>
+GNU工程开始不久,我听说了自由大学编译器工具包,又叫VUCK。(荷兰语的&ldquo;自由&rdquo;一词以<em>v</em>开头。)这是一个为处理多种语言而设计的编译器,它可以处理C语言和Pascal语言,还可以支持多个目标计算机。我写信问其作者GNU是否可以使用该工具包。</p>
<p>
-他嘲笑似地回覆說,雖然大學很自由,但編譯器不是。我因而下定決心,第一個要為 GNU 專案而寫的程式就是支援多語言、多平臺的編譯器。</p>
+他带着嘲弄的口吻回答,大学是自由的,但编译器不是。我因此决定我的第一个GNU程序就是做一个支持多语言、多平台的编译器。</p>
<p>
-我希望不必自己寫出整個編譯器,所以取得了 Pastel 編譯器的源始碼。Pastel 編譯器是個多平臺的編譯器,由 Lawrence Livermore
-實驗室開發;它支援設計成系統型程式設計語言的擴充版 Pascal,並且也以該語言寫成。我加入了 C 前端,並且開始移植到 Motorola 68000
-電腦上。但我後來發現這個編譯器需要好幾 MB 的堆疊空間時只能放棄,因為當年現有的 68000 Unix 系統只允許 64k 的空間而已。</p>
+带着避免自己编写整个编译器的希望,我拿到了由Lawrence
+Livermore实验室开发的一个多平台的Pastel编译器的源代码。该编译器是用一种扩展的Pascal语言编写的,它本身也支持该语言,而该语言是按照系统编程语言设计的。我增加了一个C语言的前端,并开始把编译器移植到Motorola
+68000计算机。当我发现该编译器需要数兆字节的堆栈空间、而当时68000的Unix系统仅允许64k字节时,我不得不放弃了该计划。</p>
<p>
-我接著瞭解到 Pastel
-編譯器的處理方式是將整分輸入檔先解析成語法樹,然後將整個語法樹轉換為「指令」鏈,接著生成整分輸出檔,整個過程從未釋放任何儲存空間。就這樣看來,結論是我必須從頭開始寫一個新的編譯器。這個新編譯器現在稱作
-<abbr title="GNU Compiler Collection">GCC</abbr>,裡面沒有用到 Pastel
-編譯器的任何部份,不過有我之前對 Pastel 編譯器所寫的 C 前端再設法修改過來的部份。但那是好幾年後才發生的事;在那之前,我先做了 GNU
-Emacs。</p>
+然后,我意识到这个 Pastel
+编译器会把整个输入文件解析为一个语法树结构,并把该结构整体转变成一个&ldquo;指令&rdquo;链,最后再生成输出文件,中间从不释放任何存储空间。至此,我决定必须从头开始写一个新的编译器。该新编译器现在叫做
+<abbr title="GNU Compiler Collection">GCC</abbr>;它完全没有用到该 Pastel
+编译器,但是我设法改写和使用了我的那个 C 语言前端。但是这些都是几年以后的事;首先,我做的是 GNU Emacs 的工作。</p>
<h3>GNU Emacs</h3>
<p>
-在1984年9月之時我開始做 GNU Emacs,直到1985年初,程式終於開始能用。有了 Emacs 後,我就能開始用 Unix
-系統作編輯;因為我對於學習怎麼使用 vi 或 ed 一點興趣也沒有,所以在這之前我都是用其他機器編輯的。</p>
+我在1984年9月开始GNU
+Emacs的工作,在1985年初它就可以使用了。这样我就可以开始在Unix系统上编辑;由于对学习vi或ed编辑器没有兴趣,我以前都是在其他机器上进行编辑的。</p>
<p>
-此時,人們開始想要使用 GNU Emacs,所以問題來了,我要怎樣散布?當然,我把它放到我使用的 MIT 電腦的匿名 FTP
-伺服器上。(這臺電腦,prep.ai.mit.edu,因而成為 GNU 的主要 ftp 散布站;電腦幾年後退役了,我們便將名稱轉到我們的新 ftp
-伺服器上。)但是在當時,許多有興趣的人都無法連上網際網路,所以不能從 FTP 取得軟體副本。所以問題是,我要對他們說些什麼?</p>
+此时,人们开始想要使用GNU Emacs,这就提出了如何发布GNU
+Emacs的问题。当然,我把它放在我用的MIT电脑的匿名ftp服务器上。(该电脑,prep.ai.mit.edu,因此变成了主要的GNU
+ftp发布站点;当它几年后退役时,我们把它的名字转到了新的ftp服务器上。)但是,在那个时候,许多对GNU
+Emacs感兴趣的人并没有上网,因而无法通过ftp获得软件拷贝。问题是,我应该对他们说什么?</p>
<p>
-我可以這樣說:「去找個能上網的朋友,看他要不要幫你拷貝個軟體副本。」或者,我可以用我之前對原來 PDP-10 Emacs
-所做的方法,告訴他們說:「寄給我一個磁帶並附上回郵信封,我會把 Emacs
-放進去然後寄回。」但我當時沒有工作,所以我也在找方法利用自由軟體賺錢。我宣布我會郵寄磁帶給想要軟體的人,一次收費150美金。就這樣,我開啟了自由軟體的散布業務,成為今日散布整套
-GNU/Linux 系統散布版的公司的始祖。</p>
+我可能说,&ldquo;找一个联网并愿意给你一份拷贝的朋友。&rdquo;或者我会按照对原始 PDP-10 上的 Emacs
+的做法来做:告诉他们,&ldquo;邮寄一个磁带和一个<abbr title="Self-addressed Stamped
+Envelope(带地址和邮票的信封)">SASE</abbr>给我,我会用它们把 Emacs
+邮寄回去。&rdquo;但是我并无工作,而且我当时正在寻找用自由软件赚钱的方法。所以我声明,需要的人只要付 150 美元,我就会把带有 Emacs
+的磁带邮寄过去。这样,我就创立了一个发布自由软件的行业,它是今天这些发布完整 GNU/Linux 系统的公司的先驱。</p>
-<h3>是不是每個人拿到的程式都是自由軟體?</h3>
+<h3>程序对每个用户都自由吗?</h3>
<p>
-如果有個程式是自由軟體,當它離開作者手中之後,不代表它必須對任何擁有副本的人都是自由軟體。舉例而言,<a
-href="/philosophy/categories.html#PublicDomainSoftware">公版軟體</a>(沒有受到著作權保護的軟體)是自由軟體,但是任何人都可以拿它修改成專有軟體。和這相似,許多自由軟體受到著作權保護,但是用簡單的寬容式授權條款散布,而這種散布條款允許改作版本是專有軟體。</p>
+如果一个程序离开了其作者、成了自由软件,并不必然意味着对每个拥有该程序拷贝的用户,它都是自由软件。例如,<a
+href="/philosophy/categories.html#PublicDomainSoftware">公有领域软件</a>(没有版权的软件)是自由软件;但是任何人都能用它制作一个修改版的专有软件。同样地,许多自由软件有版权但是使用简单的许可证发布,这些许可证允许制作修改版的专有软件。</p>
<p>
-這個問題的經典案例是 X 視窗系統。它是 MIT 開發的,並且是用寬容式授權條款發行的自由軟體,它一下子就被各家電腦公司採用。他們把 X 加到自家的專有
-Unix 系統上,只提供二進位形式,並且用同樣不可揭露的授權條款保護起來。這些 X 的副本就和 Unix 一樣不再是自由軟體。</p>
+X Window系统就是这个问题的一个范例。它由MIT开发,并使用随意许可证发布为自由软件。随后,许多公司改写了X
+Window系统,并把它以二进制形式添加到其专有的Unix系统中,而且用同样的保密协议加以保护。这些X
+Window系统的拷贝就和Unix一样不再是自由软件了。</p>
<p>
X
-視窗系統的開發者不認為這是個問題——他們預期這類事情的發生,而且刻意這樣做。他們的目標不是自由,只是「成功」,定義為:「擁有很多使用者」。他們不在意到底這群使用者有沒有自由,只在意使用者有沒有很多。</p>
+Window系统的开发者认为这不是问题&mdash;他们知道并愿意这样的事发生。他们的目的不是自由,只是&ldquo;成功&rdquo;,就是&ldquo;拥有很多用户。&rdquo;他们不关心这些用户是否拥有自由,只希望用户数目庞大。</p>
<p>
-這讓情況變得很吊詭。當有人問說:「這個程式自由嗎?」,答案卻有所不同,因為有兩種不同的自由度計算法。如果你是根據 MIT
-發行的散布條款所提供的自由度來判斷,你會說 X 是自由軟體。但如果你是用一般 X 使用者的角度來評量自由度的話,那麼你會說它是專有軟體。而大多數 X
-使用者所運行的,都是 Unix 系統隨附的專有版本,不是自由的版本。</p>
+这导致一个矛盾的情形:当回答&ldquo;这个程序是否是自由软件?&rdquo;的问题时,两种不同的计算自由的方法会给出不同的答案。如果你用MIT的发布许可证来判断时,你会说X系统是自由软件。但是,如果你测量使用X系统的用户获得的自由平均数时,你会说它是专有软件。因为大多数X系统的用户使用的是其Unix系统带的专有版本,而非自由软件版本。</p>
-<h3>著作傳 (Copyleft) 和 GNU GPL</h3>
+<h3>Copyleft和GNU GPL</h3>
<p>
-GNU 的目標是要給予使用者自由,不只是廣受歡迎而已。所以我們需要利用散布條款來防止 GNU
-軟體被轉為專有軟體。這個方法我們稱為「著作傳(唸作ㄔㄨㄢˊ)」,英文為「Copyleft」。(1)</p>
+GNU的宗旨是给用户自由,而不只是变得流行。所以我们需要使用禁止让GNU软件变成专属软件的发布条款。我们所用的方法叫做&ldquo;copyleft&rdquo;。(1)</p>
<p>
-著作傳使用著作權法,但是以相反於常見作法的方式使用之:並非限制程式的利用,而是維持程式的自由。</p>
+Copyleft利用版权法律,但是将其反转以服务于与其对立的目的:不是限制一个程序,而是要使之保持自由。</p>
<p>
-著作傳的中心思想是我們給予任何人執行程式、複製程式、修改程式、散布修改後版本的權利——但不允許自行對程式加入限制。所以,「自由軟體」定義的關鍵:自由,任何人只要取得軟體副本都能得到保障;自由成為軟體不可分割的權利。</p>
+Copyleft的中心思想在于赋予任何人运行程序、复制程序、修改程序和发布修改其版本的许可&mdash;但是不允许添加他们自己的限制。因此,每个拥有软件拷贝的人都保有定义着&ldquo;自由软件&rdquo;的关键自由;这些权利变得不可剥夺。</p>
<p>
-一份有效的著作傳式授權條款,必須維持修改後版本仍保有自由。這樣就能確保那些根據我們作品改作而成的新作,在公開發表之後得以讓我們社群取用。如果有工作的程式設計師願意以志工身分改善
-GNU 軟體時,著作傳也能防止他們的僱主說:「你不可以分享那些修改,因為我們要把它作為我們自己專有的軟體版本」。</p>
+作为一个有效的copyleft,软件的修改版也必须是自由的。这就保障了在我们的基础上所作的工作,如果发布,就变得社区共享。有工作的程序员如果自愿改善GNU软件,那么copyleft就会禁止她的雇主说:&ldquo;你不能分享这些更改,因为它们将被用于发布我们的专有版本。&rdquo;</p>
<p>
-如果我們希望確保程式的每個使用者都能得到自由,那麼修改內容必須維持自由的要求是必須的。將 X
-視窗系統納為私有的公司,通常是做出改動以便移植到他們家的系統與硬體上。這些更改之處和 X
-源始碼的廣大範圍相比之下很少量,但不是瑣碎不重要。如果做出更動是拒絕給予使用者自由的藉口,那麼任何人都能輕鬆利用這個藉口。</p>
+如果我们要保障所有用户的自由,那么要求对程序的更改也必须是自由的是个基本条件。那些将X Window私有化的公司通常就是对X
+Window做了些改动以移植到他们的系统和硬件上。相对于X系统来说,这些改动是小的,但不算微不足道。如果更改是剥夺用户自由的借口的话,任何人都可以轻易借此占便宜。</p>
<p>
-另一個相關議題是,自由軟體和非自由軟體源始碼間的結合。這樣的結合無可避免會不自由;非自由的部份所缺少的自由,就整體觀點來看依然缺失自由。如果授權條款允許這類結合,那麼無疑是在船上開個足以沉船的大洞。所以,著作傳的關鍵要求就是要塞住這個洞:任何附加到著作傳保護程式上、或是和著作傳保護程式相結合的任何東西,都必須得讓較大的結合後版本依然維持自由、受著作傳保護。</p>
+还有就是合并自由软件和非自由软件的问题。这样的合并本来注定是非自由的;非自由部分缺失自由会导致整体也缺失自由。允许这样的合并会使自由的大堤毁于蚁穴。所以,copyleft的一个关键要求就是堵住这个漏洞:任何加入或合并到copyleft程序的结果必须是合并后的大程序也是自由和copyleft的。</p>
<p>
-我們為大多數 GNU 軟體使用的特定著作傳式授權實作,是 GNU 通用公眾授權 (GNU General Public License),或簡稱 GNU
-GPL。我們也有用於其他特定情況的不同類型著作傳式授權。GNU 手冊也一樣受到著作傳保護,但用的是更為簡單的著作傳式授權,因為 GNU GPL
-很複雜這對於手冊這類著作來說沒有必要。(2)</p>
+大多数GNU软件采用的copyleft的具体实现是GNU通用公共许可证,简称GNU
+GPL。我们也有针对其他特别情况的其他copyleft实现。GNU手册也是copyleft的,不过手册不必用象GNU
+GPL这样复杂的许可证,所以它们用的是较简单的copyleft。(2)</p>
<p>
-(1) 在1984年或1985年的時候,Don
-Hopkins(一位很有想像力的同袍)曾寄給我一封信。在信封上他寫下好幾句有趣的話,其中一句是:「著作傳——保留所有權利。」(原文為
-「Copyleft&mdash;all rights reversed.」)。我便採用「著作傳」命名我當時發展的散布概念。</p>
+(1)在大约1984或1985年,Don
+Hopkins(一个极具想象力的家伙)给我写了封信。他在信封上写了一些逗趣的话,其中一句说:&ldquo;Copyleft&mdash;保留所有权利。&rdquo;我采用了&ldquo;copyleft&rdquo;来给我当时在开发的发布概念命名。</p>
<p>
-(2) 我們的文件現在使用 <a href="/licenses/fdl.html">GNU 自由文件授權 (Free Documentation
-License)</a>。</p>
+(2)我们目前使用<a href="/licenses/fdl.html">GNU Free Documentation
+License</a>来授权文档。</p>
-<h3>自由軟體基金會</h3>
+<h3>自由软件基金会</h3>
-<p>隨著有興趣使用 Emacs 的人逐漸增加,其他人也開始參與 GNU 專案,而我們決定是時候再次尋求資助了。所以在1985年我們成立了<a
-href="http://www.fsf.org/">自由軟體基金會 (Free Software Foundation,簡稱
-FSF)</a>,做自由軟體開發的免稅慈善機構。<abbr title="Free Software Foundation">FSF</abbr>
-也接手了 Emacs 磁帶的散布事業;後來更為擴展將其他自由軟體(包括 GNU 和非 GNU)加到磁帶業務中,也一併銷售手冊。</p>
+<p>当人们使用 Emacs 的兴趣起来后,其他人开始加入 GNU 工程。我们决定再次寻求资金。所以在 1985 年,我们创立了 <a
+href="http://www.fsf.org/">自由软件基金会</a>(FSF),它是一个为开发自由软件而成立的免税慈善机构。<abbr
+title="Free Software Foundation">FSF</abbr> 还承担了发布 Emacs
+磁带的业务;该项业务后来扩展到在磁带中加入其他自由软件(GNU或非GNU),以及销售自由文档。</p>
-<p>當年 FSF 的大多數收入來自自由軟體副本的銷售和相關服務(源始碼 CD、二進位檔
-CD、印刷精美的手冊等,全都可以自由地再次散布和修改),還有豪華散布版(我們為顧客所選擇的平臺組建而成的全軟體集合散布版)。今日 FSF 仍然<a
-href="http://shop.fsf.org/">銷售手冊和其他物品</a>,但主要資金來源是會員的會費。你可以前往 <a
-href="http://fsf.org/join">fsf.org</a> 加入自由軟體基金會的會員。</p>
+<p>过去,FSF的收入来自销售自由软件的拷贝以及其他相关服务(含源代码的CD-ROM、含二进制文件的CD-ROM、印制精美的手册,这些都可以自由修改和再发布),还有就是销售豪华发布版(为客户选定的平台制作全套自由软件)。如今,FSF仍然<a
+href="http://shop.fsf.org/">销售手册和其他装备</a>,但它的很大一部分资金来自会员费。你可以通过<a
+href="http://fsf.org/join">fsf.org</a>加入FSF。</p>
-<p>自由軟體基金會的僱員撰寫和維護許多 GNU 軟體包。其中最著名的兩個分別是 C 函式庫和外表殼 (shell)。GNU/Linux
-系統上運行的每個程式透過 GNU C 函式庫和 Linux 溝通,它是由自由軟體基金會員工之一的 Roland McGrath 所開發。而大多數
-GNU/Linux 系統所使用的外表殼是 <abbr title="Bourne Again Shell">BASH</abbr>,全名 Bourne
-Again Shell(1),則是由基金會員工 Brian Fox 所開發。</p>
+<p>自由软件基金会的员工编写并维护着一些 GNU 软件包。其中有两个重要的软件包是 C 库和 shell。GNU C 库是每个运行在 GNU/Linux
+系统上的程序和 Linux 通信要用到的。它由自由软件基金会的员工开发,包括 Roland McGrath。大多数 GNU/Linux 系统使用的
+shell是 <abbr title="Bourne Again Shell">BASH</abbr>,Bourne Again
+Shell(1),它是由 FSF 的员工 Brian Fox 开发的。</p>
-<p>我們資助這些程式的開發,因為 GNU 專案可不只是提供工具或開發環境而已。我們的目標是打造出完整的作業系統,而我們需要這些程式才能達到這個目標。</p>
+<p>我们资助这些程序的开发是因为GNU工程不仅有工具或开发环境,我们的目标是完整的操作系统,而这些程序是完成目标需要的。</p>
-<p>(1)「Bourne Again Shell」是對「Bourne Shell」作的文字遊戲,Bourne Shell 是 Unix 上常見的外表殼。</p>
+<p>(1) &ldquo;Bourne Again Shell&rdquo;是对&ldquo;Bourne
+Shell&rdquo;这一名称表达敬意,后者是Unix系统上常用的shell。</p>
-<h3>自由軟體支援服務</h3>
+<h3>自由软件技术支持</h3>
-<p>自由軟體理念思想反對特定的普遍商業作法,但不是反對商業。只要商業公司能尊重使用者的自由,我們便祝福他們成功。</p>
+<p>自由软件的哲学拒绝一类特定的广为人知的商业实践,但是它并不反对商业。当商业尊重用户的自由时,我们希望它们能够成功。</p>
-<p>銷售 Emacs 副本是自由軟體事業的作法之一。當 FSF
-接手這項業務之後,我得找出其他討生活的方法。我發現可以銷售我之前開發的自由軟體的相關服務。這類業務包括教學,例如 GNU Emacs
-程式是怎樣設計的、怎樣客製 GCC 等主題,還有軟體開發等,大多是希望將 GCC 移植到新平臺上。</p>
+<p>销售Emacs的拷贝就展示了一种这样的自由软件商业模式。当FSF接手了该业务,我就需要找另一种谋生的手段。我发现我可以销售针对我开发的自由软件的技术服务。这包括教授,比如如何针对GNU
+Emacs编程和如何定制GCC;还包括软件开发,多数情况是将GCC移植到新的平台。</p>
-<p>今日有許多企業行號採用這些自由軟體的各種業務作法。有的透過 CD
-散布自由軟體集合;也有的銷售支援服務,範圍包括回答使用者問題、修正臭蟲、添加重大新功能等。我們甚至開始看到有些自由軟體公司是因為要發展新的自由軟體產品而成立。</p>
+<p>现如今,不少公司都在进行诸如此类的自由软件商业实践。它们有的发行自由软件CD-ROM,有的做各类技术支持,从回答用户问题到修复缺陷,以至添加新功能。我们甚至开始看到开发新自由软件产品的自由软件公司。</p>
-<p>不過,要小心——有許多公司把自己和「開源」或「Open
-Source」這個詞彙關聯在一起,但實際上他們的業務著重於能配合自由軟體運作的非自由軟體。這些公司不是自由軟體公司,他們是專有軟體公司,他們的產品是要引誘使用者離開自由。他們稱呼這些程式為「加值軟體包」,表達他們希望大家採納的價值觀:方便,比起自由更重要。如果我們更注重自由,我們應該稱呼這些程式為「刪減自由」軟體包。</p>
+<p>不过,请注意&mdash;有些公司号称自己&ldquo;开源&rdquo;,实际从事和自由软件相关的非自由软件的业务。它们不是自由软件公司,它们是专有软件公司。它们的产品诱使用户远离自由。它们号称其软件是&ldquo;增加价值的软件包&rdquo;,并希望我们接纳其价值:让好用超过自由。如果我们更珍视自由,我们就应该把这些软件叫做&ldquo;消减自由的软件包&rdquo;。</p>
-<h3>技術目標</h3>
+<h3>技术目标</h3>
-<p>GNU 的主要目標是自由軟體。就算 GNU 比起 Unix
-而言沒有任何技術上的優勢,也會有社會上的優勢:能讓使用者之間互助合作;還有道德上的優勢:尊重使用者的自由。</p>
+<p>GNU的首要目标是做自由软件。即使GNU技术上并不比Unix高明,它也有社区的优势——允许用户合作,它还有道德上的优势——尊重用户的自由。</p>
-<p>但是將眾所皆知的良好實務標準套用到我們的工作上也是很自然的事——舉例而言,採用動態配置資料結構避免武斷固定大小的限制,以及只要合理之處就盡可能處理所有的
-8 位元代碼等。</p>
+<p>但是,在工作中采用好的经验和标准是自然的&mdash;比如,动态分配数据结构可以避免固定的内存使用,只要合理就尽可能地采用8比特编码。</p>
-<p>此外,我們放棄了 Unix 專注於小型記憶體大小的作法,決定不要支援 16 位元的機器(當時很清楚 32 位元在 GNU
-系統完成之時將會是常態),並只有在記憶體用量超過 MB
-時才會不遺餘力降低它。在那些不大需要處理極大型檔案的程式中,我們仍鼓勵程式設計師讀取整分輸入檔到核心中,接著掃描內容不要擔心 I/O 問題。</p>
+<p>另外,我们摈弃了Unix的小内存思路,决定不支持16位的计算机(很清楚,当GNU系统完成时,32位的计算机应该是标准设备),而且没有必要在内存使用未超过1兆字节时就减少内存用量。对于不常使用非常大的文件的程序,我们鼓励程序员把输入文件全读入内存,然后再处理其内容而不再操心输入输出(I/O)。</p>
-<p>這些決定使得許多 GNU 程式在可靠性和速度上勝過它們在 Unix 上的競爭對手。</p>
+<p>这些决定使许多GNU程序在可靠性和速度上都超过了其Unix对手。</p>
-<h3>捐贈的電腦</h3>
+<h3>捐赠电脑</h3>
-<p>隨著 GNU 專案的名聲慢慢大起來,人們開始將跑著 Unix 的電腦捐贈給專案使用。這些捐贈非常有用,因為開發 GNU 組件的最簡單方法就是在 Unix
-上開發,接著一個一個替換掉系統上的組件。但是這引發一項道德議題:我們到底應不應該擁有 Unix 系統的副本。</p>
+<p>随着GNU工程的声誉高涨,人们开始捐赠一些运行Unix的电脑给GNU工程。这很有用,因为开发GNU部件最简单的方法就是在Unix的机器上开发,然后一个一个在该机器上把该部件用GNU部件代替。但是这里有一个道德的问题:我们是否可以有一份Unix拷贝。</p>
-<p>Unix 是專有軟體,而 GNU
-專案的哲學理念說過我們不應使用專有軟體。但是,如果我們套用「自我防衛而使用暴力合乎正義」的演繹推理過程,我的結論是:因為要開發自由版替代品以協助他人停止使用專有軟體,所以必須使用專有軟體的情況合乎情理。</p>
+<p>Unix是专有软件,而GNU工程的哲学说我们不应该使用专有软件。但是,使用和“用武力自卫是合法的”一致的推理,我认定使用专有软件开发自由软件是合法的:当这样做对开发专有软件的自由替代是关键的时候,因为这样才能帮助人们摆脱专有软件。</p>
-<p>但是,即便這是合乎正義的邪惡,它依然是種邪惡。今日我們不再保有任何 Unix
-系統副本,因為我們已經能用自由的作業系統取代。如果我們無法以自由的作業系統取代機器上的作業系統,那我們會改為撤換那臺機器。</p>
+<p>但是,即使有争议的做恶,还是一种做恶。今天,我们不再有任何Unix拷贝,因为我们已经用自由的操作系统代替了它们。如果我们不能用自由软件替换掉机器里的操作系统,我们就把机器替换掉。</p>
-<h3>GNU 工作列表</h3>
+<h3>GNU任务列表</h3>
-<p>隨著 GNU
-專案繼續發展,可用的和有人開發的系統組件數量逐漸增加,如果能有一份清單列出欠缺的組件名單會很有用。我們利用這份清單募集開發者撰寫缺失的拼圖一角。這份清單後來被熟知為「GNU
-工作列表」。除了缺少的 Unix 組件之外,我們也在清單中列出其他各種好用的軟體和文件專案,所有我們認為真正完善的系統應該具備的一切。</p>
+<p>随着GNU工程的前进,越来越多的系统组件被开发或被发掘出来。最后,我们发现制作一个组件缺失列表会很有用处。我们利用该列表来雇佣开发人员编写缺失的软件。这就是GNU任务列表。除了缺失的Unix部件,我们还列出了其他一些有用的软件和文档项目,我们认为它们是一个完整的系统所必须的。</p>
-<p>今日 (1),GNU 工作列表中已經幾乎沒有什麼 Unix
-組件——那部份的工作已經完成,只剩下幾個不見得必要的組件。但是這份清單充滿許多有些人稱為「應用程式」的專案。只要能吸引到小族群使用者人數以上的程式都是加入作業系統中的好東西。</p>
+<p>今天(1),GNU任务列表上已经没什么Unix部件了&mdash;这部分工作已经完成,除了一些不重要的组件。但是,有人会称这个列表上的项目是&ldquo;应用软件&rdquo;。它们是对一部分用户有吸引力的操作系统之上的软件。</p>
-<p>甚至遊戲都列在工作列表之中——從列表創立之初就包在裡面。Unix 包含遊戲,所以自然而然 GNU 應該也要有。但是對遊戲來說,能不能在 GNU
-上也有得玩不是個議題,所以我們沒有遵循 Unix 上有的遊戲列表。反之,我們列出許多使用者可能會喜歡的不同種類遊戲名單。</p>
+<p>即使游戏也在任务列表上&mdash;从一开始就在。Unix带有游戏,所以GNU自然也应该有。但游戏不必是兼容的,所以我们的游戏和Unix的游戏并不相同。相反,我们列出了一些用户可能喜欢的不同种类的游戏。</p>
-<p>(1)
-時間點為1998年。到了2009年,我們已不再維護這樣一份冗長的工作列表。社群開發自由軟體的速度之快以至於我們無法跟得上記錄的腳步。我們改為維護「高優先專案」列表,一份我們非常想要鼓勵人們撰寫的專案名單,長度較短。</p>
+<p>(1)当时是1998年。在2009年我们不再维护很长的任务列表。社区开发自由软件的速度是如此之快,我们甚至无法全部跟踪。所以,我们使用了高优先级项目列表,一个非常短的项目列表;我们真的鼓励用户来编写这些软件。</p>
-<h3>GNU 函式庫 GPL</h3>
+<h3>GNU软件库GPL</h3>
-<p>GNU C 函式庫使用一種特殊的著作傳式授權,稱為 GNU 函式庫通用公眾授權 (1),允許專有軟體和函式庫連結。為什麼要有這條例外條款?</p>
+<p>GNU C库使用一种特别的copyleft,它叫做GNU库通用公共许可证(1),它允许使用该库连接专有软件。为什么有这样一个例外?</p>
-<p>這無關原則;我們沒有原則說要賦予專有軟體產品收納我們程式碼的資格。(那為什麼要貢獻那些預期會拒絕和我們分享的專案?)讓 C 函式庫使用
-LGPL,或是讓任何函式庫使用 LGPL,是個策略問題。</p>
+<p>这不是原则的问题;没有原则说专有软件有权包含我们的代码。(我们为什么要为注定会拒绝和我们分享代码的项目做贡献?)C库或其他任何库使用LGPL许可证是战略问题。</p>
-<p>C 函式庫的用途很廣;每套專有系統或編譯器都隨附 C 函式庫。因此,只給自由軟體使用我們的 C
-函式庫,並不會為自由軟體生態帶來任何優勢——只會讓人不願使用我們的函式庫。</p>
+<p>C库完成的是普遍性的任务;每个专有系统或编译器都有自己的C库。所以,我们的C库只供自由软件使用并不会给自由软件更多的优势&mdash;它可能只会让大家避免使用我们的库。</p>
-<p>唯有一套系統是個例外:GNU 系統(包括 GNU/Linux),而 GNU C 函式庫是它唯一的 C 函式庫。所以 GNU C
-函式庫的散布條款能決定是否可以在 GNU 系統上編譯專有軟體。允許 GNU 系統上有專有軟體不合道德,但是就策略面而言禁止專有軟體似乎反而阻礙人們使用
-GNU 系統,鼓勵不到自由軟體的開發。那就是為什麼使用 LGPL 對於 C 函式庫而言是個好策略。</p>
+<p>有一个系统是例外:在GNU系统上(包括GNU/Linux),GNU C库是唯一的C库。所以GNU
+C库的发布条款决定着是否可以在GNU系统上编译专有软件。道德上没有理由在GNU系统上允许专有软件,但是战略上不允许专有软件可能更加不利于自由软件的发展。这就是为什么C库使用LGPL是一个好的战略。</p>
-<p>至於其他函式庫,決策需要根據各個案例的不同之處加以考慮。當某個函式庫對於協助撰寫某類程式有特殊作用時,那麼可以將它以 GPL
-發行,限制只能讓自由軟體取用,如此就能協助其他自由軟體開發者,讓他們有優勢對抗專有軟體。</p>
+<p>对于其他库,战略决定需要具体情况具体分析。如果一个库是帮助特定的程序完成特定的任务,那么它以GPL发布,只能用于自由软件。这样会帮助自由软件开发者有超越专有软件的优势。</p>
-<p>說到 GNU Readline,那是一套開發來提供 BASH 作指令列編輯的函式庫。Readline 是以原本的 GNU GPL 授權發行,而非函式庫
-GPL。這樣可能確實減少 Readline 被使用的次數,但對我們來說沒有什麼損失。目前,至少有個好用的應用程式因為要利用 Readline
-而特地做成自由軟體,那真是社群的一大收穫。</p>
+<p>以GNU Readline为例,它是为编辑BASH命令行而开发的库。它以常规的GNU
+GPL,而不是以LGPL发布。这样可能减少了Readline的使用量,但这不是我们的损失。同时,至少能够使用Readline使自由软件变得特别,从而使社区获得优势。</p>
-<p>專有軟體的開發者有金錢給予的優勢;而自由軟體開發者需要為彼此創造優勢。我希望有一天我們會有許許多多受 GPL
-保護、無法和專有軟體平行運作的函式庫,能一同提供好用的模組作為建構新自由軟體的磚塊,全部加總起來成為更巨大的優勢以利自由軟體向前發展。</p>
+<p>专有软件开发者有金钱带来的优势;自由软件开发者需要互相帮助的优势。我希望有一天我们拥有大量的GPL的库而专有软件没有,这些库是开发新的自由软件的材料,它们加在一起构成了进一步开发自由软件的主要优势。</p>
-<p>(1) 這個授權條款目前已經改稱為 GNU 寬鬆通用公眾授權 (Lesser General Public
-License),避免造成所有函式庫都該使用這個授權條款的想法。請參閱<a
-href="/philosophy/why-not-lgpl.html">為何你不應該讓你下個函式庫使用 LGPL</a> 深入瞭解更多資訊。</p>
+<p>(1)该许可证现在叫做GNU宽通用公共许可证,以避免大家误以为全部库都可以使用该许可证。参看<a
+href="/philosophy/why-not-lgpl.html">为什么你的下一个库不应该使用LGPL许可证</a>来了解更多信息。</p>
-<h3>搔個癢?</h3>
+<h3>解决痛点?<sup><a href="#TransNote2">2</a></sup></h3>
<p>
-艾力克・雷蒙 (Eric Raymond) 曾說:「每個軟體佳作都是從搔開發者自身的癢處開始」。或許那種事情偶爾會發生,但是許多 GNU
-軟體的重要組件都是基於希望打造出完整的自由作業系統而開發的。它們的創造出自遠見和計畫,而不是衝動。</p>
+Eric
+Raymond说&ldquo;每个软件杰作都开始于开发者解决个人的一个痛点。&rdquo;这个也许时有发生,但是许多GNU软件是为了完成自由的操作系统而开发的。它们来自于远见和计划,而不是冲动。</p>
<p>
-舉例來說,我們開發了 GNU C 函式庫,是因為 Unix 風系統要有 C 函式庫;還有 BASH,因為 Unix 風系統要有表殼 (shell);以及
-GNU tar,因為 Unix 風系統要有個 tar 程式。至於我所撰寫的程式亦是如此——GNU C 編譯器、GNU Emacs、GDB 和 GNU
-Make 等。</p>
+比如,我们开发GNU C库因为类Unix的系统需要一个C库,我们开发BASH因为类Unix的系统需要一个shell,我们开发GNU
+tar因为类Unix的系统需要一个tar程序。我自己的程序&mdash;GNU C编译器、GNU Emacs、GDB和GNU Make也是一样。</p>
<p>
-有些 GNU 程式的開發是為了處理我們自由所面臨的威脅。所以,我們開發了 gzip 取代 Compress 程式,這是因為 <abbr
-title="Lempel-Ziv-Welch">LZW</abbr> 專利讓社群失落了一塊。我們也資助一些人開發 LessTif,還有最近剛啟動的
-<abbr title="GNU Network Object Model Environment">GNOME</abbr> 和 Harmony
-專案,都是為了處理特定專有函式庫所造成的問題(請見後面描述)。我們同時也在開發 GNU Privacy Guard
-來取代受歡迎的非自由加密軟體,因為使用者不應陷在隱私與自由兩者之間做抉擇。</p>
+有些 GNU 程序的开发是为了对付威胁我们自由的某些特殊敌人。为此,我们开发了 gzip 来代替 Compress 程序,该程序由于 <abbr
+title="Lempel-Ziv-Welch">LZW</abbr> 专利而离开自由社区。我们找人开发 LessTif,最近又开始开发 <abbr
+title="GNU Network Object Model Environment">GNOME</abbr> 和
+Harmony,用来解决由于某些专有库(见下)带来的问题。我们还在开发 GNU Privacy Guard
+来代替非自由的加密软件,因为用户不应该在自由和隐私之间做选择。</p>
<p>
-當然,撰寫這些程式的人也會開始對這類工作感到有趣,而各式各樣的人基於自身需求和興趣而逐步加入許多功能。但那些都不是程式誕生的主因。</p>
+当然,编程的人对这些工作很感兴趣,并且许多人因为自己需要和兴趣添加了许多功能。但那不是这些程序存在的理由。</p>
-<h3>未預期的開發</h3>
+<h3>未预见的开发</h3>
<p>
-在 GNU 專案創立之初,我想像著我們會先開發出整個 GNU 系統,然後再整套一起發行。不過現實並非如此。</p>
+在GNU工程开始时,我想象的是我们可以开发好完整的GNU系统,然后再发布。事实不是那样发展的。</p>
<p>
-只要隨著各個 GNU 系統的組件在 Unix 系統上實作出來,各組件就能逐步在完整的 GNU 系統出現以前先在 Unix
-系統上替換運行。這些程式中有的很受歡迎,使用者開始擴充這些軟體並移植——移植到各種不相容的 Unix 版本中,也有時候被移植到其他系統去。</p>
+由于每个GNU部件都是在Unix系统上实现的,所以各个部件在GNU整体完成之前早就在Unix系统上运行了。其中一些程序大家都很喜欢,而且有用户开始扩展和移植它们&mdash;到各种不兼容的Unix版本以及其他一些系统。</p>
<p>
-這套流程讓這些程式變得更為強大,並且為 GNU 專案吸引到資金和貢獻者。但這也可能是導致最低限度可運作系統延宕多年才完成的原因,因為 GNU
-開發者得投入時間維護這些移植版,並且為既有的組件增添新功能,所以較少接續撰寫另一項 GNU 還未有的組件。</p>
+这个过程使得这些程序更强大,并且为GNU工程吸引了资金和贡献者。可是,它也使完成最小系统的工作延缓了数年,因为GNU开发者的精力都放在维护这些组件的移植和新功能上,而无暇顾及开发那些缺失的组件。</p>
<h3>GNU Hurd</h3>
<p>
-到了1990年,GNU 系統幾近完成;唯一缺少的重要組件是內核心。我們決定要將我們的內核心實作成跑在 Mach 上的伺服器程序集合。Mach
-是先在卡內基梅隆大學 (Carnegie Mellon University) 開發,後來在猶他大學 (University of Utah)
-開發的微核心 (microkernel);而 GNU Hurd 是跑在 Mach 上的一群伺服器(解釋:如果要說一群 GNU 的話,因為 gnu
-是牛羚,所以英語要講 a herd of GNUs,而 Hurd 正好和 herd 同音),能執行 Unix
-內核心的許多工作。開發的啟動有所延遲,因為我們在等 Mach 採自由軟體授權發行,這件事他們先前有承諾過。</p>
+1990年时,GNU系统基本上完成了;主要部件只缺少内核。我们早已决定我们的内核是运行在Mach上的服务进程集合。Mach是卡内基梅隆大学和犹他大学先后开发的微内核;GNU
+Hurd(即GNU驾驭者)是运行在Mach之上的服务程序集合,它们完成Unix内核做的那些工作。因为等待Mach依照保证以自由软件发布,我们的开发工作延迟开始。</p>
<p>
-選擇這樣設計的其中一個原因是,希望避開工作中看起來最艱難的部份:在沒有來源階段除錯器 (source-level debugger)
-的幫助下為內核心程式除錯。這部份的工作在 Mach 中已經完成,所以我們打算以使用者層級程式的方法對 Hurd 伺服器用 GDB
-除錯。但這卻花上很長一段時間才逐漸行得通,多執行序的伺服器彼此間傳送訊息反而讓除錯變得極為困難。我們耗費很多年的時間才讓 Hurd 能穩固地運作。</p>
+选择该设计的一个原因是避免看起来是最困难的那部分工作:在没有源代码的级别的调试器上调试内核程序。该工作已经在Mach上完成了,我们期待的是用GDB以调试用户程序的模式调试Hurd的服务进程。但是这个花了很长的时间才实现,互相发送消息的多线程服务程序的调试实际上非常难。使Hurd能够完全工作的努力延续了许多年。</p>
<h3>Alix</h3>
<p>
-GNU 的內核心起初沒有打算叫作 Hurd。最早的名字是 Alix——當時我最心愛的女人。Alix 是一位 Unix
-系統管理員,她曾提過自己的名字剛好很合 Unix
-系統版本的常見命名規則;她以說笑話的方式向朋友們說:「真該有人用我的名字幫核心命名的。」我什麼話也沒說,只是下定決心要做一個名為 Alix
-的內核心來給她驚喜。</p>
+GNU内核最初并不打算叫Hurd。它原来的名字叫Alix&mdash;以我当时的心上人为名。她是一个Unix系统管理员,她曾说自己的名字和Unix系统版本的通用命名模式一致;她以玩笑的口吻对朋友说,&ldquo;人们应该以我的名字命名内核。&rdquo;我什么也没说,却决定以Alix命名内核来给她一个惊喜。</p>
<p>
-好景不常。Michael Bushnell(現在改名 Thomas),內核心的主要開發者,更偏好 Hurd 這個名稱,然後把 Alix
-重新定義為內核心的其中一部分——捕捉系統呼叫並傳送訊息給 Hurd 伺服器來處理它們的這部分。</p>
+这个名字没有流传下来。Michael(现在的Thomas)Bushnell,内核的主要开发者,更喜欢Hurd这个名字,他把Alix重新定义为内核的某个部分&mdash;就是捕获系统调用并向Hurd服务程序发送处理消息的那部分。</p>
<p>
-後來,Alix 和我分手,她還改了名字;另外,Hurd 設計也改了,C 函式庫會直接傳訊息給伺服器,所以 Alix 組件也從設計中消失了。</p>
+后来,我和Alix分开了,她改了名字;不约而同,Hurd也改了设计,C库直接向服务程序发送消息,Alix部件就从内核里消失了。</p>
<p>
-而在這些事發生之前,Alix 的其中一位朋友曾偶然發現 Hurd 源始碼中有個
-Alix,所以跟她提過這件事。因此,她確實因緣際會知道曾有個內核心是用她的名字命名的。</p>
+但是在此之前,她的朋友在Hurd代码里看到了Alix,并告诉了她。所以,她的确获得了以她名字命名的内核。</p>
-<h3>Linux 和 GNU/Linux</h3>
+<h3>Linux和GNU/Linux</h3>
<p>
-GNU Hurd
-不適合一般工作生產使用,我們也不知道它到底能不能走到那步。以能力為基礎的設計反而因為設計的彈性而造成直接問題,我們也不清楚到底有沒有個解決方案。</p>
+GNU Hurd现在还不适用于产品级应用。我们也不知道它什么时候可以成熟。灵活的设计直接导致系统能力设计出现问题,而且解决方案还不清楚。</p>
<p>
-幸好,還有另一個內核心。1991年林納思・托瓦茲 (Linux Torvalds) 開發了一個 Unix 相容的內核心,稱之為
-Linux。一開始它是專有軟體,不過在1992年時改為自由軟體;如果我們把 Linux 和沒那麼完整的 GNU
-系統結合在一起,就成了一套完整的自由作業系統。(當然,把它們搭在一起本身也是個很重要的工作。)因為有了 Linux,我們今日才得以真正運行一套 GNU
-系統。</p>
+幸运的是,还有另一个内核。1991年,Linus
+Torvalds开发了一个和Unix兼容的内核,并称之为Linux。它一开始是专有软件,但是在1992年,他把它变成自由软件;把Linux和还不完全的GNU系统结合在一起就形成了一个完全的自由软件操作系统。(当然,合并它们两个本身就是一个庞大的工程。)正是由于有了Linux,我们今天才能够运行一个GNU系统。</p>
<p>
-我們將這樣的系統版本稱為 <a href="/gnu/linux-and-gnu.html">GNU/Linux</a>,表達這是個 GNU 系統和
-Linux 內核心的結合成果。請不要與世推移跟著把整套系統稱為「Linux」,因為這種講法表示把我們的工作成果全都歸功在別人名下。請<a
-href="/gnu/gnu-linux-faq.html">平等提及我們的貢獻</a>。</p>
+我们称之为<a
+href="/gnu/linux-and-gnu.html">GNU/Linux</a>,以表达它是GNU系统和Linux内核的结合。请不要隨大溜地把整个系统叫做&ldquo;Linux&rdquo;,因为那样就把我们的工作归功于他人了。请<a
+href="/gnu/gnu-linux-faq.html">给予我们平等的宣传</a>。</p>
-<h3>我們未來的挑戰</h3>
+<h3>未来的挑战</h3>
<p>
-我們已經證明我們有能力開發廣泛的自由軟體。這不表示我們勢不可擋而且無人能敵。還有許多挑戰讓自由軟體的未來不明朗;要達成這些挑戰須要恆心和毅力,有時得持續很多年。這需要大家展現出那種珍重自由、不願讓任何人奪走的決心。</p>
+我们已经证明我们有能力开发很多自由软件。这并不是说我们不可战胜、不可阻挡。有些挑战会使自由软件的未来变得不确定;面对挑战需要毫不动摇的努力和忍耐力,有时需要长年累月。它需要人们珍重自由时所表现的那种决心,自由绝不能旁落。</p>
<p>
-下面四個小節討論將分別探討這些挑戰。</p>
+以下四节讨论这些挑战。</p>
-<h3>祕密硬體</h3>
+<h3>保密的硬件</h3>
<p>
-硬體製造商越來越傾向讓硬體規格成為機密。這使得要撰寫出自由驅動程式好讓 Linux 和 XFree86
-能支援新硬體變得更為困難。雖然我們今日已經有完整的自由系統,但只要我們無法支援明日的電腦,我們明日就無法擁有完整的自由系統。</p>
+硬件制造商越来越倾向于保守硬件规格的秘密。这使为Linux和XFree86编写支持新硬件的自由驱动软件变得困难起来。今天我们有了完整的自由软件系统,但是如果不能支持未来的计算机,我们明天就会失去这个自由软件系统。</p>
<p>
-有兩種處理這類問題的辦法。程式設計師可以逆向工程以理解該如何支援這個硬體。剩下的我們,則可以選擇自由軟體能支援的硬體;只要我們的人數增加,祕密規格就成了自我毀滅的策略。</p>
+有两种方法对付这个问题。程序员可以通过逆向工程了解这些硬件的工作原理。其他人可以选择使用那些被自由软件支持的硬件;随着我们的人数增长,保守硬件规格的秘密就变成是固步自封。</p>
<p>
-逆向工程是個大工程;我們有決心堅定的程式設計師來承擔這些事嗎?有的——只要我們能建造出自由軟體是行事準則、非自由的驅動程式無法容許的強烈感受。那麼我們之中會有許多人願意多花一些錢,或甚至多花一點時間,來讓我們可以使用自由的驅動程式嗎?會的,只要保有自由的決心能夠廣泛傳播。</p>
+逆向工程是一个艰巨的任务;我们的程序员是否有足够的决心担起重任?是的&mdash;如果我们强烈地感觉到自由是一个原则问题,而非自由的驱动软件是无法容忍的。会有很多人愿意花额外的钱、甚至花一点额外的时间让我们用上自由的驱动软件吗?是的,如果我们想要自由软件的决心广泛传播。</p>
<p>
-(2008年註:這個議題也延伸到 BIOS。有個自由的 BIOS,<a
-href="http://www.libreboot.org/">LibreBoot</a>(coreboot
-的散布版);問題在於要取得機器的規格,如此 LibreBoot 才得以支援這些設備而不必用到非自由的「Blob」)</p>
+(2008年注:此问题还扩展到BIOS程序。这里有一个自由的BIOS软件,<a
+href="http://www.libreboot.org/">LibreBoot</a>(coreboot的一个发行版);问题在于获得计算机的规格以便LibreBoot能够不使用非自由的&ldquo;blobs&rdquo;软件包也能够支持这些计算机。)</p>
-<h3>非自由函式庫</h3>
+<h3>非自由软件库</h3>
<p>
-在自由作業系統上運行的非自由函式庫是個為自由軟體開發者設計的圈套。函式庫的迷人特性是誘餌;如果你用了這套函式庫,你就掉進圈套裡,因為你的程式無法有用地成為自由作業系統中的一部分。(嚴格來說,我們可以收錄你的程式,但它卻因為缺少函式庫而無法<em>執行</em>。)更糟的是,如果有個採用專有函式庫的程式變得廣受歡迎,還會誘使其他沒料想到問題的程式設計師一起落入圈套中。</p>
+运行在自由操作系统里的非自由软件库是自由软件开发者的一个陷阱。这些软件库看上去很美的功能是诱饵;如果你使用了该软件库,你就落入了陷阱,因为你的程序不能再作为自由软件的部件来使用。(严格来说,我们可以包含你的程序,但是它没有了非自由软件库将无法<em>运行</em>。)更糟糕的是,如果使用专有软件库的程序变得流行起来,它就会诱惑其他未起疑心的程序员落入同样的陷阱。</p>
<p>
-這問題的第一個實例是1980年代的 Motif 工具組。雖然那時還沒有自由的作業系統,但很明顯 Motif 會衍生後續問題。GNU
-專案以兩個作法回應:邀請各自由軟體專案像支持 Motif 一樣地支持自由的 X Toolkit widget 元件,以及四處詢問是否有人可以撰寫
-Motif 的自由替代品。這項工作花了許多年;由 Hungry Programmers 開發的 LessTif,只在1997年就足以成熟支援絕大多數的
-Motif 應用程式。</p>
+第一个这样的例子是80年代的Motif工具包。虽然那时还没有自由的操作系统,但是很明显Motif将会导致什么样的问题。GNU工程做出了两个回应:一方面请求个别自由软件项目支持Motif工具包的同时也支持自由的X工具包,另一方面请求黑客编写替代Motif的工具包。该工作持续了许多年;直到1997年,由匈牙利程序员开发的LessTif,才变得足够强大来代替Motif的大部分功能。</p>
<p>
-在1996年到1998年之間,另一個叫作 Qt 的非自由 <abbr title="Graphical User
-Interface">GUI</abbr> 圖形介面工具組函式庫,則被用於 <abbr title="K Desktop
-Environment">KDE</abbr> 桌面這套實用的自由軟體集合中。</p>
+从 1996 年到 1998 年,另一个非自由 <abbr title="Graphical User
+Interface:图形界面">GUI</abbr> 工具包,叫做 Qt,被一个实际上是自由软件的集合,<abbr title="K Desktop
+Environment:K 桌面环境">KDE</abbr> 桌面所使用。</p>
<p>
-自由的 GNU/Linux 系統無法使用 KDE,因為我們無法利用這些函式庫。但是,有些商業型 GNU/Linux
-系統的散布商對忠守自由軟體沒那麼嚴謹,便將 KDE 加到他們的系統中——更多功能、但較少自由的系統於焉誕生。KDE 那群人很積極鼓勵程式設計師採用
-Qt,而這數百萬個新手「Linux 使用者」也從沒接觸過這樣做會有問題的想法。</p>
+自由的GNU/Linux系统当时无法使用KDE,因为我们不能使用那个工具包。然而,一些商业的GNU/Linux发行商没有坚持自由软件的理念,将KDE添加到他们的系统&mdash;生产了有更多功能、但更少自由的系统。KDE团队积极鼓励更多的程序员使用Qt软件库,数百万的新&ldquo;Linux用户&rdquo;从来没有被告知这里有问题。情况变得严峻。</p>
<p>
-自由軟體社群以兩項專案回應:GNOME 與 Harmony。</p>
+自由软件社区对此做出了两个回应:GNOME和Harmony。</p>
<p>
-GNOME,全名為 GNU 網路物件模型環境 (GNU Network Object Model Environment),是 GNU
-的桌面專案。該專案由 Miguel de Icaza 於1997年創立,在 Red Hat 公司的支持之下開發。GNOME
-專案試圖提供類似的桌面功能,但是完全採用自由軟體。此外,它還有一些技術上的優點,例如廣泛支援許多語言,不單只有 C++
-而已。不過它的主要重點還是自由:不須要用到任何非自由軟體。</p>
+GNOME(GNU Network Object Model
+Environment,GNU网络对象建模环境)是GNU的桌面项目。它在1997年由Miguel de Icaza开始,并由Red Hat
+Software支持开发,GNOME致力于提供相似的桌面支持,但完全使用自由软件。它在技术上也要领先,比如支持多种编程语言,而不是只支持C++。但是主要的目的还是自由:不必依赖任何非自由软件。</p>
<p>
-Harmony 是個相容的替代函式庫,設計希望能在不使用 Qt 的情況下執行 KDE 軟體。</p>
+Harmony是一个兼容性替代库,其设计用来运行KDE软件而无需使用Qt。</p>
<p>
-1998年11月時,Qt 的開發者宣布更動授權條款,實現之後應該能讓 Qt 變成自由軟體。雖然我們沒有辦法確定,不過我相信這件事有部份受到社群對 Qt
-非自由的問題做出堅強回應的影響。(新授權條款不方便而且不平等,所以能避免使用 Qt 的話還是比較好。)</p>
+在1998年11月,Qt的开发者宣布更改授权协议,新协议实际上要使Qt变成自由软件。虽然无法核实,不过我还是认为这一举动有一部分是由于我们社区对Qt作为非自由软件的有力回应。(新的授权协议不方便也不对等,所以最好还是避免使用Qt。)</p>
<p>
-[後記:2000年9月,Qt 以 GNU GPL 授權重新發行,明確解決了前述這些問題。]</p>
+[后续注:在2000年9月,Qt按照GNU GPL发布,这就从根本上解决了这个问题。]</p>
<p>
-如果下個誘人的非自由函式庫出現時我們該如何因應?整個社群會明瞭跳脫圈套的必要性嗎?或是我們之中有許多人願意捨棄自由將就方便,最終產生更遠大的問題?我們的未來取決於我們的理念思想。</p>
+我们会如何回应下一个非自由软件库的诱惑?整个自由社区是否都会理解我们应该躲开陷阱?抑或有人会为了好用而放弃自由,从而制造大麻烦?我们的未来要靠我们的哲学。</p>
-<h3>軟體專利</h3>
+<h3>软件专利</h3>
<p>
-我們所面對的最可怕威脅來自軟體專利。軟體專利能限制自由軟體不能實作某些演算法和功能,時間長達 20 年之久。LZW
-壓縮演算法於1983年申請到專利,但我們仍然不能發行可製作適當壓縮的 <abbr title="Graphics Interchange
-Format">GIF</abbr> 圖片檔的自由軟體。[直到2009年所有相關專利才全數過期。] 在1998年時,有個能製作 <abbr
-title="MPEG-1 Audio Layer 3">MP3</abbr>
-壓縮音訊的自由程式因為受到專利訴訟威脅而從散布版中移除。[直到2017年,這些專利才全數過期,看我們到底等了多久。]
+我们面临的最恶劣的威胁是软件专利,它可以用算法和功能点限制自由软件最长达 20 年。LZW 压缩算法于 1983
+年启用专利,我们至今不能发布可以生成适当压缩的 <abbr title="Graphics Interchange
+Format,图形交换格式">GIF</abbr> 图片的自由软件。[在 2009 年,这些专利过期。]在 1998 年,由于受到专利的威胁,一个生成
+<abbr title="MPEG-1 Audio Layer 3">MP3</abbr> 格式的音频压缩自由软件从发行版中被移除了。[在 2017
+年,这些专利过期。看看我们等了多长时间。]
</p>
<p>
-有一些辦法可以處理專利:我們可以搜尋專利無效的證據,我們也可以改尋求其他方式來完成同件事情。但是這些方法不見得每次都管用;有些時候這兩種方法都辦不到,專利可迫使所有自由軟體都欠缺某些使用者想要的功能。在長時間等待後,專利終於過期,但那時候我們能做些什麼?</p>
+我们有些方法来对付专利:我们可以寻找专利是无效的证据,我们还可以寻找其他的方法替代专利限制的方法。但是这些方法不总是有效;当上述两种方法都失败时,专利可能迫使自由软件无法具备用户需要的某些功能。经过长时间的等待,专利会过期,但是在此之前我们怎么办?</p>
<p>
-我們之中因為自由的價值而重視自由軟體的人,無論如何都會願意留下來和自由軟體待在一起;我們會努力設法在缺少專利功能的情況下完成事情。但那些認為自由軟體在技術上較進步而偏好自由軟體的人,在專利拖住自由軟體發展之時卻會說這是自由軟體的失敗。所以,雖然談論「市集」開發模型在實務上很有效、以及說有些自由軟體很穩定很有力的觀點等,對於推動自由軟體很有用處,但我們不該就停在那裡。我們必須進一步談論自由和原則問題。</p>
+因为自由的原因而珍视自由软件的人们总是会和自由软件保持一致。我们会设法在没有这些功能的情况下完成工作。但是还有那些因为期待自由软件功能优越而喜欢自由软件的人,他们可能在看到专利的限制后会觉得自由软件是个失败。因此,当我们谈论&ldquo;集市(bazaar)&rdquo;开发模式的实际有效性的时候,在我们谈论自由软件的可靠性和强大功能的时候,我们不要停留在这些话题上。我们必须要谈论自由和原则。</p>
-<h3>自由文件</h3>
+<h3>自由文档</h3>
<p>
-我們的自由作業系統最缺乏的一部分不是軟體——真正缺乏的是能收錄到我們系統中的優質自由手冊。文件是任何軟體包必要的一部分;當重要的自由軟體包沒有隨附良好的自由手冊時,那是一塊大缺陷。我們今日還有許多這樣子的缺陷。</p>
+自由软件操作系统的最大不足不是软件&mdash;而是缺少优秀的自由文档。文档是软件包的基本组成部分;一个重要的自由软件包没有相应的优质自由文档,就是差距。这样的差距我们目前有很多。</p>
<p>
-自由文件,好比自由軟體,同樣關乎自由,而非價格。自由文件的判斷準則約略與自由軟體相同:給予所有使用者特定的自由。必須允許再次散布(包含商業銷售),無論媒體採用線上或紙本,如此手冊便得以伴隨程式副本。</p>
+自由文档,和自由软件一样,关乎自由,而不是价格。自由文档的标准和自由软件大同小异:它给予所有用户自由。文档必须能够重新发布(包括商业销售),无论是在线还是纸质,这样每个软件拷贝就都能带有文档。</p>
<p>
-允許修改也很關鍵。至於常理,我認為人們不一定得有權修改所有種類的文章和書籍。例如,我認為你或我都不應當有權利修改和本文相同類型的文章,因為本篇文章描述的是我們的動作行為和我們的想法觀點。</p>
+文档允许修改也很关键。作为一般性规则,我不认为有必要允许人们修改所有种类的文章和书籍。比如,我不认为你或我应该被允许修改本文,本文描述的是我们的行动和看法。</p>
<p>
-但自由軟體的文件必須可以自由修改有個特別原因。當人們行使其權利修改軟體,加入或更動軟體功能,如果他們一併對手冊的刪改下苦心——就能為修改後的程式提供準確且有用的文件。若是非自由的手冊,便不允許程式設計師費此用心完成作業,也就無法滿足我們社群所需。</p>
+但是拥有修改自由软件文档的自由是关键的,是有特别的原因的。当人们实践修改软件的权利&mdash;添加或改变软件的功能时,如果他们是尽责的,他们还会修改文档&mdash;这样他们就会为修改后的软件提供准确和可用的文档。非自由的文档不允许程序员尽责并完成文档工作,不符合我们社区的需要。</p>
<p>
-有些禁止修改的限制不會造成什麼問題。例如,要求保留原始作者的著作權聲明、散布條款、或是作者名單,這些都合理。要求修改後版本納入聲明表示該作品有經過修改一樣沒有問題,甚至是要求不可以刪除或修改某整個段落也相同,只要這些段落講的是非技術相關主題就行。這些限制不成問題,因為它們無法阻止用心的程式設計師把手冊編修得更符合修改後的程式版本。換句話說,這些限制無法阻止自由軟體社群完整利用這份手冊。</p>
+关于如何修改文档的某些限制不是问题。比如,要求保留原作者的版权声明、发布规则或作者列表,是合适的。要求修改版包含修改声明也没问题。如果不是技术话题,即使要求整个声明不被删除或修改也没问题。这些限制不是问题因为它们没有阻止尽责的程序员修改文档以适应软件的修改。换句话说,它们没有阻止自由软件社区使用整个文档。</p>
<p>
-然而,必須要可以修改手冊中所有<em>關於技術</em>
-的內容,並且能接著將成果載於所有常見媒體、透過所有尋常管道散布;否則,這類限制確實會阻礙社群,這樣一來這份手冊就不自由,我們需要撰寫其他手冊。</p>
+然而,必须要允许修改文档的所有<em>技术</em>内容,并允许从所有常规渠道以所有常规媒体发布;否则,就限制了社区,文档就不是自由的,我们就会需要另一个文档。</p>
<p>
-自由軟體開發者是否能覺知到自由手冊,並且有決心製作出全面的自由手冊呢?再一次,我們的未來取決於我們的理念思想。</p>
+自由软件的开发者有没有觉悟和决心来写出全方位的自由文档?我们的未来又一次依赖于我们的哲学。</p>
-<h3>我們必須談論自由</h3>
+<h3>我们必须论及自由</h3>
<p>
-今日估計約有上千萬人使用 GNU/Linux 系統,例如 Debian GNU/Linux 和 Red
-Hat「Linux」。自由軟體已發展出實務上的優勢,讓使用者們純粹基於實務因素群集至此。</p>
+估计当今有一千万GNU/Linux用户,他们使用诸如Debian GNU/Linux和Red Hat&ldquo;
+Linux&rdquo;系统。自由软件已经发展得如此优越,以至于用户仅仅因为其实用性就蜂拥而至。</p>
<p>
-這件事帶來的好處很明顯:有越多人對開發自由軟體有興趣,就有越多顧客會尋求自由軟體業務,也更能鼓勵公司開發商業的自由軟體而非專有軟體產品。</p>
+好的效果是显而易见的:更多开发自由软件的兴趣、更多自由软件行业的客户和对开发商用自由软件而不是专有软件的公司的更有力的鼓舞。</p>
<p>
-但是對自由軟體產生興趣的速度,遠比體認到自由軟體的理念思想還快,而這將招致禍害。要知道我們面對上述挑戰與對抗威脅的能力,取決於我們願意為自由挺身而出的堅定意志。若要確使我們的社群能有這樣的意志,我們必須將理念散播給剛來到社群中的使用者知道。</p>
+但是对软件兴趣的高涨超过了对其哲学基础的认知,这会导致麻烦。我们面对上述挑战和威胁的能力依赖于我们坚定地站在自由这一边。要使社区有同样的意志,我们需要向新加入社区的伙伴传播我们的理念。</p>
<p>
-但是我們越來越難辦到:吸引新使用者進入我們社群所下的功夫,遠勝於向他們教導我們社群的公民學所費的苦工。我們需要兩者兼為,而且我們要在兩者所做的努力間維持平衡。</p>
+但是我们正在此处失败:我们吸引新用户的努力大大超过了教育他们成为合格社区公民的努力。我们要两手都抓,也要两手一样硬。</p>
-<h3>「開源」</h3>
+<h3>&ldquo;开源&rdquo;</h3>
<p>
-1998年,要教育新使用者有關自由之事變得更加困難,因為社群有一部分人決定停止使用「自由軟體」這個詞語,改說成「開源軟體」(open source
-software)。</p>
+在1998年,教育新用户自由的理念变得更加困难,当时部分社区成员决定使用&ldquo;开源&rdquo;代替&ldquo;自由软件&rdquo;。</p>
<p>
-有些人喜歡用這個詞,主要是因為英語中的「free」也有「免費」的含意,所以想避免混淆——很有道理。其他人,不一樣,他們希望把驅使自由軟體和 GNU
-專案發展的原則精神丟在一旁,然後用這個詞語去吸引執行長、企業用戶等,而這群人大多有著:利益高於自由、高於社群、高於原則的想法。所以,「開源」這個巧辯詞聚焦在產出高品質、強大軟體的可能性上,但是迴避自由、社群、原則這些想法。</p>
+其中一些人的目的是避免&ldquo;自由&rdquo;和&ldquo;免费&rdquo;的混淆&mdash;这是个合理的目的。不过,另一些人,却意在把激励自由软件运动和GNU工程的精髓抛在一边,去迎合行政和商业用户,其中很多人的理念是盈利超越自由、超越社区、超越原则。因此,&ldquo;开源&rdquo;一词聚焦于制作高质量、强功能的软件的能力,而回避自由、社区和原则的理念。</p>
<p>
-各種「Linux」雜誌就是明確的範例——書中充斥著能在 GNU/Linux 上運作的專有軟體廣告。如果有下一個 Motif 或是 Qt
-出現,這些雜誌難道會警告程式設計師該遠離它嗎?還是會幫它打廣告?</p>
+&ldquo;Linux&rdquo;杂志就是一个明确的例子&mdash;其中塞满了工作在GNU/Linux系统之上的专有软件的广告。当再有Motif或Qt之类的软件出现,这些杂志是该警告程序员远离它们呢,还是会为它们打广告呢?</p>
<p>
-商業支持確實對社群有各種貢獻;商業以外的其餘貢獻也相同,都很有用。但如果要讓我們減少談論自由與原則來贏得商業支持會是個災難;這使得先前社群的拓展與公民學教育之間的不平衡變得更為傾斜。</p>
+商业的支持能够在很多方面为社区做贡献;其他条件合适时,这是有用的。但是通过少说自由和原则来获取它们的支持是灾难性的;这使前面提到的增加用户和教育公民的不平衡变得更糟。</p>
<p>
-「自由軟體」和「開源軟體」描述的是差不多相同類別的軟體,但講的是軟體的不同特點、和不同的價值觀。GNU
-專案持續使用「自由軟體」一詞來傳達自由的想法,不只是技術上的作法,這很重要。</p>
+&ldquo;自由软件&rdquo;和&ldquo;开源&rdquo;描述的是大致同一类软件,但是它们表述的却是这些软件的不同层面和价值。GNU工程继续使用&ldquo;自由软件&rdquo;一词,来表达自由而不只技术是重要的,这一理念。</p>
-<h3>嘗試!</h3>
+<h3>尝试!</h3>
<p>
-尤達大師的格言(「沒有所謂『嘗試』」,原文為「There is no
-&ldquo;try&rdquo;」)聽起來乾淨俐落,但對我來說不太管用。我大部分在做事的時候都還對我到底能不能完成這項工作而焦慮,而且也不確定是否由我來做的話成果足不足以達成目標。但不管怎樣我都還是試了,因為沒有人站在敵人和我的城市之間,其中就只有我而已。我自己也很驚訝,有的時候我成功了。</p>
+犹大的名言(&ldquo;不存在&lsquo;尝试&rsquo;&rdquo;)听来优雅,但是对我不适用。带着是否能够完成任务的焦虑、带着完成目标是否已足够的怀疑,我完成了大部分工作。无论如何,我尝试了,因为在敌人和我的城池之间只有我自己。令我吃惊的是,我有时也能取胜。</p>
<p>
-而有時候我失敗了,我有的城市淪陷了。接著我發現另一座城市遭受威脅,所以得趕快準備下一場戰鬥。隨著時間過去,我學會尋找威脅,並挺身走到敵人與我的城市之間,呼叫其他黑客前來和我一起聯手。</p>
+我有时也失败;一些城池沦陷了。然后我找到另一个面临威胁的城池,并准备好另一场战役。天长日久,我学会了发现威胁并置身于威胁和城池之间,呼唤其他黑客来加入我的阵营。</p>
<p>
-時至今日,我常不是唯一的那一位。每當我看見一群黑客挖掘壕溝嚴守陣線之時,便鬆了一口氣並有股喜悅油然而生,我於是領悟,這座城市保得住——此時此刻。但一年一年過去危險也越來越大,現在微軟已明確鎖定我們社群。我們不能將未來的自由視為理所當然。別視為理所當然!如果你想要保住你的自由,你必須準備起身抵抗。</p>
+现如今,我通常不再是一个人。看到大量的黑客挖战壕、守阵线的感觉是轻松和快乐。我意识到城池&mdash;眼下安全了。但是危险与年俱增,目前Microsoft明确把矛头指向我们的社区。我们不能视自由的未来为理所当然。不能认为自由是理所当然!如果要保持自由,你必须准备好捍卫自由。</p>
<div class="translators-notes">
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
- </div>
+<h3>译注</h3>
+<ol>
+<li id="TransNote1">这里的意思是起名字时,在新名字里包含旧名字以体现对旧名字的敬意。</li>
+<li id="TransNote2">原文是Scratching an
+itch?:意思是瘙到痒处。这里指解决一个闹心的问题,故译为解决痛点。</li>
+</ol></div>
</div>
<!-- for id="content", starts in the include above -->
-<!--#include virtual="/server/footer.zh-tw.html" -->
+<!--#include virtual="/server/footer.zh-cn.html" -->
<div id="footer">
<div class="unprintable">
-<p>請來信到 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a> 詢問有關自由軟體基金會(FSF)和
-GNU 的一般問題;或者<a href="/contact/">以其他方式</a>聯絡自由軟體基金會。至於損毀的連結及其他修正和建議,可以將之寄給 <a
+<p>请将有关自由软件基金会(FSF)&amp;GNU的一般性问题发送到<a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>。也可以通过<a
+href="/contact/">其他联系方法</a>联系自由软件基金会(FSF)。有关失效链接或其他错误和建议,请发送邮件到<a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>。</p>
<p>
@@ -552,10 +484,8 @@ href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>。</p>
our web pages, see <a
href="/server/standards/README.translations.html">Translations
README</a>. -->
-我們努力盡所能提供貼切、品質良善的翻譯。然而,我們無法十全十美,還請將你的意見評述與一般建議寄給 <a
-href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a></p><p>請參照
-<a href="/server/standards/README.translations.html">翻譯讀我 README</a>
-來瞭解協調和提交我們的網頁翻譯相關事宜。</p>
+若您想翻译本文,请参看<a
+href="/server/standards/README.translations.html">翻译须知</a>获取有关协调和提交翻译的相关事项。</p>
</div>
<!-- Regarding copyright, in general, standalone pages (as opposed to
@@ -577,21 +507,21 @@ href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a></p><p>
<p>Copyright &copy; 1998, 2001, 2002, 2005, 2006, 2007, 2008, 2010, 2014, 2015,
2017, 2018, 2020 Richard Stallman</p>
-<p>本頁面採用<a rel="license"
-href="https://creativecommons.org/licenses/by-nd/4.0/deed.zh_TW">創用 CC
-姓名標示-禁止改作 4.0 國際</a>條款給予授權。</p>
+<p>本页面使用<a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
+Attribution-NoDerivatives 4.0 International License</a>授权。</p>
-<!--#include virtual="/server/bottom-notes.zh-tw.html" -->
+<!--#include virtual="/server/bottom-notes.zh-cn.html" -->
<div class="translators-credits">
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
-<b>翻譯</b>:曾政嘉 <a href="mailto:zerngjia (at) member (dot) fsf (dot)
-org">zerngjia (at) member (dot) fsf (dot) org</a>, 2017.</div>
+<b>翻译团队</b>:<a rel="team"
+href="https://savannah.gnu.org/projects/www-zh-cn/">&lt;CTT&gt;</a>,2017-2020。</div>
<p class="unprintable"><!-- timestamp start -->
-更新時間︰
+最后更新:
-$Date: 2020/07/25 20:00:29 $
+$Date: 2020/07/13 03:30:13 $
<!-- timestamp end -->
</p>