thegnuproject.html - en to zh_CN translation catalogue (187 entries)

note: type: Content of: <title>
en: About the GNU Project - GNU Project - Free Software Foundation
zh_CN: 关于GNU - GNU工程 - 自由软件基金会

note: type: Attribute 'content' of: <meta>
en: GNU, GNU Project, FSF, Free Software, Free Software Foundation, History
zh_CN: GNU、GNU工程、FSF、自由软件、自由软件基金会、历史

note: type: Content of: <div><h2>
en: The GNU Project
zh_CN: GNU工程

note: type: Content of: <div><address>
en: by <a href="https://www.stallman.org/">Richard Stallman</a>
zh_CN: <a href="https://www.stallman.org/">理查德·斯托曼</a> 著

note: type: Content of: <div><h3>
en: The first software-sharing community
zh_CN: 第一个软件分享社区

note: type: Content of: <div><p>
en: When I started working at the <abbr title="Massachusetts Institute of Technology">MIT</abbr> Artificial Intelligence Lab in 1971, I became part of a software-sharing community that had existed for many years.  Sharing of software was not limited to our particular community; it is as old as computers, just as sharing of recipes is as old as cooking.  But we did it more than most.
zh_CN: 当我 1971 年开始在 <abbr title="Massachusetts Institute of Technology（麻省理工学院）">MIT</abbr> 的人工智能实验室工作的时候，我成为了当时已经存在多年的一个软件共享社区的一员。并不是只有我们的社区分享软件；分享软件从电脑出现就开始了，正如分享菜谱从烹饪出现就开始了一样。但是我们做得更多。

note: type: Content of: <div><p>
en: The AI Lab used a timesharing operating system called <abbr title="Incompatible Timesharing System">ITS</abbr> (the Incompatible Timesharing System) that the lab's staff hackers had designed and written in assembler language for the Digital <abbr title="Programmed Data Processor">PDP</abbr>-10, one of the large computers of the era&#8239;<a href="#ft1">[1]</a>.  As a member of this community, an AI Lab staff system hacker, my job was to improve this system.
zh_CN: 人工智能实验室当时使用一种称为 <abbr title="Incompatible Timesharing System（不兼容分时系统）">ITS</abbr> 的分时操作系统。该系统是实验室的黑客设计并用汇编语言为 Digital 公司的 <abbr title="Programmed Data Processor">PDP</abbr>-10 计算机编写的，该计算机是当时的大型计算机之一&#8239;<a href="#ft1">[1]</a>。作为社区一员，也作为人工智能实验室的系统黑客，我的工作就是改进这个系统。

note: type: Content of: <div><p>
en: We did not call our software &ldquo;free software,&rdquo; because that term did not yet exist; but that is what it was.  Whenever people from another university or a company wanted to port and use a program, we gladly let them.  If you saw someone using an unfamiliar and interesting program, you could always ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program.
zh_CN: 我们没有称我们的软件是&ldquo;自由软件&rdquo;，因为那时还没有这个概念；但那些软件就是自由的。无论何时，只要其他大学或公司想移植和使用一个程序，我们都很高兴提供该程序。如果你对别人的程序有兴趣但不太熟悉，你总是可以要一份源代码，因此你可以阅读源代码、修改源代码，甚至把它拆分并用来构建新的程序。

note: type: Content of: <div><div><p>
en: Why it is even more important than ever <a href="/philosophy/free-software-even-more-important.html">to insist that the software we use be free</a>.
zh_CN: 为什么现在<a href="/philosophy/free-software-even-more-important.html">坚持软件自由比以往更加重要</a>。

note: type: Content of: <div><h3>
en: The collapse of the community
zh_CN: 社区的解体

note: type: Content of: <div><p>
en: The situation changed drastically in the early 1980s when Digital discontinued the PDP-10 series.  Its architecture, elegant and powerful in the 60s, could not extend naturally to the larger address spaces that were becoming feasible in the 80s.  This meant that nearly all of the programs composing ITS were obsolete.
zh_CN: 八十年代初，Digital的PDP-10系列停产，形势发生了剧变。该系列大型机在六十年代优雅而有力的架构无法自然延伸到八十年代开始使用的更大的地址空间。这意味着几乎所有构成ITS的程序都过时了。

note: type: Content of: <div><p>
en: The AI Lab hacker community had already collapsed, not long before.  In 1981, the spin-off company Symbolics had hired away nearly all of the hackers from the AI Lab, and the depopulated community was unable to maintain itself.  (The book <cite>Hackers</cite>, by Steve Levy, describes these events, as well as giving a clear picture of this community in its prime.)  When the AI Lab bought a new PDP-10 in 1982, its administrators decided to use Digital's nonfree timesharing system instead of ITS.
zh_CN: 而不久前，人工智能实验室的黑客社区已经解体了。1981年，从实验室分拆出来的Symbolics公司雇佣了几乎全部实验室黑客，减员的社区无以为续。（Steve Levy的 <cite>黑客</cite> 一书描述了这些事件，并给出了社区鼎盛时期的清晰写照。）当人工智能实验室在1982年购买了一台新的PDP-10后，其管理员决定使用Digital公司的非自由分时系统来代替ITS。

note: type: Content of: <div><p>
en: The modern computers of the era, such as the VAX or the 68020, had their own operating systems, but none of them were free software: you had to sign a nondisclosure agreement even to get an executable copy.
zh_CN: 那时的新计算机，象VAX或68020，都有它们自己的操作系统，但是都不是自由软件：即使只是要一份可执行文件的副本，你都需要签署保密协议。

note: type: Content of: <div><p>
en: This meant that the first step in using a computer was to promise not to help your neighbor.  A cooperating community was forbidden.  The rule made by the owners of proprietary software was, &ldquo;If you share with your neighbor, you are a pirate.  If you want any changes, beg us to make them.&rdquo;
zh_CN: 这表示使用计算机的第一步是承诺不会帮助别人。互助的社区被禁止了。专有软件的所有者制定了规则：&ldquo;如果你和别人分享软件，你就是从事盗版。如果你想做软件更改，请乞求所有者吧。&rdquo;

note: type: Content of: <div><p>
en: The idea that the proprietary software social system&mdash;the system that says you are not allowed to share or change software&mdash;is antisocial, that it is unethical, that it is simply wrong, may come as a surprise to some readers.  But what else could we say about a system based on dividing the public and keeping users helpless? Readers who find the idea surprising may have taken the proprietary software social system as a given, or judged it on the terms suggested by proprietary software businesses.  Software publishers have worked long and hard to convince people that there is only one way to look at the issue.
zh_CN: 专有软件的社会系统&mdash;不能分享或更改软件的系统&mdash;是反社会的，因为它不道德、它完全错误。这样的想法可能令某些读者吃惊。但是对一个以分裂公众、使其用户无助为基础的系统，我们还能怎么说呢？那些对此吃惊的读者也许接受了专有软件的社会系统，或者按照专有软件行业推荐的术语来做了判断。软件发布商长期以来一直努力让人们相信：对这个问题只有一个看法。

note: type: Content of: <div><p>
en: When software publishers talk about &ldquo;enforcing&rdquo; their &ldquo;rights&rdquo; or &ldquo;stopping <a href="/philosophy/words-to-avoid.html#Piracy">piracy</a>,&rdquo; what they actually <em>say</em> is secondary.  The real message of these statements is in the unstated assumptions they take for granted, which the public is asked to accept without examination.  Let's therefore examine them.
zh_CN: 当软件发布商说到&ldquo;加强&rdquo;他们的&ldquo;权利&rdquo;或者&ldquo;打击<a href="/philosophy/words-to-avoid.html#Piracy">盗版</a>&rdquo;时，他们<em>说的</em>其实是次要问题。他们的真正想法是让公众接受这些说法背后的假设是理所当然的、无需审视的。那么，就让我们审视一下这些假设。

note: type: Content of: <div><p>
en: One assumption is that software companies have an unquestionable natural right to own software and thus have power over all its users.  (If this were a natural right, then no matter how much harm it does to the public, we could not object.)  Interestingly, the US Constitution and legal tradition reject this view; copyright is not a natural right, but an artificial government-imposed monopoly that limits the users' natural right to copy.
zh_CN: 其中一个假设是软件公司对软件拥有无可质疑的自然所有权，进而拥有超越其用户的权力。（如果这是自然权利，那么无论这对公众造成什么伤害，我们都无法反驳。）有意思的是，美国宪法和法律惯例拒绝这个观点；版权不是自然权利，而是人为的、政府强加的垄断，它用来限制用户拷贝复制的自然权利。

note: type: Content of: <div><p>
en: Another unstated assumption is that the only important thing about software is what jobs it allows you to do&mdash;that we computer users should not care what kind of society we are allowed to have.
zh_CN: 另一个隐含的假设是软件唯一的重要性在于它能让你做什么&mdash;软件用户不必去关心应该拥有什么样的社会。

note: type: Content of: <div><p>
en: A third assumption is that we would have no usable software (or would never have a program to do this or that particular job) if we did not offer a company power over the users of the program.  This assumption may have seemed plausible, before the free software movement demonstrated that we can make plenty of useful software without putting chains on it.
zh_CN: 第三个假设是如果不让软件公司有超越其用户的权力，那么我们就没有可用的软件（或者就没有能够执行特定任务的程序）。该假设看起来是可能的，直到自由软件运动证明：我们可以创造大量有用的软件而不用在其上横加锁链。

note: type: Content of: <div><p>
en: If we decline to accept these assumptions, and judge these issues based on ordinary commonsense morality while placing the users first, we arrive at very different conclusions.  Computer users should be free to modify programs to fit their needs, and free to share software, because helping other people is the basis of society.
zh_CN: 如果我们拒绝接受这些假设，把用户放在首位，并根据常识性的道德来判断，那么我们就可以得出不同的结论。计算机用户应该能够自由地修改软件来适应自己的需求，也应该能够自由地分享软件，因为互相帮助是社会的基础。

note: type: Content of: <div><p>
en: There is no room here for an extensive statement of the reasoning behind this conclusion, so I refer the reader to &ldquo;<a href="/philosophy/why-free.html">Why Software Should Not Have Owners</a>,&rdquo; and &ldquo;<a href="/philosophy/free-software-even-more-important.html">Free Software Is Even More Important Now</a>.&rdquo;
zh_CN: 鉴于篇幅限制，我们不在此对结论背后的推理做详细论述，我为读者提供以下网页做参考：&ldquo;<a href="/philosophy/why-free.html">为什么软件不应有所有者</a>&rdquo; 和 &ldquo;<a href="/philosophy/free-software-even-more-important.html">自由软件现在更加重要</a>。&rdquo;

note: type: Content of: <div><h3>
en: A stark moral choice
zh_CN: 严酷的道德抉择

note: type: Content of: <div><p>
en: With my community gone, to continue as before was impossible.  Instead, I faced a stark moral choice.
zh_CN: 社区不复存在，我无法维持原样。反过来，我面临着严酷的道德抉择。

note: type: Content of: <div><p>
en: The easy choice was to join the proprietary software world, signing nondisclosure agreements and promising not to help my fellow hacker.  Most likely I would also be developing software that was released under nondisclosure agreements, thus adding to the pressure on other people to betray their fellows too.
zh_CN: 容易的选择是加入专有软件的世界、签署保密协议并发誓不再帮助我的黑客伙伴。我极有可能也在开发按照保密协议发布的软件，因此也让其他人面临背叛伙伴的压力。

note: type: Content of: <div><p>
en: I could have made money this way, and perhaps amused myself writing code.  But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place.
zh_CN: 我可能因此发财，也可能编程时乐在其中。但是我知道在我结束职业生涯之时，当我回顾那些建造围墙、隔离大众的岁月之时，我会感到我的一生是在让这个世界变得更糟糕。

note: type: Content of: <div><p>
en: I had already experienced being on the receiving end of a nondisclosure agreement, when someone refused to give me and the MIT AI Lab the source code for the control program for our printer.  (The lack of certain features in this program made use of the printer extremely frustrating.)  So I could not tell myself that nondisclosure agreements were innocent.  I was very angry when he refused to share with us; I could not turn around and do the same thing to everyone else.
zh_CN: 当有人拒绝把控制打印机的源代码给我和MIT人工智能实验室的时候（由于缺少一些功能，该程序让使用打印机的人非常恼火），我就已经体会到了作为保密协议接收方的感受。

note: type: Content of: <div><p>
en: Another choice, straightforward but unpleasant, was to leave the computer field.  That way my skills would not be misused, but they would still be wasted.  I would not be culpable for dividing and restricting computer users, but it would happen nonetheless.
zh_CN: 另一个选择，直截了当却令人不快，就是离开计算机行业。那样也许我的技术不会被滥用，但还是浪费了。我自己可能不会因为分化和限制计算机用户而遭受谴责，可这种事还是会发生。

note: type: Content of: <div><p>
en: So I looked for a way that a programmer could do something for the good.  I asked myself, was there a program or programs that I could write, so as to make a community possible once again?
zh_CN: 我因而探索一条程序员能够做些好事的道路。我扪心自问，我能不能写一些程序，从而使再建社区成为可能？

note: type: Content of: <div><p>
en: The answer was clear: what was needed first was an operating system.  That is the crucial software for starting to use a computer.  With an operating system, you can do many things; without one, you cannot run the computer at all.  With a free operating system, we could again have a community of cooperating hackers&mdash;and invite anyone to join.  And anyone would be able to use a computer without starting out by conspiring to deprive his or her friends.
zh_CN: 答案显而易见：首先需要的是一个操作系统，它是使用电脑的关键软件。有了操作系统，你就可以做许多事情；没有它，你根本无法运行电脑。有了自由的操作系统，我们就能够再次建立互助黑客的社区&mdash;并邀请人们加入。这样，人们就可以使用电脑而不必因此失去朋友。

note: type: Content of: <div><p>
en: As an operating system developer, I had the right skills for this job.  So even though I could not take success for granted, I realized that I was elected to do the job.  I chose to make the system compatible with Unix so that it would be portable, and so that Unix users could easily switch to it.  The name GNU was chosen, following a hacker tradition, as a recursive acronym for &ldquo;GNU's Not Unix.&rdquo; It is pronounced as <a href="/gnu/pronunciation.html">one syllable with a hard&nbsp;<i>g</i></a>.
zh_CN: 作为操作系统开发者，我正好具备这个技能。即使不能确保成功，我还是意识到我义不容辞。我选择让这个系统和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>。

note: type: Content of: <div><p>
en: An operating system does not mean just a kernel, barely enough to run other programs.  In the 1970s, every operating system worthy of the name included command processors, assemblers, compilers, interpreters, debuggers, text editors, mailers, and much more.  ITS had them, Multics had them, VMS had them, and Unix had them.  The GNU operating system would include them too.
zh_CN: 操作系统并不是仅仅有内核，而无法运行其他程序。在70年代，每个称得上叫操作系统名字的系统都包括命令行、汇编器、编译器、解释器、调试器、文本编辑器、邮件服务，还有很多。ITS有、Multics有、VMS有、Unix也有这些。GNU系统也应该有。

note: type: Content of: <div><p>
en: Later I heard these words, attributed to Hillel&#8239;<a href="#ft2">[2]</a>:
zh_CN: 我后来听到Hillel曾经说过&#8239;<a href="#ft2">[2]</a>：

note: type: Content of: <div><blockquote><p>
en: If I am not for myself, who will be for me?
zh_CN: 我不为我，谁会为我？

note: type: Content of: <div><blockquote><p>
en: If I am only for myself, what am I?
zh_CN: 我只为我，我又是谁？

note: type: Content of: <div><blockquote><p>
en: If not now, when?
zh_CN: 若非现在，更待何时？

note: type: Content of: <div><p>
en: The decision to start the GNU Project was based on a similar spirit.
zh_CN: 决定开始GNU项目正是基于同样的情怀。

note: type: Content of: <div><h3>
en: Free as in freedom
zh_CN: Free是freedom所指的自由

note: type: Content of: <div><p>
en: The term &ldquo;free software&rdquo; is sometimes misunderstood&mdash;it has nothing to do with price.  It is about freedom.  Here, therefore, is the definition of free software.
zh_CN: &ldquo;自由软件（free software）&rdquo;这一术语时常被误解&mdash;它无关价格，它关乎自由。这里，我们给出自由软件的定义。

note: type: Content of: <div><p>
en: A program is free software, for you, a particular user, if:
zh_CN: 一个软件对作为用户的你是自由软件，如果：

note: type: Content of: <div><ul><li>
en: You have the freedom to run the program as you wish, for any purpose.
zh_CN: 无论为何目的，你都有自由按照自己的意愿运行该软件。

note: type: Content of: <div><ul><li>
en: You have the freedom to modify the program to suit your needs.  (To make this freedom effective in practice, you must have access to the source code, since making changes in a program without having the source code is exceedingly difficult.)
zh_CN: 你有自由按照自己的需要修改该软件。（要实现这个自由，你必须可以访问源代码，因为没有源代码而去修改程序是极端困难的。）

note: type: Content of: <div><ul><li>
en: You have the freedom to redistribute copies, either gratis or for a fee.
zh_CN: 你有自由去分发软件拷贝，无论是否收费。

note: type: Content of: <div><ul><li>
en: You have the freedom to distribute modified versions of the program, so that the community can benefit from your improvements.
zh_CN: 你有自由发布该程序的修改版，以让社区获益于你的改进。

note: type: Content of: <div><p>
en: Since &ldquo;free&rdquo; refers to freedom, not to price, there is no contradiction between selling copies and free software.  In fact, the freedom to sell copies is crucial: collections of free software sold on CD-ROMs are important for the community, and selling them is an important way to raise funds for free software development.  Therefore, a program which people are not free to include on these collections is not free software.
zh_CN: 由于&ldquo;free&rdquo;指的是自由，而不是价格，所以自由软件和销售其拷贝并无矛盾。事实上，销售拷贝的自由非常关键：使用CD-ROM的方式收集和销售自由软件对社区很重要，它是为开发自由软件募集资金的一个重要手段。因此，如果一个软件不能自由地以这种方式收集和销售，那么它就不是自由软件。

note: type: Content of: <div><p>
en: Because of the ambiguity of &ldquo;free,&rdquo; people have long looked for alternatives, but no one has found a better term.  The English language has more words and nuances than any other, but it lacks a simple, unambiguous, word that means &ldquo;free,&rdquo; as in freedom&mdash;&ldquo;unfettered&rdquo; being the word that comes closest in meaning.  Such alternatives as &ldquo;liberated,&rdquo; &ldquo;freedom,&rdquo; and &ldquo;open&rdquo; have either the wrong meaning or some other disadvantage.
zh_CN: 因为&ldquo;free&rdquo;带有歧义，人们长久以来一直在找替换它的词，但是没有找到更好的。英语比其他语言有更多的词汇和更微妙的词义差别，但是它没有一个简单、清晰的词来表达freedom一词中的&ldquo;自由&rdquo;&mdash;&ldquo;unfettered&rdquo;是意思上最接近的一个词。象&ldquo;liberated&rdquo;、&ldquo;freedom&rdquo;和&ldquo;open&rdquo;这些词或者意思不对，或者有其他不足。

note: type: Content of: <div><h3>
en: GNU software and the GNU system
zh_CN: GNU软件和GNU系统

note: type: Content of: <div><p>
en: Developing a whole system is a very large project.  To bring it into reach, I decided to adapt and use existing pieces of free software wherever that was possible.  For example, I decided at the very beginning to use TeX as the principal text formatter; a few years later, I decided to use the X Window System rather than writing another window system for GNU.
zh_CN: 开发整个系统是一个非常大的工程。要达成目标，我决定尽可能改造和利用现有的自由软件。比如，我一开始就决定使用TeX作为主要的文本排版工具；几年后，我又决定使用X Window系统而不是另外再为GNU编写一个窗口管理系统。

note: type: Content of: <div><p>
en: Because of these decisions, and others like them, the GNU system is not the same as the collection of all GNU software.  The GNU system includes programs that are not GNU software, programs that were developed by other people and projects for their own purposes, but which we can use because they are free software.
zh_CN: 由于这些决定，以及类似的其他决定，GNU系统和全部GNU软件集合并不相同。GNU系统包含一些非GNU的程序，这些程序来自其他人和为其他目的的项目，但是因为它们是自由软件，所以我们就可以使用。

note: type: Content of: <div><h3>
en: Commencing the project
zh_CN: 工程启动

note: type: Content of: <div><p>
en: In January 1984 I quit my job at MIT and began writing GNU software.  Leaving MIT was necessary so that MIT would not be able to interfere with distributing GNU as free software.  If I had remained on the staff, MIT could have claimed to own the work, and could have imposed their own distribution terms, or even turned the work into a proprietary software package.  I had no intention of doing a large amount of work only to see it become useless for its intended purpose: creating a new software-sharing community.
zh_CN: 1984年元月，我从MIT离职并开始编写GNU软件。离开MIT是必须的，这样MIT就不会干扰GNU以自由软件的形式发布。如果我还是MIT的员工，MIT就可能声称是这些软件的拥有者，进而可能加入他们自己的发布条款，甚至还会把它们变成专有软件。我决不会花了大力气而看到结果对最初的目的毫无用处：我们是要创建新的共享软件社区。

note: type: Content of: <div><p>
en: However, Professor Winston, then the head of the MIT AI Lab, kindly invited me to keep using the lab's facilities.
zh_CN: 而当时MIT人工智能实验室的领导，Winston教授，还是友好地邀请我继续使用实验室的设施。

note: type: Content of: <div><h3>
en: The first steps
zh_CN: 最初的几步

note: type: Content of: <div><p>
en: Shortly before beginning the GNU Project, I heard about the Free University Compiler Kit, also known as VUCK.  (The Dutch word for &ldquo;free&rdquo; is written with a <i>v</i>.)  This was a compiler designed to handle multiple languages, including C and Pascal, and to support multiple target machines.  I wrote to its author asking if GNU could use it.
zh_CN: GNU工程开始不久，我听说了自由大学编译器工具包，又叫VUCK。（荷兰语的&ldquo;自由&rdquo;一词以<em>v</em>开头。）这是一个为处理多种语言而设计的编译器，它可以处理C语言和Pascal语言，还可以支持多个目标计算机。我写信问其作者GNU是否可以使用该工具包。

note: type: Content of: <div><p>
en: He responded derisively, stating that the university was free but the compiler was not.  I therefore decided that my first program for the GNU Project would be a multilanguage, multiplatform compiler.
zh_CN: 他带着嘲弄的口吻回答，大学是自由的，但编译器不是。我因此决定我的第一个GNU程序就是做一个支持多语言、多平台的编译器。

note: type: Content of: <div><p>
en: Hoping to avoid the need to write the whole compiler myself, I obtained the source code for the Pastel compiler, which was a multiplatform compiler developed at Lawrence Livermore Lab.  It supported, and was written in, an extended version of Pascal, designed to be a system-programming language.  I added a C front end, and began porting it to the Motorola 68000 computer.  But I had to give that up when I discovered that the compiler needed many megabytes of stack space, and the available 68000 Unix system would only allow 64k.
zh_CN: 带着避免自己编写整个编译器的希望，我拿到了由Lawrence Livermore实验室开发的一个多平台的Pastel编译器的源代码。该编译器是用一种扩展的Pascal语言编写的，它本身也支持该语言，而该语言是按照系统编程语言设计的。我增加了一个C语言的前端，并开始把编译器移植到Motorola 68000计算机。当我发现该编译器需要数兆字节的堆栈空间、而当时68000的Unix系统仅允许64k字节时，我不得不放弃了该计划。

note: type: Content of: <div><p>
en: I then realized that the Pastel compiler functioned by parsing the entire input file into a syntax tree, converting the whole syntax tree into a chain of &ldquo;instructions,&rdquo; and then generating the whole output file, without ever freeing any storage.  At this point, I concluded I would have to write a new compiler from scratch.  That new compiler is now known as <abbr title="GNU Compiler Collection">GCC</abbr>; none of the Pastel compiler is used in it, but I managed to adapt and use the C front end that I had written.  But that was some years later; first, I worked on GNU Emacs.
zh_CN: 然后，我意识到这个 Pastel 编译器会把整个输入文件解析为一个语法树结构，并把该结构整体转变成一个&ldquo;指令&rdquo;链，最后再生成输出文件，中间从不释放任何存储空间。至此，我决定必须从头开始写一个新的编译器。该新编译器现在叫做 <abbr title="GNU Compiler Collection">GCC</abbr>；它完全没有用到该 Pastel 编译器，但是我设法改写和使用了我的那个 C 语言前端。但是这些都是几年以后的事；首先，我做的是 GNU Emacs 的工作。

note: type: Content of: <div><p>
en: I began work on GNU Emacs in September 1984, and in early 1985 it was beginning to be usable.  This enabled me to begin using Unix systems to do editing; having no interest in learning to use vi or ed, I had done my editing on other kinds of machines until then.
zh_CN: 我在1984年9月开始GNU Emacs的工作，在1985年初它就可以使用了。这样我就可以开始在Unix系统上编辑；由于对学习vi或ed编辑器没有兴趣，我以前都是在其他机器上进行编辑的。

note: type: Content of: <div><p>
en: At this point, people began wanting to use GNU Emacs, which raised the question of how to distribute it.  Of course, I put it on the anonymous ftp server on the MIT computer that I used.  (This computer, prep.ai.mit.edu, thus became the principal GNU ftp distribution site; when it was decommissioned a few years later, we transferred the name to our new ftp server.)  But at that time, many of the interested people were not on the Internet and could not get a copy by ftp.  So the question was, what would I say to them?
zh_CN: 此时，人们开始想要使用GNU Emacs，这就提出了如何发布GNU Emacs的问题。当然，我把它放在我用的MIT电脑的匿名ftp服务器上。（该电脑，prep.ai.mit.edu，因此变成了主要的GNU ftp发布站点；当它几年后退役时，我们把它的名字转到了新的ftp服务器上。）但是，在那个时候，许多对GNU Emacs感兴趣的人并没有上网，因而无法通过ftp获得软件拷贝。问题是，我应该对他们说什么？

note: type: Content of: <div><p>
en: I could have said, &ldquo;Find a friend who is on the net and who will make a copy for you.&rdquo; Or I could have done what I did with the original PDP-10 Emacs: tell them, &ldquo;Mail me a tape and a <abbr title="Self-addressed Stamped Envelope">SASE</abbr>, and I will mail it back with Emacs on it.&rdquo; But I had no job, and I was looking for ways to make money from free software.  So I announced that I would mail a tape to whoever wanted one, for a fee of $150.  In this way, I started a free software distribution business, the precursor of the companies that today distribute entire GNU/Linux system distributions.
zh_CN: 我可能说，&ldquo;找一个联网并愿意给你一份拷贝的朋友。&rdquo;或者我会按照对原始 PDP-10 上的 Emacs 的做法来做：告诉他们，&ldquo;邮寄一个磁带和一个<abbr title="Self-addressed Stamped Envelope（带地址和邮票的信封）">SASE</abbr>给我，我会用它们把 Emacs 邮寄回去。&rdquo;但是我并无工作，而且我当时正在寻找用自由软件赚钱的方法。所以我声明，需要的人只要付 150 美元，我就会把带有 Emacs 的磁带邮寄过去。这样，我就创立了一个发布自由软件的行业，它是今天这些发布完整 GNU/Linux 系统的公司的先驱。

note: type: Content of: <div><h3>
en: Is a program free for every user?
zh_CN: 程序对每个用户都自由吗？

note: type: Content of: <div><p>
en: If a program is free software when it leaves the hands of its author, this does not necessarily mean it will be free software for everyone who has a copy of it.  For example, <a href="/philosophy/categories.html#PublicDomainSoftware"> public domain software</a> (software that is not copyrighted) is free software; but anyone can make a proprietary modified version of it.  Likewise, many free programs are copyrighted but distributed under simple permissive licenses which allow proprietary modified versions.
zh_CN: 如果一个程序离开了其作者、成了自由软件，并不必然意味着对每个拥有该程序拷贝的用户，它都是自由软件。例如，<a href="/philosophy/categories.html#PublicDomainSoftware">公有领域软件</a>（没有版权的软件）是自由软件；但是任何人都能用它制作一个修改版的专有软件。同样地，许多自由软件有版权但是使用简单的许可证发布，这些许可证允许制作修改版的专有软件。

note: type: Content of: <div><p>
en: The paradigmatic example of this problem is the X Window System.  Developed at MIT, and released as free software with a permissive license, it was soon adopted by various computer companies.  They added X to their proprietary Unix systems, in binary form only, and covered by the same nondisclosure agreement.  These copies of X were no more free software than Unix was.
zh_CN: X Window系统就是这个问题的一个范例。它由MIT开发，并使用随意许可证发布为自由软件。随后，许多公司改写了X Window系统，并把它以二进制形式添加到其专有的Unix系统中，而且用同样的保密协议加以保护。这些X Window系统的拷贝就和Unix一样不再是自由软件了。

note: type: Content of: <div><p>
en: The developers of the X Window System did not consider this a problem&mdash;they expected and intended this to happen.  Their goal was not freedom, just &ldquo;success,&rdquo; defined as &ldquo;having many users.&rdquo; They did not care whether these users had freedom, only that they should be numerous.
zh_CN: X Window系统的开发者认为这不是问题&mdash;&mdash;他们知道并愿意这样的事发生。他们的目的不是自由，只是&ldquo;成功&rdquo;，就是&ldquo;拥有很多用户。&rdquo;他们不关心这些用户是否拥有自由，只希望用户数目庞大。

note: type: Content of: <div><p>
en: This led to a paradoxical situation where two different ways of counting the amount of freedom gave different answers to the question, &ldquo;Is this program free?&rdquo; If you judged based on the freedom provided by the distribution terms of the MIT release, you would say that X was free software.  But if you measured the freedom of the average user of X, you would have to say it was proprietary software.  Most X users were running the proprietary versions that came with Unix systems, not the free version.
zh_CN: 这导致一个矛盾的情形：当回答&ldquo;这个程序是否是自由软件？&rdquo;的问题时，两种不同的计算自由的方法会给出不同的答案。如果你用MIT的发布许可证来判断时，你会说X系统是自由软件。但是，如果你测量使用X系统的用户获得的自由平均数时，你会说它是专有软件。因为大多数X系统的用户使用的是其Unix系统带的专有版本，而非自由软件版本。

note: type: Content of: <div><h3>
en: Copyleft and the GNU GPL
zh_CN: Copyleft和GNU GPL

note: type: Content of: <div><p>
en: The goal of GNU was to give users freedom, not just to be popular.  So we needed to use distribution terms that would prevent GNU software from being turned into proprietary software.  The method we use is called &ldquo;copyleft&rdquo;&#8239;<a href="#ft3">[3]</a>.
zh_CN: GNU的宗旨是给用户自由，而不只是变得流行。所以我们需要使用禁止让GNU软件变成专属软件的发布条款。我们所用的方法叫做&ldquo;copyleft&rdquo;&#8239;<a href="#ft3">[3]</a>。

note: type: Content of: <div><p>
en: Copyleft uses copyright law, but flips it over to serve the opposite of its usual purpose: instead of a means for restricting a program, it becomes a means for keeping the program free.
zh_CN: Copyleft利用版权法律，但是将其反转以服务于与其对立的目的：不是限制一个程序，而是要使之保持自由。

note: type: Content of: <div><p>
en: The central idea of copyleft is that we give everyone permission to run the program, copy the program, modify the program, and distribute modified versions&mdash;but not permission to add restrictions of their own.  Thus, the crucial freedoms that define &ldquo;free software&rdquo; are guaranteed to everyone who has a copy; they become inalienable rights.
zh_CN: Copyleft的中心思想在于赋予任何人运行程序、复制程序、修改程序和发布修改其版本的许可&mdash;但是不允许添加他们自己的限制。因此，每个拥有软件拷贝的人都保有定义着&ldquo;自由软件&rdquo;的关键自由；这些权利变得不可剥夺。

note: type: Content of: <div><p>
en: For an effective copyleft, modified versions must also be free.  This ensures that work based on ours becomes available to our community if it is published.  When programmers who have jobs as programmers volunteer to improve GNU software, it is copyleft that prevents their employers from saying, &ldquo;You can't share those changes, because we are going to use them to make our proprietary version of the program.&rdquo;
zh_CN: 作为一个有效的copyleft，软件的修改版也必须是自由的。这就保障了在我们的基础上所作的工作，如果发布，就变得社区共享。有工作的程序员如果自愿改善GNU软件，那么copyleft就会禁止她的雇主说：&ldquo;你不能分享这些更改，因为它们将被用于发布我们的专有版本。&rdquo;

note: type: Content of: <div><p>
en: The requirement that changes must be free is essential if we want to ensure freedom for every user of the program.  The companies that privatized the X Window System usually made some changes to port it to their systems and hardware.  These changes were small compared with the great extent of X, but they were not trivial.  If making changes were an excuse to deny the users freedom, it would be easy for anyone to take advantage of the excuse.
zh_CN: 如果我们要保障所有用户的自由，那么要求对程序的更改也必须是自由的是个基本条件。那些将X Window私有化的公司通常就是对X Window做了些改动以移植到他们的系统和硬件上。相对于X系统来说，这些改动是小的，但不算微不足道。如果更改是剥夺用户自由的借口的话，任何人都可以轻易借此占便宜。

note: type: Content of: <div><p>
en: A related issue concerns combining a free program with nonfree code.  Such a combination would inevitably be nonfree; whichever freedoms are lacking for the nonfree part would be lacking for the whole as well.  To permit such combinations would open a hole big enough to sink a ship.  Therefore, a crucial requirement for copyleft is to plug this hole: anything added to or combined with a copylefted program must be such that the larger combined version is also free and copylefted.
zh_CN: 还有就是合并自由软件和非自由软件的问题。这样的合并本来注定是非自由的；非自由部分缺失自由会导致整体也缺失自由。允许这样的合并会使自由的大堤毁于蚁穴。所以，copyleft的一个关键要求就是堵住这个漏洞：任何加入或合并到copyleft程序的结果必须是合并后的大程序也是自由和copyleft的。

note: type: Content of: <div><p>
en: The specific implementation of copyleft that we use for most GNU software is the GNU General Public License, or GNU GPL for short.  We have other kinds of copyleft that are used in specific circumstances.  GNU manuals are copylefted also, but use a much simpler kind of copyleft, because the complexity of the GNU GPL is not necessary for manuals&#8239;<a href="#ft4">[4]</a>.
zh_CN: 大多数 GNU 软件采用的 copyleft 的具体实现是 GNU 通用公共许可证，简称 GNU GPL。我们也有针对其他特别情况的其他 copyleft 实现。GNU 手册也是 copyleft 的，不过手册不必用象 GNU GPL 这样复杂的许可证，所以它们用的是较简单的 copyleft。&#8239;<a href="#ft4">[4]</a>

note: type: Content of: <div><h3>
en: The Free Software Foundation
zh_CN: 自由软件基金会

note: type: Content of: <div><p>
en: As interest in using Emacs was growing, other people became involved in the GNU project, and we decided that it was time to seek funding once again to support the development of the GNU operating system.  So in 1985 I brought in friends who cared about the goal, and created the <a href="https://www.fsf.org/">Free Software Foundation</a> (FSF), a tax-exempt charity for free software development.  The FSF also took over the Emacs tape distribution business; later it extended this by adding other free software (both GNU and non-GNU) to the tape, and by selling free (freedom-respecting) manuals as well.
zh_CN: 当人们使用 Emacs 的兴趣起来后，其他人开始加入 GNU 工程。我们决定是时候再次为支持 GNU 操作系统的开发寻求资金了。所以在 1985 年，我们集结了心系共同目标的一众好友，创立了 <a href="https://www.fsf.org/">自由软件基金会</a>（FSF），它是一个为开发自由软件而成立的免税慈善机构。FSF 还承担了发布 Emacs 磁带的业务；该项业务后来扩展到在磁带中加入其他自由软件（GNU或非GNU），以及销售自由文档。

note: type: Content of: <div><p>
en: Most of the FSF's income used to come from sales of copies of free software and of other related services (CD-ROMs of source code, CD-ROMs with binaries, nicely printed manuals, all with the freedom to redistribute and modify), and Deluxe Distributions (distributions for which we built the whole collection of software for the customer's choice of platform).  Today the FSF still <a href="https://shop.fsf.org/"> sells manuals and other gear</a>, but it gets the bulk of its funding from members' dues.  You can join the FSF at <a href="https://my.fsf.org/join">fsf.org</a>.
zh_CN: 过去，FSF的收入来自销售自由软件的拷贝以及其他相关服务（含源代码的CD-ROM、含二进制文件的CD-ROM、印制精美的手册，这些都可以自由修改和再发布），还有就是销售豪华发布版（为客户选定的平台制作全套自由软件）。如今，FSF仍然<a href="https://shop.fsf.org/">销售手册和其他装备</a>，但它的很大一部分资金来自会员费。你可以通过<a href="https://fsf.org/join">fsf.org</a>加入FSF。

note: type: Content of: <div><p>
en: Free Software Foundation employees have written and maintained a number of GNU software packages.  Two notable ones are the C library and the shell.  The GNU C library is what every program running on a GNU/Linux system uses to communicate with Linux.  It was developed by a member of the Free Software Foundation staff, Roland McGrath.  The shell used on most GNU/Linux systems is BASH, the Bourne Again SHell&#8239;<a href="#ft5">[5]</a>, which was developed by FSF employee Brian Fox.
zh_CN: 自由软件基金会的员工编写并维护着一些 GNU 软件包。其中有两个重要的软件包是 C 库和 shell。GNU C 库是每个运行在 GNU/Linux 系统上的程序和 Linux 通信要用到的。它由自由软件基金会的员工开发，包括 Roland McGrath。大多数 GNU/Linux 系统使用的 shell是 <abbr title="Bourne Again Shell">BASH</abbr>，Bourne Again Shell &#8239;<a href="#ft5">[5]</a>，它是由 FSF 的员工 Brian Fox 开发的。

note: type: Content of: <div><p>
en: We funded development of these programs because the GNU Project was not just about tools or a development environment.  Our goal was a complete operating system, and these programs were needed for that goal.
zh_CN: 我们资助这些程序的开发是因为GNU工程不仅有工具或开发环境，我们的目标是完整的操作系统，而这些程序是完成目标需要的。

note: type: Content of: <div><h3>
en: Free software support
zh_CN: 自由软件技术支持

note: type: Content of: <div><p>
en: The free software philosophy rejects a specific widespread business practice, but it is not against business.  When businesses respect the users' freedom, we wish them success.
zh_CN: 自由软件的哲学拒绝一类特定的广为人知的商业实践，但是它并不反对商业。当商业尊重用户的自由时，我们希望它们能够成功。

note: type: Content of: <div><p>
en: Selling copies of Emacs demonstrates one kind of free software business.  When the FSF took over that business, I needed another way to make a living.  I found it in selling services relating to the free software I had developed.  This included teaching, for subjects such as how to program GNU Emacs and how to customize GCC, and software development, mostly porting GCC to new platforms.
zh_CN: 销售Emacs的拷贝就展示了一种这样的自由软件商业模式。当FSF接手了该业务，我就需要找另一种谋生的手段。我发现我可以销售针对我开发的自由软件的技术服务。这包括教授，比如如何针对GNU Emacs编程和如何定制GCC；还包括软件开发，多数情况是将GCC移植到新的平台。

note: type: Content of: <div><p>
en: Today each of these kinds of free software business is practiced by a number of corporations.  Some distribute free software collections on CD-ROM; others sell support at levels ranging from answering user questions, to fixing bugs, to adding major new features.  We are even beginning to see free software companies based on launching new free software products.
zh_CN: 现如今，不少公司都在进行诸如此类的自由软件商业实践。它们有的发行自由软件CD-ROM，有的做各类技术支持，从回答用户问题到修复缺陷，以至添加新功能。我们甚至开始看到开发新自由软件产品的自由软件公司。

note: type: Content of: <div><p>
en: Watch out, though&mdash;a number of companies that associate themselves with the term &ldquo;open source&rdquo; actually base their business on nonfree software that works with free software.  These are not free software companies, they are proprietary software companies whose products tempt users away from freedom.  They call these programs &ldquo;value-added packages,&rdquo; which shows the values they would like us to adopt: convenience above freedom.  If we value freedom more, we should call them &ldquo;freedom-subtracted&rdquo; packages.
zh_CN: 不过，请注意&mdash;&mdash;有些公司号称自己&ldquo;开源&rdquo;，实际从事和自由软件相关的非自由软件的业务。它们不是自由软件公司，它们是专有软件公司。它们的产品诱使用户远离自由。它们号称其软件是&ldquo;增加价值的软件包&rdquo;，并希望我们接纳其价值：让好用超过自由。如果我们更珍视自由，我们就应该把这些软件叫做&ldquo;消减自由的软件包&rdquo;。

note: type: Content of: <div><h3>
en: Technical goals
zh_CN: 技术目标

note: type: Content of: <div><p>
en: The principal goal of GNU is to be free software.  Even if GNU had no technical advantage over Unix, it would have a social advantage, allowing users to cooperate, and an ethical advantage, respecting the user's freedom.
zh_CN: GNU的首要目标是做自由软件。即使GNU技术上并不比Unix高明，它也有社区的优势——允许用户合作，它还有道德上的优势——尊重用户的自由。

note: type: Content of: <div><p>
en: But it was natural to apply the known standards of good practice to the work&mdash;for example, dynamically allocating data structures to avoid arbitrary fixed size limits, and handling all the possible 8-bit codes wherever that made sense.
zh_CN: 但是，在工作中采用好的经验和标准是自然的&mdash;比如，动态分配数据结构可以避免固定的内存使用，只要合理就尽可能地采用8比特编码。

note: type: Content of: <div><p>
en: In addition, we rejected the Unix focus on small memory size, by deciding not to support 16-bit machines (it was clear that 32-bit machines would be the norm by the time the GNU system was finished), and to make no effort to reduce memory usage unless it exceeded a megabyte.  In programs for which handling very large files was not crucial, we encouraged programmers to read an entire input file into core, then scan its contents without having to worry about I/O.
zh_CN: 另外，我们摈弃了Unix的小内存思路，决定不支持16位的计算机（很清楚，当GNU系统完成时，32位的计算机应该是标准设备），而且没有必要在内存使用未超过1兆字节时就减少内存用量。对于不常使用非常大的文件的程序，我们鼓励程序员把输入文件全读入内存，然后再处理其内容而不再操心输入输出（I/O）。

note: type: Content of: <div><p>
en: These decisions enabled many GNU programs to surpass their Unix counterparts in reliability and speed.
zh_CN: 这些决定使许多GNU程序在可靠性和速度上都超过了其Unix对手。

note: type: Content of: <div><h3>
en: Donated computers
zh_CN: 捐赠电脑

note: type: Content of: <div><p>
en: As the GNU Project's reputation grew, people began offering to donate machines running Unix to the project.  These were very useful, because the easiest way to develop components of GNU was to do it on a Unix system, and replace the components of that system one by one.  But they raised an ethical issue: whether it was right for us to have a copy of Unix at all.
zh_CN: 随着GNU工程的声誉高涨，人们开始捐赠一些运行Unix的电脑给GNU工程。这很有用，因为开发GNU部件最简单的方法就是在Unix的机器上开发，然后一个一个在该机器上把该部件用GNU部件代替。但是这里有一个道德的问题：我们是否可以有一份Unix拷贝。

note: type: Content of: <div><p>
en: Unix was (and is) proprietary software, and the GNU Project's philosophy said that we should not use proprietary software.  But, applying the same reasoning that leads to the conclusion that violence in self defense is justified, I concluded that it was legitimate to use a proprietary package when that was crucial for developing a free replacement that would help others stop using the proprietary package.
zh_CN: Unix是专有软件，而GNU工程的哲学说我们不应该使用专有软件。但是，使用和“用武力自卫是合法的”一致的推理，我认定使用专有软件开发自由软件是合法的：当这样做对开发专有软件的自由替代是关键的时候，因为这样才能帮助人们摆脱专有软件。

note: type: Content of: <div><p>
en: But, even if this was a justifiable evil, it was still an evil.  Today we no longer have any copies of Unix, because we have replaced them with free operating systems.  If we could not replace a machine's operating system with a free one, we replaced the machine instead.
zh_CN: 但是，即使有争议的做恶，还是一种做恶。今天，我们不再有任何Unix拷贝，因为我们已经用自由的操作系统代替了它们。如果我们不能用自由软件替换掉机器里的操作系统，我们就把机器替换掉。

note: type: Content of: <div><h3>
en: The GNU Task List
zh_CN: GNU任务列表

note: type: Content of: <div><p>
en: As the GNU Project proceeded, and increasing numbers of system components were found or developed, eventually it became useful to make a list of the remaining gaps.  We used it to recruit developers to write the missing pieces.  This list became known as the GNU Task List.  In addition to missing Unix components, we listed various other useful software and documentation projects that, we thought, a truly complete system ought to have.
zh_CN: 随着GNU工程的前进，越来越多的系统组件被开发或被发掘出来。最后，我们发现制作一个组件缺失列表会很有用处。我们利用该列表来雇佣开发人员编写缺失的软件。这就是GNU任务列表。除了缺失的Unix部件，我们还列出了其他一些有用的软件和文档项目，我们认为它们是一个完整的系统所必须的。

note: type: Content of: <div><p>
en: Today&#8239;<a href="#ft6">[6]</a>, hardly any Unix components are left in the GNU Task List&mdash;those jobs had been done, aside from a few inessential ones.  But the list is full of projects that some might call &ldquo;applications.&rdquo; Any program that appeals to more than a narrow class of users would be a useful thing to add to an operating system.
zh_CN: 今天&#8239;<a href="#ft6">[6]</a>，GNU任务列表上已经没什么Unix部件了&mdash;&mdash;这部分工作已经完成，除了一些不重要的组件。但是，有人会称这个列表上的项目是&ldquo;应用软件&rdquo;。它们是对一部分用户有吸引力的操作系统之上的软件。

note: type: Content of: <div><p>
en: Even games are included in the task list&mdash;and have been since the beginning.  Unix included games, so naturally GNU should too.  But compatibility was not an issue for games, so we did not follow the list of games that Unix had.  Instead, we listed a spectrum of different kinds of games that users might like.
zh_CN: 即使游戏也在任务列表上&mdash;从一开始就在。Unix带有游戏，所以GNU自然也应该有。但游戏不必是兼容的，所以我们的游戏和Unix的游戏并不相同。相反，我们列出了一些用户可能喜欢的不同种类的游戏。

note: type: Content of: <div><h3>
en: The GNU Lesser GPL
zh_CN: GNU 宽 GPL

note: type: Content of: <div><p>
en: The GNU C library uses a special kind of copyleft called the GNU Lesser General Public License&#8239;<a href="#ft7">[7]</a>, which gives permission to link proprietary software with the library.  Why make this exception?
zh_CN: GNU C库使用一种特别的copyleft，它叫做GNU库通用公共许可证&#8239;<a href="#ft7">[7]</a>，它允许使用该库连接专有软件。为什么有这样一个例外？

note: type: Content of: <div><p>
en: It is not a matter of principle; there is no principle that says proprietary software products are entitled to include our code.  (Why contribute to a project predicated on refusing to share with us?)  Using the LGPL for the C library, or for any library, is a matter of strategy.
zh_CN: 这不是原则的问题；没有原则说专有软件有权包含我们的代码。（我们为什么要为注定会拒绝和我们分享代码的项目做贡献？）C库或其他任何库使用LGPL许可证是战略问题。

note: type: Content of: <div><p>
en: The C library does a generic job; every proprietary system or compiler comes with a C library.  Therefore, to make our C library available only to free software would not have given free software any advantage&mdash;it would only have discouraged use of our library.
zh_CN: C库完成的是普遍性的任务；每个专有系统或编译器都有自己的C库。所以，我们的C库只供自由软件使用并不会给自由软件更多的优势&mdash;它可能只会让大家避免使用我们的库。

note: type: Content of: <div><p>
en: One system is an exception to this: on the GNU system (and this includes GNU/Linux), the GNU C library is the only C library.  So the distribution terms of the GNU C library determine whether it is possible to compile a proprietary program for the GNU system.  There is no ethical reason to allow proprietary applications on the GNU system, but strategically it seems that disallowing them would do more to discourage use of the GNU system than to encourage development of free applications.  That is why using the Lesser GPL is a good strategy for the C library.
zh_CN: 有一个系统是例外：在GNU系统上（包括GNU/Linux），GNU C库是唯一的C库。所以GNU C库的发布条款决定着是否可以在GNU系统上编译专有软件。道德上没有理由在GNU系统上允许专有软件，但是战略上不允许专有软件可能更加不利于自由软件的发展。这就是为什么C库使用LGPL是一个好的战略。

note: type: Content of: <div><p>
en: For other libraries, the strategic decision needs to be considered on a case-by-case basis.  When a library does a special job that can help write certain kinds of programs, then releasing it under the GPL, limiting it to free programs only, is a way of helping other free software developers, giving them an advantage against proprietary software.
zh_CN: 对于其他库，战略决定需要具体情况具体分析。如果一个库是帮助特定的程序完成特定的任务，那么它以GPL发布，只能用于自由软件。这样会帮助自由软件开发者有超越专有软件的优势。

note: type: Content of: <div><p>
en: Consider GNU Readline, a library that was developed to provide command-line editing for BASH.  Readline is released under the ordinary GNU GPL, not the Lesser GPL.  This probably does reduce the amount Readline is used, but that is no loss for us.  Meanwhile, at least one useful application has been made free software specifically so it could use Readline, and that is a real gain for the community.
zh_CN: 以GNU Readline为例，它是为编辑BASH命令行而开发的库。它以常规的GNU GPL，而不是以LGPL发布。这样可能减少了Readline的使用量，但这不是我们的损失。同时，至少能够使用Readline使自由软件变得特别，从而使社区获得优势。

note: type: Content of: <div><p>
en: Proprietary software developers have the advantages money provides; free software developers need to make advantages for each other.  I hope some day we will have a large collection of GPL-covered libraries that have no parallel available to proprietary software, providing useful modules to serve as building blocks in new free software, and adding up to a major advantage for further free software development.
zh_CN: 专有软件开发者有金钱带来的优势；自由软件开发者需要互相帮助的优势。我希望有一天我们拥有大量的GPL的库而专有软件没有，这些库是开发新的自由软件的材料，它们加在一起构成了进一步开发自由软件的主要优势。

note: type: Content of: <div><h3>
en: Scratching an itch?
zh_CN: 解决痛点？<sup><a href="#TransNote2">2</a></sup>

note: type: Content of: <div><p>
en: Eric Raymond says that &ldquo;Every good work of software starts by scratching a developer's personal itch.&rdquo; Maybe that happens sometimes, but many essential pieces of GNU software were developed in order to have a complete free operating system.  They come from a vision and a plan, not from impulse.
zh_CN: Eric Raymond说&ldquo;每个软件杰作都开始于开发者解决个人的一个痛点。&rdquo;这个也许时有发生，但是许多GNU软件是为了完成自由的操作系统而开发的。它们来自于远见和计划，而不是冲动。

note: type: Content of: <div><p>
en: For example, we developed the GNU C library because a Unix-like system needs a C library, BASH because a Unix-like system needs a shell, and GNU tar because a Unix-like system needs a tar program.  The same is true for my own programs&mdash;the GNU C compiler, GNU Emacs, GDB and GNU Make.
zh_CN: 比如，我们开发GNU C库因为类Unix的系统需要一个C库，我们开发BASH因为类Unix的系统需要一个shell，我们开发GNU tar因为类Unix的系统需要一个tar程序。我自己的程序&mdash;GNU C编译器、GNU Emacs、GDB和GNU Make也是一样。

note: type: Content of: <div><p>
en: Some GNU programs were developed to cope with specific threats to our freedom.  Thus, we developed gzip to replace the Compress program, which had been lost to the community because of the <abbr title="Lempel-Ziv-Welch">LZW</abbr> patents.  We found people to develop LessTif, and more recently started <abbr title="GNU Network Object Model Environment">GNOME</abbr> and Harmony, to address the problems caused by certain proprietary libraries (see below).  We are developing the GNU Privacy Guard to replace popular nonfree encryption software, because users should not have to choose between privacy and freedom.
zh_CN: 有些 GNU 程序的开发是为了对付威胁我们自由的某些特殊敌人。为此，我们开发了 gzip 来代替 Compress 程序，该程序由于 <abbr title="Lempel-Ziv-Welch">LZW</abbr> 专利而离开自由社区。我们找人开发 LessTif，最近又开始开发 <abbr title="GNU Network Object Model Environment">GNOME</abbr> 和 Harmony，用来解决由于某些专有库（见下）带来的问题。我们还在开发 GNU Privacy Guard 来代替非自由的加密软件，因为用户不应该在自由和隐私之间做选择。

note: type: Content of: <div><p>
en: Of course, the people writing these programs became interested in the work, and many features were added to them by various people for the sake of their own needs and interests.  But that is not why the programs exist.
zh_CN: 当然，编程的人对这些工作很感兴趣，并且许多人因为自己需要和兴趣添加了许多功能。但那不是这些程序存在的理由。

note: type: Content of: <div><h3>
en: Unexpected developments
zh_CN: 未预见的开发

note: type: Content of: <div><p>
en: At the beginning of the GNU Project, I imagined that we would develop the whole GNU system, then release it as a whole.  That is not how it happened.
zh_CN: 在GNU工程开始时，我想象的是我们可以开发好完整的GNU系统，然后再发布。事实不是那样发展的。

note: type: Content of: <div><p>
en: Since each component of the GNU system was implemented on a Unix system, each component could run on Unix systems long before a complete GNU system existed.  Some of these programs became popular, and users began extending them and porting them&mdash;to the various incompatible versions of Unix, and sometimes to other systems as well.
zh_CN: 由于每个GNU部件都是在Unix系统上实现的，所以各个部件在GNU整体完成之前早就在Unix系统上运行了。其中一些程序大家都很喜欢，而且有用户开始扩展和移植它们&mdash;到各种不兼容的Unix版本以及其他一些系统。

note: type: Content of: <div><p>
en: The process made these programs much more powerful, and attracted both funds and contributors to the GNU Project.  But it probably also delayed completion of a minimal working system by several years, as GNU developers' time was put into maintaining these ports and adding features to the existing components, rather than moving on to write one missing component after another.
zh_CN: 这个过程使得这些程序更强大，并且为GNU工程吸引了资金和贡献者。可是，它也使完成最小系统的工作延缓了数年，因为GNU开发者的精力都放在维护这些组件的移植和新功能上，而无暇顾及开发那些缺失的组件。

note: type: Content of: <div><h3>
en: The GNU Hurd
zh_CN: GNU Hurd

note: type: Content of: <div><p>
en: By 1990, the GNU system was almost complete; the only major missing component was the kernel.  We had decided to implement our kernel as a collection of server processes running on top of Mach.  Mach is a microkernel developed at Carnegie Mellon University and then at the University of Utah; the GNU Hurd is a collection of servers (i.e., a herd of GNUs) that run on top of Mach, and do the various jobs of the Unix kernel.  The start of development was delayed as we waited for Mach to be released as free software, as had been promised.
zh_CN: 1990年时，GNU系统基本上完成了；主要部件只缺少内核。我们早已决定我们的内核是运行在Mach上的服务进程集合。Mach是卡内基梅隆大学和犹他大学先后开发的微内核；GNU Hurd（即GNU驾驭者）是运行在Mach之上的服务程序集合，它们完成Unix内核做的那些工作。因为等待Mach依照保证以自由软件发布，我们的开发工作延迟开始。

note: type: Content of: <div><p>
en: One reason for choosing this design was to avoid what seemed to be the hardest part of the job: debugging a kernel program without a source-level debugger to do it with.  This part of the job had been done already, in Mach, and we expected to debug the Hurd servers as user programs, with GDB.  But it took a long time to make that possible, and the multithreaded servers that send messages to each other have turned out to be very hard to debug.  Making the Hurd work solidly has stretched on for many years.
zh_CN: 选择该设计的一个原因是避免看起来是最困难的那部分工作：在没有源代码的级别的调试器上调试内核程序。该工作已经在Mach上完成了，我们期待的是用GDB以调试用户程序的模式调试Hurd的服务进程。但是这个花了很长的时间才实现，互相发送消息的多线程服务程序的调试实际上非常难。使Hurd能够完全工作的努力延续了许多年。

note: type: Content of: <div><p>
en: The GNU kernel was not originally supposed to be called the Hurd.  Its original name was Alix&mdash;named after the woman who was my sweetheart at the time.  She, a Unix system administrator, had pointed out how her name would fit a common naming pattern for Unix system versions; as a joke, she told her friends, &ldquo;Someone should name a kernel after me.&rdquo; I said nothing, but decided to surprise her with a kernel named Alix.
zh_CN: GNU内核最初并不打算叫Hurd。它原来的名字叫Alix&mdash;以我当时的心上人为名。她是一个Unix系统管理员，她曾说自己的名字和Unix系统版本的通用命名模式一致；她以玩笑的口吻对朋友说，&ldquo;人们应该以我的名字命名内核。&rdquo;我什么也没说，却决定以Alix命名内核来给她一个惊喜。

note: type: Content of: <div><p>
en: It did not stay that way.  Michael (now Thomas) Bushnell, the main developer of the kernel, preferred the name Hurd, and redefined Alix to refer to a certain part of the kernel&mdash;the part that would trap system calls and handle them by sending messages to Hurd servers.
zh_CN: 这个名字没有流传下来。Michael（现在的Thomas）Bushnell，内核的主要开发者，更喜欢Hurd这个名字，他把Alix重新定义为内核的某个部分&mdash;就是捕获系统调用并向Hurd服务程序发送处理消息的那部分。

note: type: Content of: <div><p>
en: Later, Alix and I broke up, and she changed her name; independently, the Hurd design was changed so that the C library would send messages directly to servers, and this made the Alix component disappear from the design.
zh_CN: 后来，我和Alix分开了，她改了名字；不约而同，Hurd也改了设计，C库直接向服务程序发送消息，Alix部件就从内核里消失了。

note: type: Content of: <div><p>
en: But before these things happened, a friend of hers came across the name Alix in the Hurd source code, and mentioned it to her.  So she did have the chance to find a kernel named after her.
zh_CN: 但是在此之前，她的朋友在Hurd代码里看到了Alix，并告诉了她。所以，她的确获得了以她名字命名的内核。

note: type: Content of: <div><h3>
en: Linux and GNU/Linux
zh_CN: Linux和GNU/Linux

note: type: Content of: <div><p>
en: The GNU Hurd is not suitable for production use, and we don't know if it ever will be.  The capability-based design has problems that result directly from the flexibility of the design, and it is not clear whether solutions exist.
zh_CN: GNU Hurd现在还不适用于产品级应用。我们也不知道它什么时候可以成熟。灵活的设计直接导致系统能力设计出现问题，而且解决方案还不清楚。

note: type: Content of: <div><p>
en: Fortunately, another kernel is available.  In 1991, Linus Torvalds developed a Unix-compatible kernel and called it Linux.  It was proprietary at first, but in 1992, he made it free software; combining Linux with the not-quite-complete GNU system resulted in a complete free operating system.  (Combining them was a substantial job in itself, of course.)  It is due to Linux that we can actually run a version of the GNU system today.
zh_CN: 幸运的是，还有另一个内核。1991年，Linus Torvalds开发了一个和Unix兼容的内核，并称之为Linux。它一开始是专有软件，但是在1992年，他把它变成自由软件；把Linux和还不完全的GNU系统结合在一起就形成了一个完全的自由软件操作系统。（当然，合并它们两个本身就是一个庞大的工程。）正是由于有了Linux，我们今天才能够运行一个GNU系统。

note: type: Content of: <div><p>
en: We call this system version <a href="/gnu/linux-and-gnu.html"> GNU/Linux</a>, to express its composition as a combination of the GNU system with Linux as the kernel.  Please don't fall into the practice of calling the whole system &ldquo;Linux,&rdquo; since that means attributing our work to someone else.  Please <a href="/gnu/gnu-linux-faq.html"> give us equal mention</a>.
zh_CN: 我们称之为<a href="/gnu/linux-and-gnu.html">GNU/Linux</a>，以表达它是GNU系统和Linux内核的结合。请不要隨大溜地把整个系统叫做&ldquo;Linux&rdquo;，因为那样就把我们的工作归功于他人了。请<a href="/gnu/gnu-linux-faq.html">给予我们平等的宣传</a>。

note: type: Content of: <div><h3>
en: Challenges in our future
zh_CN: 未来的挑战

note: type: Content of: <div><p>
en: We have proved our ability to develop a broad spectrum of free software.  This does not mean we are invincible and unstoppable.  Several challenges make the future of free software uncertain; meeting them will require steadfast effort and endurance, sometimes lasting for years.  It will require the kind of determination that people display when they value their freedom and will not let anyone take it away.
zh_CN: 我们已经证明我们有能力开发很多自由软件。这并不是说我们不可战胜、不可阻挡。有些挑战会使自由软件的未来变得不确定；面对挑战需要毫不动摇的努力和忍耐力，有时需要长年累月。它需要人们珍重自由时所表现的那种决心，自由绝不能旁落。

note: type: Content of: <div><p>
en: The following four sections discuss these challenges.
zh_CN: 以下四节讨论这些挑战。

note: type: Content of: <div><h4>
en: Secret hardware
zh_CN: 保密的硬件

note: type: Content of: <div><p>
en: Hardware manufacturers increasingly tend to keep hardware specifications secret.  This makes it difficult to write free drivers so that Linux and XFree86 can support new hardware.  We have complete free systems today, but we will not have them tomorrow if we cannot support tomorrow's computers.
zh_CN: 硬件制造商越来越倾向于保守硬件规格的秘密。这使为Linux和XFree86编写支持新硬件的自由驱动软件变得困难起来。今天我们有了完整的自由软件系统，但是如果不能支持未来的计算机，我们明天就会失去这个自由软件系统。

note: type: Content of: <div><p>
en: There are two ways to cope with this problem.  Programmers can do reverse engineering to figure out how to support the hardware.  The rest of us can choose the hardware that is supported by free software; as our numbers increase, secrecy of specifications will become a self-defeating policy.
zh_CN: 有两种方法对付这个问题。程序员可以通过逆向工程了解这些硬件的工作原理。其他人可以选择使用那些被自由软件支持的硬件；随着我们的人数增长，保守硬件规格的秘密就变成是固步自封。

note: type: Content of: <div><p>
en: Reverse engineering is a big job; will we have programmers with sufficient determination to undertake it? Yes&mdash;if we have built up a strong feeling that free software is a matter of principle, and nonfree drivers are intolerable.  And will large numbers of us spend extra money, or even a little extra time, so we can use free drivers? Yes, if the determination to have freedom is widespread&#8239;<a href="#ft8">[8]</a>.
zh_CN: 逆向工程是一个艰巨的任务；我们的程序员是否有足够的决心担起重任？是的&mdash;&mdash;如果我们强烈地感觉到自由是一个原则问题，而非自由的驱动软件是无法容忍的。会有很多人愿意花额外的钱、甚至花一点额外的时间让我们用上自由的驱动软件吗？是的，如果我们想要自由软件的决心广泛传播。&#8239;<a href="#ft8">[8]</a>

note: type: Content of: <div><h4>
en: Nonfree libraries
zh_CN: 非自由软件库

note: type: Content of: <div><p>
en: A nonfree library that runs on free operating systems acts as a trap for free software developers.  The library's attractive features are the bait; if you use the library, you fall into the trap, because your program cannot usefully be part of a free operating system.  (Strictly speaking, we could include your program, but it won't <em>run</em> with the library missing.)  Even worse, if a program that uses the proprietary library becomes popular, it can lure other unsuspecting programmers into the trap.
zh_CN: 运行在自由操作系统里的非自由软件库是自由软件开发者的一个陷阱。这些软件库看上去很美的功能是诱饵；如果你使用了该软件库，你就落入了陷阱，因为你的程序不能再作为自由软件的部件来使用。（严格来说，我们可以包含你的程序，但是它没有了非自由软件库将无法<em>运行</em>。）更糟糕的是，如果使用专有软件库的程序变得流行起来，它就会诱惑其他未起疑心的程序员落入同样的陷阱。

note: type: Content of: <div><p>
en: The first instance of this problem was the Motif toolkit, back in the 80s.  Although there were as yet no free operating systems, it was clear what problem Motif would cause for them later on.  The GNU Project responded in two ways: by asking individual free software projects to support the free X Toolkit widgets as well as Motif, and by asking for someone to write a free replacement for Motif.  The job took many years; LessTif, developed by the Hungry Programmers, became powerful enough to support most Motif applications only in 1997.
zh_CN: 第一个这样的例子是80年代的Motif工具包。虽然那时还没有自由的操作系统，但是很明显Motif将会导致什么样的问题。GNU工程做出了两个回应：一方面请求个别自由软件项目支持Motif工具包的同时也支持自由的X工具包，另一方面请求黑客编写替代Motif的工具包。该工作持续了许多年；直到1997年，由匈牙利程序员开发的LessTif，才变得足够强大来代替Motif的大部分功能。

note: type: Content of: <div><p>
en: Between 1996 and 1998, another nonfree <abbr title="Graphical User Interface">GUI</abbr> toolkit library, called Qt, was used in a substantial collection of free software, the desktop <abbr title="K Desktop Environment">KDE</abbr>.
zh_CN: 从 1996 年到 1998 年，另一个非自由 <abbr title="Graphical User Interface：图形界面">GUI</abbr> 工具包，叫做 Qt，被一个实际上是自由软件的集合，<abbr title="K Desktop Environment：K 桌面环境">KDE</abbr> 桌面所使用。

note: type: Content of: <div><p>
en: Free GNU/Linux systems were unable to use KDE, because we could not use the library.  However, some commercial distributors of GNU/Linux systems who were not strict about sticking with free software added KDE to their systems&mdash;producing a system with more capabilities, but less freedom.  The KDE group was actively encouraging more programmers to use Qt, and millions of new &ldquo;Linux users&rdquo; had never been exposed to the idea that there was a problem in this.  The situation appeared grim.
zh_CN: 自由的GNU/Linux系统当时无法使用KDE，因为我们不能使用那个工具包。然而，一些商业的GNU/Linux发行商没有坚持自由软件的理念，将KDE添加到他们的系统&mdash;生产了有更多功能、但更少自由的系统。KDE团队积极鼓励更多的程序员使用Qt软件库，数百万的新&ldquo;Linux用户&rdquo;从来没有被告知这里有问题。情况变得严峻。

note: type: Content of: <div><p>
en: The free software community responded to the problem in two ways: GNOME and Harmony.
zh_CN: 自由软件社区对此做出了两个回应：GNOME和Harmony。

note: type: Content of: <div><p>
en: GNOME, the GNU Network Object Model Environment, is GNU's desktop project.  Started in 1997 by Miguel de Icaza, and developed with the support of Red Hat Software, GNOME set out to provide similar desktop facilities, but using free software exclusively.  It has technical advantages as well, such as supporting a variety of languages, not just C++.  But its main purpose was freedom: not to require the use of any nonfree software.
zh_CN: GNOME（GNU Network Object Model Environment，GNU网络对象建模环境）是GNU的桌面项目。它在1997年由Miguel de Icaza开始，并由Red Hat Software支持开发，GNOME致力于提供相似的桌面支持，但完全使用自由软件。它在技术上也要领先，比如支持多种编程语言，而不是只支持C++。但是主要的目的还是自由：不必依赖任何非自由软件。

note: type: Content of: <div><p>
en: Harmony is a compatible replacement library, designed to make it possible to run KDE software without using Qt.
zh_CN: Harmony是一个兼容性替代库，其设计用来运行KDE软件而无需使用Qt。

note: type: Content of: <div><p>
en: In November 1998, the developers of Qt announced a change of license which, when carried out, should make Qt free software.  There is no way to be sure, but I think that this was partly due to the community's firm response to the problem that Qt posed when it was nonfree.  (The new license is inconvenient and inequitable, so it remains desirable to avoid using Qt&#8239;<a href="#ft9">[9]</a>.)
zh_CN: 在1998年11月，Qt 的开发者宣布更改授权协议，新协议实际上要使 Qt 变成自由软件。虽然无法核实，不过我还是认为这一举动有一部分是由于我们社区对 Qt 作为非自由软件的有力回应。（新的授权协议不方便也不对等，所以最好还是避免使用 Qt。&#8239;<a href="#ft9">[9]</a>）

note: type: Content of: <div><p>
en: How will we respond to the next tempting nonfree library? Will the whole community understand the need to stay out of the trap? Or will many of us give up freedom for convenience, and produce a major problem? Our future depends on our philosophy.
zh_CN: 我们会如何回应下一个非自由软件库的诱惑？整个自由社区是否都会理解我们应该躲开陷阱？抑或有人会为了好用而放弃自由，从而制造大麻烦？我们的未来要靠我们的哲学。

note: type: Content of: <div><h4>
en: Software patents
zh_CN: 软件专利

note: type: Content of: <div><p>
en: The worst threat we face comes from software patents, which can put algorithms and features off limits to free software for up to twenty years.  The LZW compression algorithm patents were applied for in 1983, and we still cannot release free software to produce proper compressed <abbr title="Graphics Interchange Format">GIF</abbr>&#8239;<a href="#ft10">[10]</a>.  In 1998, a free program to produce <abbr title="MPEG-1 Audio Layer 3">MP3</abbr> compressed audio was removed from distribution under threat of a patent suit&#8239;<a href="#ft11">[11]</a>.
zh_CN: 我们面临的最恶劣的威胁是软件专利，它可以用算法和功能点限制自由软件最长达 20 年。LZW 压缩算法于 1983 年启用专利，我们至今不能发布可以生成适当压缩的 <abbr title="Graphics Interchange Format，图形交换格式">GIF</abbr> 图片的自由软件。&#8239;<a href="#ft10">[10]</a> 在 1998 年，由于受到专利诉讼的威胁，一个生成 <abbr title="MPEG-1 Audio Layer 3">MP3</abbr> 格式的音频压缩自由软件从发行版中被移除了。&#8239;<a href="#ft11">[11]</a>

note: type: Content of: <div><p>
en: There are ways to cope with patents: we can search for evidence that a patent is invalid, and we can look for alternative ways to do a job.  But each of these methods works only sometimes; when both fail, a patent may force all free software to lack some feature that users want.  After a long wait, the patents expire, but what will we do until then?
zh_CN: 我们有些方法来对付专利：我们可以寻找专利是无效的证据，我们还可以寻找其他的方法替代专利限制的方法。但是这些方法不总是有效；当上述两种方法都失败时，专利可能迫使自由软件无法具备用户需要的某些功能。经过长时间的等待，专利会过期，但是在此之前我们怎么办？

note: type: Content of: <div><p>
en: Those of us who value free software for freedom's sake will stay with free software anyway.  We will manage to get work done without the patented features.  But those who value free software because they expect it to be technically superior are likely to call it a failure when a patent holds it back.  Thus, while it is useful to talk about the practical effectiveness of the &ldquo;bazaar&rdquo; model of development, and the reliability and power of some free software, we must not stop there.  We must talk about freedom and principle.
zh_CN: 因为自由的原因而珍视自由软件的人们总是会和自由软件保持一致。我们会设法在没有这些功能的情况下完成工作。但是还有那些因为期待自由软件功能优越而喜欢自由软件的人，他们可能在看到专利的限制后会觉得自由软件是个失败。因此，当我们谈论&ldquo;集市（bazaar）&rdquo;开发模式的实际有效性的时候，在我们谈论自由软件的可靠性和强大功能的时候，我们不要停留在这些话题上。我们必须要谈论自由和原则。

note: type: Content of: <div><h4>
en: Free documentation
zh_CN: 自由文档

note: type: Content of: <div><p>
en: The biggest deficiency in our free operating systems is not in the software&mdash;it is the lack of good free manuals that we can include in our systems.  Documentation is an essential part of any software package; when an important free software package does not come with a good free manual, that is a major gap.  We have many such gaps today.
zh_CN: 自由软件操作系统的最大不足不是软件&mdash;而是缺少优秀的自由文档。文档是软件包的基本组成部分；一个重要的自由软件包没有相应的优质自由文档，就是差距。这样的差距我们目前有很多。

note: type: Content of: <div><p>
en: Free documentation, like free software, is a matter of freedom, not price.  The criterion for a free manual is pretty much the same as for free software: it is a matter of giving all users certain freedoms.  Redistribution (including commercial sale) must be permitted, online and on paper, so that the manual can accompany every copy of the program.
zh_CN: 自由文档，和自由软件一样，关乎自由，而不是价格。自由文档的标准和自由软件大同小异：它给予所有用户自由。文档必须能够重新发布（包括商业销售），无论是在线还是纸质，这样每个软件拷贝就都能带有文档。

note: type: Content of: <div><p>
en: Permission for modification is crucial too.  As a general rule, I don't believe that it is essential for people to have permission to modify all sorts of articles and books.  For example, I don't think you or I are obliged to give permission to modify articles like this one, which describe our actions and our views.
zh_CN: 文档允许修改也很关键。作为一般性规则，我不认为有必要允许人们修改所有种类的文章和书籍。比如，我不认为你或我应该被允许修改本文，本文描述的是我们的行动和看法。

note: type: Content of: <div><p>
en: But there is a particular reason why the freedom to modify is crucial for documentation for free software.  When people exercise their right to modify the software, and add or change its features, if they are conscientious they will change the manual, too&mdash;so they can provide accurate and usable documentation with the modified program.  A nonfree manual, which does not allow programmers to be conscientious and finish the job, does not fill our community's needs.
zh_CN: 但是拥有修改自由软件文档的自由是关键的，是有特别的原因的。当人们实践修改软件的权利&mdash;添加或改变软件的功能时，如果他们是尽责的，他们还会修改文档&mdash;这样他们就会为修改后的软件提供准确和可用的文档。非自由的文档不允许程序员尽责并完成文档工作，不符合我们社区的需要。

note: type: Content of: <div><p>
en: Some kinds of limits on how modifications are done pose no problem.  For example, requirements to preserve the original author's copyright notice, the distribution terms, or the list of authors, are OK.  It is also no problem to require modified versions to include notice that they were modified, even to have entire sections that may not be deleted or changed, as long as these sections deal with nontechnical topics.  These kinds of restrictions are not a problem because they don't stop the conscientious programmer from adapting the manual to fit the modified program.  In other words, they don't block the free software community from making full use of the manual.
zh_CN: 关于如何修改文档的某些限制不是问题。比如，要求保留原作者的版权声明、发布规则或作者列表，是合适的。要求修改版包含修改声明也没问题。如果不是技术话题，即使要求整个声明不被删除或修改也没问题。这些限制不是问题因为它们没有阻止尽责的程序员修改文档以适应软件的修改。换句话说，它们没有阻止自由软件社区使用整个文档。

note: type: Content of: <div><p>
en: However, it must be possible to modify all the <em>technical</em> content of the manual, and then distribute the result in all the usual media, through all the usual channels; otherwise, the restrictions do obstruct the community, the manual is not free, and we need another manual.
zh_CN: 然而，必须要允许修改文档的所有<em>技术</em>内容，并允许从所有常规渠道以所有常规媒体发布；否则，就限制了社区，文档就不是自由的，我们就会需要另一个文档。

note: type: Content of: <div><p>
en: Will free software developers have the awareness and determination to produce a full spectrum of free manuals? Once again, our future depends on philosophy.
zh_CN: 自由软件的开发者有没有觉悟和决心来写出全方位的自由文档？我们的未来又一次依赖于我们的哲学。

note: type: Content of: <div><h3>
en: We must talk about freedom
zh_CN: 我们必须论及自由

note: type: Content of: <div><p>
en: Estimates today are that there are ten million users of GNU/Linux systems such as Debian GNU/Linux and Red Hat &ldquo;Linux.&rdquo; Free software has developed such practical advantages that users are flocking to it for purely practical reasons.
zh_CN: 估计当今有一千万GNU/Linux用户，他们使用诸如Debian GNU/Linux和Red Hat&ldquo; Linux&rdquo;系统。自由软件已经发展得如此优越，以至于用户仅仅因为其实用性就蜂拥而至。

note: type: Content of: <div><p>
en: The good consequences of this are evident: more interest in developing free software, more customers for free software businesses, and more ability to encourage companies to develop commercial free software instead of proprietary software products.
zh_CN: 好的效果是显而易见的：更多开发自由软件的兴趣、更多自由软件行业的客户和对开发商用自由软件而不是专有软件的公司的更有力的鼓舞。

note: type: Content of: <div><p>
en: But interest in the software is growing faster than awareness of the philosophy it is based on, and this leads to trouble.  Our ability to meet the challenges and threats described above depends on the will to stand firm for freedom.  To make sure our community has this will, we need to spread the idea to the new users as they come into the community.
zh_CN: 但是对软件兴趣的高涨超过了对其哲学基础的认知，这会导致麻烦。我们面对上述挑战和威胁的能力依赖于我们坚定地站在自由这一边。要使社区有同样的意志，我们需要向新加入社区的伙伴传播我们的理念。

note: type: Content of: <div><p>
en: But we are failing to do so: the efforts to attract new users into our community are far outstripping the efforts to teach them the civics of our community.  We need to do both, and we need to keep the two efforts in balance.
zh_CN: 但是我们正在此处失败：我们吸引新用户的努力大大超过了教育他们成为合格社区公民的努力。我们要两手都抓，也要两手一样硬。

note: type: Content of: <div><h3>
en: &ldquo;Open Source&rdquo;
zh_CN: &ldquo;开源&rdquo;

note: type: Content of: <div><p>
en: Teaching new users about freedom became more difficult in 1998, when a part of the community decided to stop using the term &ldquo;free software&rdquo; and say &ldquo;open source software&rdquo; instead.
zh_CN: 在1998年，教育新用户自由的理念变得更加困难，当时部分社区成员决定使用&ldquo;开源&rdquo;代替&ldquo;自由软件&rdquo;。

note: type: Content of: <div><p>
en: Some who favored this term aimed to avoid the confusion of &ldquo;free&rdquo; with &ldquo;gratis&rdquo;&mdash;a valid goal.  Others, however, aimed to set aside the spirit of principle that had motivated the free software movement and the GNU Project, and to appeal instead to executives and business users, many of whom hold an ideology that places profit above freedom, above community, above principle.  Thus, the rhetoric of &ldquo;open source&rdquo; focuses on the potential to make high-quality, powerful software, but shuns the ideas of freedom, community, and principle.
zh_CN: 其中一些人的目的是避免&ldquo;自由&rdquo;和&ldquo;免费&rdquo;的混淆&mdash;这是个合理的目的。不过，另一些人，却意在把激励自由软件运动和GNU工程的精髓抛在一边，去迎合行政和商业用户，其中很多人的理念是盈利超越自由、超越社区、超越原则。因此，&ldquo;开源&rdquo;一词聚焦于制作高质量、强功能的软件的能力，而回避自由、社区和原则的理念。

note: type: Content of: <div><p>
en: The &ldquo;Linux&rdquo; magazines are a clear example of this&mdash;they are filled with advertisements for proprietary software that works with GNU/Linux.  When the next Motif or Qt appears, will these magazines warn programmers to stay away from it, or will they run ads for it?
zh_CN: &ldquo;Linux&rdquo;杂志就是一个明确的例子&mdash;其中塞满了工作在GNU/Linux系统之上的专有软件的广告。当再有Motif或Qt之类的软件出现，这些杂志是该警告程序员远离它们呢，还是会为它们打广告呢？

note: type: Content of: <div><p>
en: The support of business can contribute to the community in many ways; all else being equal, it is useful.  But winning their support by speaking even less about freedom and principle can be disastrous; it makes the previous imbalance between outreach and civics education even worse.
zh_CN: 商业的支持能够在很多方面为社区做贡献；其他条件合适时，这是有用的。但是通过少说自由和原则来获取它们的支持是灾难性的；这使前面提到的增加用户和教育公民的不平衡变得更糟。

note: type: Content of: <div><p>
en: &ldquo;Free software&rdquo; and &ldquo;open source&rdquo; describe the same category of software, more or less, but say different things about the software, and about values.  The GNU Project continues to use the term &ldquo;free software,&rdquo; to express the idea that freedom, not just technology, is important.
zh_CN: &ldquo;自由软件&rdquo;和&ldquo;开源&rdquo;描述的是大致同一类软件，但是它们表述的却是这些软件的不同层面和价值。GNU工程继续使用&ldquo;自由软件&rdquo;一词，来表达自由而不只技术是重要的，这一理念。

note: type: Content of: <div><h3>
en: Try!
zh_CN: 尝试！

note: type: Content of: <div><p>
en: Yoda's aphorism (&ldquo;There is no &lsquo;try&rsquo;&rdquo;) sounds neat, but it doesn't work for me.  I have done most of my work while anxious about whether I could do the job, and unsure that it would be enough to achieve the goal if I did.  But I tried anyway, because there was no one but me between the enemy and my city.  Surprising myself, I have sometimes succeeded.
zh_CN: 犹大的名言（&ldquo;不存在&lsquo;尝试&rsquo;&rdquo;）听来优雅，但是对我不适用。带着是否能够完成任务的焦虑、带着完成目标是否已足够的怀疑，我完成了大部分工作。无论如何，我尝试了，因为在敌人和我的城池之间只有我自己。令我吃惊的是，我有时也能取胜。

note: type: Content of: <div><p>
en: Sometimes I failed; some of my cities have fallen.  Then I found another threatened city, and got ready for another battle.  Over time, I've learned to look for threats and put myself between them and my city, calling on other hackers to come and join me.
zh_CN: 我有时也失败；一些城池沦陷了。然后我找到另一个面临威胁的城池，并准备好另一场战役。天长日久，我学会了发现威胁并置身于威胁和城池之间，呼唤其他黑客来加入我的阵营。

note: type: Content of: <div><p>
en: Nowadays, often I'm not the only one.  It is a relief and a joy when I see a regiment of hackers digging in to hold the line, and I realize, this city may survive&mdash;for now.  But the dangers are greater each year, and now Microsoft has explicitly targeted our community.  We can't take the future of freedom for granted.  Don't take it for granted! If you want to keep your freedom, you must be prepared to defend it.
zh_CN: 现如今，我通常不再是一个人。看到大量的黑客挖战壕、守阵线的感觉是轻松和快乐。我意识到城池&mdash;眼下安全了。但是危险与年俱增，目前Microsoft明确把矛头指向我们的社区。我们不能视自由的未来为理所当然。不能认为自由是理所当然！如果要保持自由，你必须准备好捍卫自由。

note: type: Content of: <div><h3>
en: Footnotes
zh_CN: 脚注

note: type: Content of: <div><ol><li>
en: The use of &ldquo;hacker&rdquo; to mean &ldquo;security breaker&rdquo; is a confusion on the part of the mass media.  We hackers refuse to recognize that meaning, and continue using the word to mean someone who loves to program, someone who enjoys playful cleverness, or the combination of the two.  See my article, &ldquo;<a href="https://stallman.org/articles/on-hacking.html">On Hacking</a>.&rdquo;
zh_CN: 使用&ldquo;黑客&rdquo;一词来表示&ldquo;安全破坏者&rdquo;是部分大众媒体的乱用。作为黑客，我们拒绝认同这种解释，我们还是用它来表示热爱编程的人、享受技术的人，或者二者兼而有之的人。请阅读我的文章<a href="https://stallman.org/articles/on-hacking.html">关于黑客</a>。

note: type: Content of: <div><ol><li>
en: PDP machines were especially conducive to hacking, because they were <a href="https://www.theguardian.com/technology/article/2024/jun/06/reinventing-the-pdp-10"> multipurpose, fully interactive</a> in contrast with large mainframes, and allowed sharing of software and information.
zh_CN: PDP 电脑特别易于玩控，因为它们和大型机不一样，它们是 <a href="https://www.theguardian.com/technology/article/2024/jun/06/reinventing-the-pdp-10">多用途、完全交互的</a>，并且允许分享软将和信息。

note: type: Content of: <div><ol><li>
en: As an Atheist, I don't follow any religious leaders, but I sometimes find I admire something one of them has said.
zh_CN: 作为一个无神论者，我并不追捧任何宗教领袖，但是我有时会钦佩他们的一些警句。

note: type: Content of: <div><ol><li>
en: In 1984 or 1985, Don Hopkins (a very imaginative fellow) mailed me a letter.  <a href="/graphics/copyleft-sticker.html">On the envelope</a> he had written several amusing sayings, including this one: &ldquo;Copyleft&mdash;all rights reversed.&rdquo; I used the word &ldquo;copyleft&rdquo; to name the distribution concept I was developing at the time.
zh_CN: 在大约1984或1985年，Don Hopkins（一个极具想象力的家伙）给我写了封信。他在 <a href="/graphics/copyleft-sticker.html">信封</a> 上写了一些逗趣的话，其中一句说：&ldquo;Copyleft&mdash;&mdash;保留所有权利。&rdquo;我采用了&ldquo;copyleft&rdquo;来给我当时在开发的发布概念命名。

note: type: Content of: <div><ol><li>
en: We now use the <a href="/licenses/fdl.html">GNU Free Documentation License</a> for documentation.
zh_CN: 我们目前使用<a href="/licenses/fdl.html">GNU Free Documentation License</a>来授权文档。

note: type: Content of: <div><ol><li>
en: &ldquo;Bourne Again Shell&rdquo; is a play on the name &ldquo;Bourne Shell,&rdquo; which was the usual shell on Unix.
zh_CN: &ldquo;Bourne Again Shell&rdquo;是对&ldquo;Bourne Shell&rdquo;这一名称表达敬意，后者是Unix系统上常用的shell。

note: type: Content of: <div><ol><li>
en: That was written in 1998.  In 2009 we no longer maintain a long task list.  The community develops free software so fast that we can't even keep track of it all.  Instead, we have a list of High Priority Projects, a much shorter list of projects we really want to encourage people to write.
zh_CN: 当时是1998年。在2009年我们不再维护很长的任务列表。社区开发自由软件的速度是如此之快，我们甚至无法全部跟踪。所以，我们使用了高优先级项目列表，一个非常短的项目列表；我们真的鼓励用户来编写这些软件。

note: type: Content of: <div><ol><li>
en: This license was initially called the GNU Library General Public License, we renamed it to avoid giving the idea that all libraries ought to use it.  See <a href="/philosophy/why-not-lgpl.html">Why you shouldn't use the Lesser GPL for your next library</a> for more information.
zh_CN: 该许可证现在叫做GNU宽通用公共许可证，以避免大家误以为全部库都可以使用该许可证。参看<a href="/philosophy/why-not-lgpl.html">为什么你的下一个库不应该使用LGPL许可证</a>来了解更多信息。

note: type: Content of: <div><ol><li>
en: 2008 note: this issue extends to the BIOS as well.  There is a free BIOS, <a href="https://libreboot.org/">LibreBoot</a> (a distribution of coreboot); the problem is getting specs for machines so that LibreBoot can support them without nonfree &ldquo;blobs.&rdquo;
zh_CN: 2008 年注：此问题还扩展到 BIOS 程序。这里有一个自由的 BIOS 软件，<a href="https://libreboot.org/">LibreBoot</a>（coreboot 的一个发行版）；问题在于获得计算机的设计规格以便 LibreBoot 不使用非自由的 &ldquo;blobs&rdquo; 软件包也能够支持这些计算机。

note: type: Content of: <div><ol><li>
en: In September 2000, Qt was rereleased under the GNU GPL, which essentially solved this problem.
zh_CN: 后续注：在2000年9月，Qt按照GNU GPL发布，这就从根本上解决了这个问题。

note: type: Content of: <div><ol><li>
en: As of 2009, the GIF patents have expired.
zh_CN: 在 2009 年，GIF 专利过期。

note: type: Content of: <div><ol><li>
en: As of 2017, the MP3 patents have expired.  Look how long we had to wait.
zh_CN: 在 2017 年，MP3 专利过期。看看我们为此等了多少年吧。

note: type: Content of: <div><div><p>
en: Originally published in the book <cite>Open Sources</cite>.  Richard Stallman was <a href="/philosophy/open-source-misses-the-point.html"> never a supporter of &ldquo;open source&rdquo;</a>, but contributed this article so that the ideas of the free software movement would not be entirely absent from that book.
zh_CN: 最初发表于<cite>开源</cite>一书。Richard Stallman本人<a href="/philosophy/open-source-misses-the-point.html">从来不支持&ldquo;开源&rdquo;</a>，但他还是贡献了此文。这样做可以避免自由软件运动的理念在那本书中被完全忽略。

note: TRANSLATORS: Use space (SPC) as msgstr if you don't have notes. type: Content of: <div>
en: *GNUN-SLOT: TRANSLATOR'S NOTES*
zh_CN: <h3>译注</h3>
    <ol>
    <li id="TransNote1">这里的意思是起名字时，在新名字里包含旧名字以体现对旧名字的敬意。</li>
    <li id="TransNote2">原文是Scratching an itch?:意思是瘙到痒处。这里指解决一个闹心的问题，故译为解决痛点。</li>
    </ol>

note: type: Content of: <div><div><p>
en: Please send general FSF &amp; GNU inquiries to <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  There are also <a href="/contact/">other ways to contact</a> the FSF.  Broken links and other corrections or suggestions can be sent to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.
zh_CN: 请将有关自由软件基金会（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>。

note: TRANSLATORS: Ignore the original text in this paragraph, replace it with the translation of these two: We work hard and do our best to provide accurate, good quality translations.  However, we are not exempt from imperfection. Please send your comments and general suggestions in this regard to <a hr
en: Please see the <a href="/server/standards/README.translations.html">Translations README</a> for information on coordinating and contributing translations of this article.
zh_CN: 我们尽最大努力来提供精准和高质量的翻译，但难免会存在错误和不足。如果您在这方面有评论或一般性的建议，请发送至 <a href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>。</p><p>关于进行协调与提交翻译的更多信息参见 <a href="/server/standards/README.translations.html">《译者指南》</a>。

note: type: Content of: <div><p>
en: This page is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
zh_CN: 本页面使用<a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>授权。

note: TRANSLATORS: Use space (SPC) as msgstr if you don't want credits. type: Content of: <div><div>
en: *GNUN-SLOT: TRANSLATOR'S CREDITS*
zh_CN: <b>翻译团队</b>：<a rel="team" href="https://savannah.gnu.org/projects/www-zh-cn/">&lt;CTT&gt;</a>，2017-2021，2023-2025。

note: timestamp start type: Content of: <div><p>
en: Updated:
zh_CN: 最后更新：
