## 一些容易误解的词汇分析

### Closed

将非自由软件描述为“封闭”显然是指 “开源”一词。在自由软件运动中， 我们不想与开源阵营混淆 ，所以我们 小心避免说一些会鼓励人们把我们归为一类的话 与他们。例如，我们避免将非自由软件描述为 “封闭的（Closed）”。我们称之为“非自由”或者 “专有的” 。

### Cloud Computing

当思考或回应别人用这个术语做出的陈述时，第一步是明确主题。这个陈述是关于什么场景的？一个合适的、清晰的术语是什么？一旦主题清晰地表述出来，就可以进行连贯的思考。

这些不同的计算实践甚至不属于同一个讨论范畴。避免“云计算”一词造成混淆的最佳方法是不要将“云”一词与计算联系起来。请描述您所指的场景，并使用特定的术语来称呼它。

### Consume

“消耗”指的是我们对食物的处理方式：我们将其摄入，之后食物本身就不再存在。类似地，我们也用同一个词来形容其他产品，因为这些产品的使用*会消耗它们* 。将其应用于耐用品，例如衣物或家用电器，未免牵强。将其应用于出版作品（程序、磁盘或文件中的录音、纸质书籍或文件夹），这些作品的本质是无限期地存在，并且可以运行、播放或阅读任意次数，这无疑是将这个词过度延伸，使其难以理解。播放录音或运行程序并不会消耗它。

将作者的作品视为商品，并假设任何一个故事、一篇文章、一个程序或一首歌曲都没有什么特别之处，这是什么意思呢？这是出版公司老板或会计的扭曲观点，他们根本不欣赏出版作品本身。专有软件开发者希望你把软件的使用视为商品，这并不奇怪。

我们“消费内容”这一狭隘的思维模式，为诸如《数字千年版权法案》（DMCA）之类的法律铺平了道路，这些法律禁止用户破坏数字设备中的数字限制管理 （DRM）功能。如果用户认为他们使用这些设备的行为属于“消费”，他们可能会认为这些限制是理所当然的。

- **DRM（数字限制管理）** 的本质是什么？是在技术上禁止你行使一个传统“所有者”应有的权利。比如，禁止你复制、禁止你在不同设备上运行、禁止你研究其工作原理、禁止你修改以适应自己的需求（例如，为视障人士添加语音功能）。
- **DMCA（数字千年版权法案）** 则从法律上规定：**绕过DRM是违法行为**，即使你绕过的目的是为了行使法律本来允许的“合理使用”权利（如教育、评论、备份）。

用什么来代替呢？你可以使用一些具体的动词，比如“阅读”、“听”、“观看”或“看着”，因为它们有助于抑制过度概括的倾向。

如果你坚持要概括，你可以使用“attend to”这个表达，它比“consume”更容易理解。对于实际使用的词语，“use”是最好的。

“消费者”一词，当用来指代 计算，充满了我们应该拒绝的假设。有些假设来自 从使用程序“消耗”程序的想法来看，这导致人们将针对不可复制的物质产品得出的经济结论强加于可复制的数字作品。

此外，将软件用户描述为“消费者”指的是这样一种框架，即人们只能在“市场”中提供的任何“产品”中进行选择。这种框架中不存在用户可以直接控制程序功能的想法。

为了描述不仅限于被动使用作品的人，我们建议使用“个人”和“公民”等术语，而不是“消费者”。

### Content

用这个词作为名词来描述人们表达自我的作品和交流，则是一种你最好避免的态度：它把作品和交流视为一种商品，其目的是填满一个盒子并赚钱。实际上，它贬低了所有作品，只关注那个装满的盒子。为了避免这种态度，你可以称它们为“作品”、“出版物”、“信息”、“交流”，以及其他各种更具体的词语。

同样，“内容”一词也不会引发这个问题。它是“内容”一词的一种形式，但含义不同。谈论文件的“内容”或书籍的“目录”并不意味着对文件或书籍的普遍态度。

### Creator

“创作者”一词用于作者时，隐含地将他们比作神灵（“造物主”）。出版商使用这一术语是为了将作者的道德地位提升到高于普通人的水平，以便赋予他们更大的版权权力，从而以出版商的名义行使这些权力。我们建议改用“作者”。然而，在很多情况下，“版权持有人”才是你真正想要表达的意思。这两个术语并不等同：版权持有人通常不是作者。

### Digital Goods

“数字商品”一词，用于指代作者作品的复制品，将其等同于实体商品——实体商品无法复制，因此必须批量生产并出售。这个比喻鼓励人们根据对实体商品的看法和直觉来评判软件或其他数字作品的问题。它也从经济学的角度来界定问题，而经济学的价值观肤浅而有限，并不包含自由和社群。

### FLOSS

“FLOSS” 一词意为“自由/自由开源软件”，“Free/Libre and Open Source Software,”其诞生是为了[在自由软件和开源软件之间保持中立 ](https://www.gnu.org/philosophy/floss-and-foss.html)。如果您追求中立，“FLOSS” 是保持中立的最佳方式。但如果您想表明自己支持自由，请不要使用中性术语。我们称其为**自由软件**或**自由（自由）软件** ，而不是**FLOSS** **FOSS** 。

### For Free

如果你想说某个程序是自由软件，请不要说它是“免费”的。“免费”一词的具体含义是“零价格”。自由软件关乎自由，而非价格。

“免费软件”一词在 20 世纪 80 年代常用于指仅以可执行文件形式发布、不提供源代码的程序。如今，它并没有统一的定义。

免费软件副本通常是免费提供的，例如，可以通过 FTP 下载。但免费软件副本也可以通过 CD-ROM 付费获取；与此同时，专有软件副本偶尔会在促销活动中免费提供，一些专有软件包通常免费提供给特定用户。


为了避免混淆，您可以说该程序“作为免费软件”提供。

“免费增值”freemium在营销中用于描述*非自由*软件，其标准版本是免费的，但提供付费的*非自由*附加组件。

“免费游戏”（缩写为“F2P”）在市场营销中被用来描述那些*无需付费*即可开始游戏的付费游戏。在许多这类游戏中，要想在游戏中取得好成绩，就需要之后付费，因此“免费开始”一词更为准确。

### Hacker

黑客是喜欢玩弄小聪明的人——不一定是玩弄电脑。 旧的程序员 20 世纪 60 年代和 70 年代， 麻省理工学院的自由软件社区成员自称“黑客”。1980 年左右，发现黑客社区的记者误将这个词理解为“安全破坏者”。


请不要传播这个错误。破坏安全的人就是“骇客”。

### Intellectual Property

假如你希望清晰地思考专利问题、版权问题、商标问题或是其他法律相关的问题，那么第一步要做的，就是尝试不要把它们搅和在一起，应该把它们当作不同的问题，分开对待。第二步，则是要拒绝接受由“知识产权”这词描述的那个狭隘单纯的世界。不同问题区分对待，每一点都考虑到，这样你才有可能对它们有更深刻的认识。

### Internet of Things

当一些公司决定制造能够通过互联网连接到制造商服务器的计算机化设备，从而轻松监视用户时，他们意识到这听起来不太好。于是，他们想出了一个可爱又吸引人的名字：“物联网”。

它们还专门为 向人们提供有偏见的建议 。此外，制造商可以通过关闭产品所依赖的服务器来破坏产品 。

### LAMP

“LAMP” 代表“Linux、Apache、MySQL 和 PHP”——这是 Web 服务器上常用的软件组合，只不过这里的“Linux”实际上指的是 GNU/Linux 系统。因此，应该使用“GLAMP”而不是“LAMP”，即“GNU、Linux、Apache、MySQL 和 PHP”。

### 道德抉择

作为操作系统开发者，我正好具备这个技能。即使不能确保成功，我还是意识到我义不容辞。我选择让这个系统和Unix兼容，这样Unix用户就能够轻易切换过来。选择GNU作为名字是延续黑客的传统，它是“GNU's Not Unix（GNU并非Unix）”的首字母同义递归。它的发音是带g的单音节。

操作系统并不是仅仅有内核，而无法运行其他程序。在70年代，每个称得上叫操作系统名字的系统都包括命令行、汇编器、编译器、解释器、调试器、文本编辑器、邮件服务，还有很多。ITS有、Multics有、VMS有、Unix也有这些。GNU系统也应该有。

### 最初的几步

GNU工程开始不久，我听说了自由大学编译器工具包，又叫VUCK。（荷兰语的“自由”一词以*v*开头。）这是一个为处理多种语言而设计的编译器，它可以处理C语言和Pascal语言，还可以支持多个目标计算机。我写信问其作者GNU是否可以使用该工具包。

他带着嘲弄的口吻回答，大学是自由的，但编译器不是。我因此决定我的第一个GNU程序就是做一个支持多语言、多平台的编译器。

带着避免自己编写整个编译器的希望，我拿到了由Lawrence Livermore实验室开发的一个多平台的Pastel编译器的源代码。该编译器是用一种扩展的Pascal语言编写的，它本身也支持该语言，而该语言是按照系统编程语言设计的。我增加了一个C语言的前端，并开始把编译器移植到Motorola 68000计算机。当我发现该编译器需要数兆字节的堆栈空间、而当时68000的Unix系统仅允许64k字节时，我不得不放弃了该计划。

然后，我意识到这个 Pastel 编译器会把整个输入文件解析为一个语法树结构，并把该结构整体转变成一个“指令”链，最后再生成输出文件，中间从不释放任何存储空间。至此，我决定必须从头开始写一个新的编译器。该新编译器现在叫做 GCC；它完全没有用到该 Pastel 编译器，但是我设法改写和使用了我的那个 C 语言前端。但是这些都是几年以后的事；首先，我做的是 GNU Emacs 的工作。

### 程序对每个用户都自由吗？

X Window系统就是这个问题的一个范例。它由MIT开发，并使用随意许可证发布为自由软件。随后，许多公司改写了X Window系统，并把它以二进制形式添加到其专有的Unix系统中，而且用同样的保密协议加以保护。这些X Window系统的拷贝就和Unix一样不再是自由软件了。

X Window系统的开发者认为这不是问题——他们知道并愿意这样的事发生。他们的目的不是自由，只是“成功”，就是“拥有很多用户。”他们不关心这些用户是否拥有自由，只希望用户数目庞大。

这导致一个矛盾的情形：当回答“这个程序是否是自由软件？”的问题时，两种不同的计算自由的方法会给出不同的答案。如果你用MIT的发布许可证来判断时，你会说X系统是自由软件。但是，如果你测量使用X系统的用户获得的自由平均数时，你会说它是专有软件。因为大多数X系统的用户使用的是其Unix系统带的专有版本，而非自由软件版本。

### 自由软件基金会

当人们使用 Emacs 的兴趣起来后，其他人开始加入 GNU 工程。我们决定是时候再次为支持 GNU 操作系统的开发寻求资金了。所以在 1985 年，我们集结了心系共同目标的一众好友，创立了 自由软件基金会（FSF），它是一个为开发自由软件而成立的免税慈善机构。FSF 还承担了发布 Emacs 磁带的业务；该项业务后来扩展到在磁带中加入其他自由软件（GNU或非GNU），以及销售自由文档。

自由软件基金会的员工编写并维护着一些 GNU 软件包。其中有两个重要的软件包是 C 库和 shell。GNU C 库是每个运行在 GNU/Linux 系统上的程序和 Linux 通信要用到的。它由自由软件基金会的员工开发，包括 Roland McGrath。大多数 GNU/Linux 系统使用的 shell是 BASH，Bourne Again Shell ，它是由 FSF 的员工 Brian Fox 开发的。

### 技术目标

GNU的首要目标是做自由软件。即使GNU技术上并不比Unix高明，它也有社区的优势——允许用户合作，它还有道德上的优势——尊重用户的自由。

但是，在工作中采用好的经验和标准是自然的—比如，动态分配数据结构可以避免固定的内存使用，只要合理就尽可能地采用8比特编码。

另外，我们摈弃了Unix的小内存思路，决定不支持16位的计算机（很清楚，当GNU系统完成时，32位的计算机应该是标准设备），而且没有必要在内存使用未超过1兆字节时就减少内存用量。对于不常使用非常大的文件的程序，我们鼓励程序员把输入文件全读入内存，然后再处理其内容而不再操心输入输出（I/O）。

这些决定使许多GNU程序在可靠性和速度上都超过了其Unix对手。



### GNU 宽 GPL

GNU C库使用一种特别的copyleft，它叫做GNU库通用公共许可证 ，它允许使用该库连接专有软件。为什么有这样一个例外？

这不是原则的问题；没有原则说专有软件有权包含我们的代码。（我们为什么要为注定会拒绝和我们分享代码的项目做贡献？）C库或其他任何库使用LGPL许可证是战略问题。

C库完成的是普遍性的任务；每个专有系统或编译器都有自己的C库。所以，我们的C库只供自由软件使用并不会给自由软件更多的优势—它可能只会让大家避免使用我们的库。

有一个系统是例外：在GNU系统上（包括GNU/Linux），GNU C库是唯一的C库。所以GNU C库的发布条款决定着是否可以在GNU系统上编译专有软件。道德上没有理由在GNU系统上允许专有软件，但是战略上不允许专有软件可能更加不利于自由软件的发展。这就是为什么C库使用LGPL是一个好的战略。

### 解决痛点？

Eric Raymond说“每个软件杰作都开始于开发者解决个人的一个痛点。”这个也许时有发生，但是许多GNU软件是为了完成自由的操作系统而开发的。它们来自于远见和计划，而不是冲动。

比如，我们开发GNU C库因为类Unix的系统需要一个C库，我们开发BASH因为类Unix的系统需要一个shell，我们开发GNU tar因为类Unix的系统需要一个tar程序。我自己的程序—GNU C编译器、GNU Emacs、GDB和GNU Make也是一样。

### GNU Hurd

1990年时，GNU系统基本上完成了；主要部件只缺少内核。我们早已决定我们的内核是运行在Mach上的服务进程集合。Mach是卡内基梅隆大学和犹他大学先后开发的微内核；GNU Hurd（即GNU驾驭者）是运行在Mach之上的服务程序集合，它们完成Unix内核做的那些工作。因为等待Mach依照保证以自由软件发布，我们的开发工作延迟开始。

选择该设计的一个原因是避免看起来是最困难的那部分工作：在没有源代码的级别的调试器上调试内核程序。该工作已经在Mach上完成了，我们期待的是用GDB以调试用户程序的模式调试Hurd的服务进程。但是这个花了很长的时间才实现，互相发送消息的多线程服务程序的调试实际上非常难。使Hurd能够完全工作的努力延续了许多年。

### Alix

Michael（现在的Thomas）Bushnell，内核的主要开发者，更喜欢Hurd这个名字，他把Alix重新定义为内核的某个部分—就是捕获系统调用并向Hurd服务程序发送处理消息的那部分。

不约而同，Hurd也改了设计，C库直接向服务程序发送消息，Alix部件就从内核里消失了。

### 保密的硬件

硬件制造商越来越倾向于保守硬件规格的秘密。这使为Linux和XFree86编写支持新硬件的自由驱动软件变得困难起来。今天我们有了完整的自由软件系统，但是如果不能支持未来的计算机，我们明天就会失去这个自由软件系统。

有两种方法对付这个问题。程序员可以通过逆向工程了解这些硬件的工作原理。其他人可以选择使用那些被自由软件支持的硬件；随着我们的人数增长，保守硬件规格的秘密就变成是固步自封。

逆向工程是一个艰巨的任务；我们的程序员是否有足够的决心担起重任？是的——如果我们强烈地感觉到自由是一个原则问题，而非自由的驱动软件是无法容忍的。会有很多人愿意花额外的钱、甚至花一点额外的时间让我们用上自由的驱动软件吗？是的，如果我们想要自由软件的决心广泛传播.

### 非自由软件库

运行在自由操作系统里的非自由软件库是自由软件开发者的一个陷阱。这些软件库看上去很美的功能是诱饵；如果你使用了该软件库，你就落入了陷阱，因为你的程序不能再作为自由软件的部件来使用。（严格来说，我们可以包含你的程序，但是它没有了非自由软件库将无法*运行*。）更糟糕的是，如果使用专有软件库的程序变得流行起来，它就会诱惑其他未起疑心的程序员落入同样的陷阱。

第一个这样的例子是80年代的Motif工具包。虽然那时还没有自由的操作系统，但是很明显Motif将会导致什么样的问题。GNU工程做出了两个回应：一方面请求个别自由软件项目支持Motif工具包的同时也支持自由的X工具包，另一方面请求黑客编写替代Motif的工具包。该工作持续了许多年；直到1997年，由匈牙利程序员开发的LessTif，才变得足够强大来代替Motif的大部分功能。

从 1996 年到 1998 年，另一个非自由 GUI 工具包，叫做 Qt，被一个实际上是自由软件的集合，KDE 桌面所使用。

自由的GNU/Linux系统当时无法使用KDE，因为我们不能使用那个工具包。然而，一些商业的GNU/Linux发行商没有坚持自由软件的理念，将KDE添加到他们的系统—生产了有更多功能、但更少自由的系统。KDE团队积极鼓励更多的程序员使用Qt软件库，数百万的新“Linux用户”从来没有被告知这里有问题。情况变得严峻。

自由软件社区对此做出了两个回应：GNOME和Harmony。

GNOME（GNU Network Object Model Environment，GNU网络对象建模环境）是GNU的桌面项目。它在1997年由Miguel de Icaza开始，并由Red Hat Software支持开发，GNOME致力于提供相似的桌面支持，但完全使用自由软件。它在技术上也要领先，比如支持多种编程语言，而不是只支持C++。但是主要的目的还是自由：不必依赖任何非自由软件。

Harmony是一个兼容性替代库，其设计用来运行KDE软件而无需使用Qt。

### 软件专利

我们面临的最恶劣的威胁是软件专利，它可以用算法和功能点限制自由软件最长达 20 年。LZW 压缩算法于 1983 年启用专利，我们至今不能发布可以生成适当压缩的 GIF 图片的自由软件。在 1998 年，由于受到专利诉讼的威胁，一个生成 MP3 格式的音频压缩自由软件从发行版中被移除了。 

我们有些方法来对付专利：我们可以寻找专利是无效的证据，我们还可以寻找其他的方法替代专利限制的方法。但是这些方法不总是有效；当上述两种方法都失败时，专利可能迫使自由软件无法具备用户需要的某些功能。经过长时间的等待，专利会过期，但是在此之前我们怎么办？

### 自由文档

自由软件操作系统的最大不足不是软件—而是缺少优秀的自由文档。文档是软件包的基本组成部分；一个重要的自由软件包没有相应的优质自由文档，就是差距。这样的差距我们目前有很多。

自由文档，和自由软件一样，关乎自由，而不是价格。自由文档的标准和自由软件大同小异：它给予所有用户自由。文档必须能够重新发布（包括商业销售），无论是在线还是纸质，这样每个软件拷贝就都能带有文档。

文档允许修改也很关键。作为一般性规则，我不认为有必要允许人们修改所有种类的文章和书籍。比如，我不认为你或我应该被允许修改本文，本文描述的是我们的行动和看法。

但是拥有修改自由软件文档的自由是关键的，是有特别的原因的。当人们实践修改软件的权利—添加或改变软件的功能时，如果他们是尽责的，他们还会修改文档—这样他们就会为修改后的软件提供准确和可用的文档。非自由的文档不允许程序员尽责并完成文档工作，不符合我们社区的需要。

关于如何修改文档的某些限制不是问题。比如，要求保留原作者的版权声明、发布规则或作者列表，是合适的。要求修改版包含修改声明也没问题。如果不是技术话题，即使要求整个声明不被删除或修改也没问题。这些限制不是问题因为它们没有阻止尽责的程序员修改文档以适应软件的修改。换句话说，它们没有阻止自由软件社区使用整个文档。

然而，必须要允许修改文档的所有*技术*内容，并允许从所有常规渠道以所有常规媒体发布；否则，就限制了社区，文档就不是自由的，我们就会需要另一个文档。

## GNU&LINUX

**操作系统和内核有什么不同？**

操作系统，对我们来说，代表着程序的集合，它们足以支持使用电脑完成多种多样的任务。一个通用的操作系统，如果是完备的，就应该能够处理许多用户想要完成的所有任务。内核是操作系统的程序之一—它为其他程序的运行分配机器的资源。内核也负责开始和终止其他程序。混淆事情的是，有些人也使用“操作系统”一词表示“内核”。这两个意思都可以追溯到多年以前。使用“操作系统”一词表示“内核”的例子可以在80年代的一些系统设计教科书中找到。与此同时，也在80年代，“Unix操作系统”是按照包含所有系统程序来理解的，而Berkeley版的Unix甚至还包括游戏。由于我们意在使GNU成为一个类Unix的操作系统，所以我们在使用“操作系统”一词时是指和Unix一样的意思。大多数时间，人们谈及“Linux操作系统”时，他们用“操作系统”指的就是我们所说的意思：他们说的是整个程序集合。如果你指的是这个，那么请叫它“GNU/Linux”。如果你只是指内核，那么“Linux”是正确的名字，但是请你也加上“内核”来避免混淆你要指明的程序。如果你更爱使用诸如“系统发行版”之类的词来表示整个系统集合，而不用“操作系统”一词，也没问题。这时，你可能应该说GNU/Linux系统发行版。

**系统的内核正如房屋的基础。在没有基础的时候，房屋怎么就几乎完成了？**

内核并不像房屋的基础，因为构建操作系统并不像建造房屋一样。房屋是由许多通用的小部件构造的，这些小部件在施工现场切割和组装。它们必须由下而上组装在一起。因此，如果根基没有建好，你无法建造其他部分；你只能看到一个地坑。相反，操作系统由许多复杂的部件构成，它们可以以任何顺序开发。当你开发了大多数部件时，你就完成了大部分工作。这更像是构造一个国际空间站，而不是一个房屋。如果空间站的大多数部件都进入轨道，只是在等一两个重要模块，那么这就类似GNU系统在1992年的情形。

**操作系统需要内核。而 GNU 工程并没有开发内核，那么系统怎么能够叫 GNU 呢？**

这样争辩的人把系统称为 “Linux” 是在使用双重标准。操作系统还需要编译器、编辑器、窗口管理系统、系统库以及更多——成百上千的程序，即使拿 1983 年的 BSD 系统做对照也是这样。Torvalds 先生也没有开发这些程序，系统怎么能叫 “Linux” 呢？这个标准太严格，它并不是判断贡献者贡献大小的好办法。Linus Torvalds 对这个操作系统做出了重要贡献；GNU 工程开始得更早、贡献也更多。“GNU/Linux” 这个名字给了双方荣誉。

**如果我在Windows上安装了GNU工具，这意味着我要说我运行了GNU/Windows系统？**

这和我们说“GNU/Linux”并不一样。GNU的工具只是GNU软件的一部分，也就只是GNU系统的一部分，而且在它们的下层你还有另一个完整的操作系统，该操作系统和GNU没有共同的代码。总而言之，这和GNU/Linux的情况大不相同。

如果你在用 **WSL（Windows 的 Linux 子系统）**，情况稍微特别一些：

- 你运行的其实是一个真正的 **Linux 用户空间**（包括 GNU 工具、库等），
- 但底层仍然是 **Windows 内核**（通过兼容层映射 Linux 系统调用）。

所以：

> 严格说，WSL 运行的是 “GNU/Linux 环境 on Windows”，
>  但不是“GNU/Windows”。

**有没有不带GNU的完整的Linux系统[sic]？**

有一些完整的系统带有Linux而没有GNU，Android就是一个例子。但是叫它们“Linux”系统是一个错误，正如叫GNU为“Linux”系统是个错误一样。Android和GNU/Linux系统非常不同—因为它们两个共同的代码很少。事实上，它们唯一的共同点就是Linux。

**为什么不完成GNU Hurd内核、发布整个GNU系统并把GNU/Linux的问题抛在脑后？(#finishhurd)**

无论使用哪个内核，我们都希望GNU操作系统获得荣誉。要使 GNU Hurd 能够和 Linux 竞争是一个艰巨的工作，而且并没有明确的必要。Linux 作为内核唯一的道德错误是它带有固件“blobs”；对其最好的解决方案是[开发这些 blobs 的自由替代软件](https://fsf.org/campaigns/priority-projects)。

### Linux System

Linux 是 Linus Torvalds 自 1991 年开始开发的内核的名称。使用 Linux 的操作系统本质上是 GNU 加上 Linux 的版本。将整个系统称为“Linux”既不公平，又容易造成混淆。请将完整的系统称为 GNU/Linux ，这既是为了表彰 GNU 项目，也是为了将整个系统与内核区分开来。无论你是否使用 GNU/Linux，请不要含糊不清地使用“Linux”这一名称来混淆大众。Linux 是一个内核，是系统的主要基本部件之一。整个系统基本上是 GNU 系统，加上 Linux。如果你说的是这个组合，请称之为“GNU/Linux”。

“GNU”是“GNU's Not Unix!”的首字母递归缩写形式;它的发音是带*g*的单音节字（普通话类似“哥怒”)。

Linux确实存在，许多人都在使用它，但它仅仅是所用系统的一部分。Linux是内核：它是为你运行的其他程序分配计算机资源的程序。内核是操作系统的基本部分，但是它自己并无用处；它只能在完整的操作系统框架下才能发挥作用。Linux一般和GNU操作系统一起使用：整个系统基本上就是GNU加上Linux，或叫GNU/Linux。所有被叫做“Linux”的发行版实际上是GNU/Linux发行版。

程序员一般知道Linux是一个内核。但是他们一般也听到整个系统叫“Linux”，他们通常会设想的历史是整个系统要以内核命名。例如，许多人相信一旦Linus Torvalds完成了Linux内核，其用户就搜索一些自由软件来和内核一起工作，此时他们发现（没有特别的原因）构成一个类似Unix系统的大多数必要组件已经有了。

他们的发现不是巧合—它正是还没有全部完成的GNU系统。这些已经完成的自由软件加在一起就构成了完整的系统，因为GNU工程从1984年起就在做这件事。在GNU宣言中，我们已经阐明了开发一个自由的类似Unix的系统的目标，它叫做GNU。GNU工程的初始声明也勾画了GNU系统的一些原始计划。在Linux开始时，GNU几乎已经完成。

大多数自由软件项目以完成某项具体工作为目标。例如，Linus Torvalds编写一个类似Unix的内核（Linux）；Donald Knuth编写一个文本排版软件（TeX）；Bob Scheifler开发一个窗口系统（X Window系统）。测量该工程里各个程序的贡献是一件自然的事情。

GNU工程过去不是、现在也不是，一个开发专门软件包的项目。它不是一个开发C编译器的工程，不过我们做了。它也不是一个开发文本编辑器的工程，我们也做了。GNU工程是要开发*一个完全自由的类似Unix的操作系统*：GNU。

许多人已经为系统中的自由软件作出了重大贡献，他们都应该获得荣誉。但 GNU 是*一个整合系统*——而不是一些实用程序集合的原因是，GNU 工程的最初目标就是做一个完整系统。我们曾经为完成一个*完整的*自由系统列了一个所需程序的清单，而且我们系统地寻找、编写、或者征询别人编写清单上的每一个程序。我们编写了关键的但是十分枯燥的 [^1]主要部件，因为这是系统所必需的。有些系统部件，比如编程工具，自己也变成程序员使用的流行工具，但是我们还编写了许多不是工具的部件 [^2]。我们甚至还开发了一个国际象棋游戏，叫GNU Chess，因为一个完整的系统也需要游戏。

到了90年代初期，我们曾经把除了内核以外的东西放到一起组成了一个系统。我们也在开始开发一个内核，称为GNU Hurd，运行在Mach上。开发这个内核比我们的预期要难得多；GNU Hurd在2001年开始可以稳定工作，但是距离能够被人们正常使用还有很长的路要走。

庆幸的是，我们不必再等 Hurd 了，因为有了 Linux。当 Linus Torvalds 在 1992 年使 Linux 成了自由软件，它填补了 GNU 系统的一个重要空白。人们可以 把 Linux 和 GNU 系统结合起来 组成一个完整的自由系统——一个带有 Linux 的 GNU 系统。换句话说，就是 GNU/Linux系统。

把它们组合到一起并不是一个简单的工作。有些 GNU 部件[^3]需要作大量的修改才能适应 Linux。把系统集成到一个完整的发行版本中、使之“能够直接安装并工作”也是一项艰巨的工作。它需要考虑如何安装和启动系统——我们那时还未处理此问题，因为我们还没有走到那一步。因此，那些开发了不同的发行版的人们作出了许多重要的工作。但是这些工作的属性是，它们终究会被某些人做的。

GNU 工程支持 GNU/Linux 系统，就象支持*其* GNU 系统一样。FSF 为重写与 Linux 相关的 GNU C 库提供资金，以至于它们现在可以很好地集成在一起，最新版本的 GNU/Linux 系统使用当前库而无需修改。FSF 也为早期 Debian GNU/Linux 的开发提供资金。

今天有很多不同的GNU/Linux系统（通常叫做“发行版”）。它们大多数包含了非自由软件—它们的开发者遵循的是和Linux相关的“开源”哲学，而不是GNU的“自由软件”哲学。然而，也有完全自由的GNU/Linux发行版。FSF支持其中一些发行版相关的电脑及其周边件。

制作一个自由的 GNU/Linux 发行版不止是剔除非自由软件。现在，常规的 Linux 版本也带有非自由程序。这些程序会在系统启动时加载到 I/O（输入输出）设备，它们以很长的数字形式包含在 Linux 的“源代码”中。所以，维护自由的 GNU/Linux 发行版现在承担着维护一个 自由版 Linux 的责任。

如果你想为“GNU/Linux”提供参考链接，本页面和 https://www.gnu.org/gnu/thegnuproject.html 是好的选择。如果你说的是作为内核的 Linux，要为它提供参考链接，https://foldoc.org/linux是一个好的 URL。

自由软件的未来的一个巨大挑战来自发行“Linux”的公司以便利和功能强大之名向 GNU/Linux 系统添加非自由软件。主要商业发行版的开发者全部都这么做；没有人把自己限制在自由软件的范围内。其中大多数没有明确地在其发行版中标识非自由软件包。很多开发者甚至开发非自由软件并添加到系统中。还有些悍然宣传“Linux”系统是“按用户数授权的”，就是和 Microsoft Windows 给用户的自由一样多。

向GNU/Linux系统添加非自由软件可能会提高其受欢迎程度，如果这是指使用GNU/Linux软件加上某些非自由软件的人数。但是同时，它暗示着鼓励社区象接受一件好事一样接受非自由软件，并忘却自由的目标。如果南辕北辙，走得再快也不是好事。

当非自由的“附加组件”是一个库或者是一个编程工具时，它可能会变成自由软件开发者的陷阱。当他们写的自由软件依赖于这个非自由的软件包时，他们的软件就不能作为完全自由系统的一部分。Motif和Qt过去就是这样使大量自由软件落入了圈套，由此导致的问题花费了数年才得以解决。

除了GNU，还有一个独立进行的工程开发了一个自由的类似Unix的操作系统。这个系统是BSD，它是由UC Berkeley开发的。在80年代，BSD还不是自由的，但是它在90年代初变成了自由软件。今天，一个自由的操作系统差不多如果不是GNU系统的派生版本，就是BSD系统的派生版本。

人们有时会问BSD是否也是一个GNU的派生版本，像GNU/Linux那样。BSD的开发者受到GNU工程的激励而将他们的代码变成了自由软件，尤其受到来自GNU的活动家的明确吸引和帮助，但是他们的代码和GNU并不重合。BSD系统现在也使用一些GNU程序，正如GNU系统及其派生版使用一些BSD程序一样；然而，整体来看，他们是两个独立发展的不同系统。BSD的开发者并没编写一个内核，并将之添加到GNU系统，进而起个譬如叫GNU/BSD的名字，并不是这个情况。

## Opt out

When applied to any form of computational mistreatment[^4], “opt out” implies the choice is a minor matter of convenience. We recommend “reject,” “shun” or “escape from.”
当应用于任何形式的计算虐待时，“选择退出”意味着选择只是为了方便。我们建议使用“拒绝”、“回避”或“逃避”。



## MP3

我们建议使用“数字音频播放器”或简称为“音频播放器”来代替“MP3 播放器”，只要这样就足够清楚了。

## Photoshop

请避免将“photoshop”一词用作动词，泛指任何类型的照片处理或图像编辑。Photoshop 只是一个特定图像编辑程序的名称，由于它是专有的，因此应避免使用。有很多免费的图像编辑程序，例如 [GIMP](https://www.gimp.org/) 。

## Powerpoint

请避免使用“PowerPoint”一词来指代任何类型的幻灯片演示。“PowerPoint”只是一个用于制作演示文稿的专有程序的名称。为了您的自由，您应该只使用自由软件来制作演示文稿——也就是说， *不要使用 PowerPoint* 。推荐的选项包括 LaTeX 的 `beamer` 类和 LibreOffice Impress。

## Saas or Software as a Service

我们过去常说 SaaS（“软件即服务”）是一种不公正，但后来我们发现，人们对哪些活动可以算作 SaaS 的理解存在很大差异。因此，我们改用了一个新术语，“服务即软件替代品”或“SaaSS”。这个术语有两个优点：它以前从未被使用过，所以我们的定义是唯一的；它解释了不公正的构成。

## Sharing

当公司操纵或引诱人们泄露个人数据并因此放弃隐私时，请不要将此称为“共享”。我们使用“共享”一词来指代非商业性合作，包括非商业性地重新分发已出版作品的精确副本，我们认为这是*好的* 。请不要将这个词用于有害且危险的行为。

“共享经济”一词并非指代优步和爱彼迎等安排人与人之间商业交易的服务。我们用“共享”一词来指代非商业性合作，包括非商业性地重新分发已出版作品的精确副本。将“共享”一词延伸至涵盖这些交易会损害其含义，因此我们不会在此语境中使用它。



## Source model

维基百科对“源代码模型”一词的使用令人困惑且模棱两可。表面上，它指的是程序源代码的分发方式，但文本却将其与开发方法论混淆。



## Theft

那些支持过于严格、压制性版权制度的人，经常用“偷窃”和“盗窃”之类的词来指称侵犯版权。这不过是歪曲事实，但他们希望你将其视为客观事实。在美国法律体系下，侵犯版权并不属于盗窃.

未经授权的复制在很多情况下（并非所有情况！）都是受版权法禁止的，但被禁止并不意味着复制是错的。一般来说，法律本身并不定义是非对错。法律在其最佳状态下，只是试图实现正义。如果法律（其实施）不符合我们对是非对错的认知（其规范），那么法律本身就应该被修改。



### 脚注

[^1]: 这些关键但枯燥的部件包括 GNU 汇编器（GAS）和连接器（GLD），他们现在都是 [GNU Binutils](https://www.gnu.org/software/binutils/) 软件包的一部分，以及 [GNU tar](https://www.gnu.org/software/tar/)，还有其他许多软件。

[^2]:  比如，Bourne Again SHell（BASH），PostScript 解释器 [Ghostscript](https://www.gnu.org/software/ghostscript/ghostscript.html)，和 [GNU C库](https://www.gnu.org/software/libc/libc.html)都不是编程工具。GNUCash、GNOME 和 GNU Chess 也不是。
[^3]: 例如，[GNU C库](https://www.gnu.org/software/libc/libc.html)。

[^4]:算法或计算系统造成的对个人或群体的不公正,如算法歧视