您对 Linux 感兴趣并阅读了一些博客文章。 在此过程中,您遇到了一个有趣的名字:GNU/Linux。 这些字母是什么意思,为什么人们一直将它们附加到 Linux 上? 我可以回答这个问题,并且在我这样做的时候,我会将你带入一场在 Linux 世界中持续了几十年的辩论的中间。
现在,有了它的出路… Linux 或 GNU/Linux,是哪个?
什么是 GNU?
十年是 1980 年代,计算机行业正处于转型期。 涉及苹果公司的最高法院裁定二进制程序(一种即用型软件)可以受版权保护。 几年后,微软发布了 Windows。 这开始改变人们与软件交互的方式。
在公司为了致富而开始对软件进行版权保护之前,大多数软件都是由研究人员和学者使用的。 计算机代码是公开共享的,人们可以自由地对程序做任何他们想做的事情。 现在限制已经到位,继续做过去做的事情变得非法。
形成了称为自由软件运动的运动。 1983 年,理查德·斯托曼 宣布计划创建一个完全非专有的 Unix 兼容操作系统. 他称其为 GNU 项目。
GNU 是一个递归首字母缩写词,代表“GNU’s Not Unix”。GNU 项目提供了许多当今免费桌面所依赖的酷工具。 80 年代创建的关键工具包括 GCC(一种用于编译 C 的工具)、Emacs(一种文本编辑器)、Bash 以及仍在使用的各种命令行实用程序。
许多广泛使用的应用程序都是 GNU 项目的一部分,例如 GIMP(GNU 图像操作程序)和 GNOME,它是最流行的免费桌面环境之一。 无论您使用哪种 Linux 操作系统,您都可能依赖于多个 GNU 软件。
GNU 项目还负责通用公共许可证。 这就是多年来我们使用的大部分免费软件保持免费的原因。
Linux 呢?
Linux 于 1991 年问世。该项目始于赫尔辛基大学的一名学生开始研究他自己的操作系统内核。 他的名字是莱纳斯·托瓦兹。
当时,GNU 项目已经创建了运行正常的自由操作系统所需的大部分内容,但缺少的部分是必不可少的。 其中包括硬件驱动程序、守护进程和工作内核。 这些组件使软件能够与硬件进行通信。
GNU Hurd 是 GNU 项目对内核的尝试,它于前一年开始开发,但尚未准备好。 一个名为 MINIX 的不同内核自 1987 年就出现了,但它只被许可用于教育用途。
沮丧的托瓦兹决定自己做。 他将个人项目称为 Linux,是他的名字和 UNIX 的组合,但他认为这太自负了,无法公开分享。 相反,他以 Freax 的名义分享了这个项目,这是“免费”、“怪胎”和“UNIX”的组合。 一位同事不喜欢这个名字,更喜欢 Linux。 Linus 同意了,这个名字被卡住了。
内核起初并不是免费的,但在 1992 年,Linus 在 GPL 下授权了 Linux,这是 GNU 项目创建的一个 copyleft 许可证。 这是该项目成功的主要原因。 许多人没有创建竞争内核,而是采用了 Linux 并为其开发做出了贡献。
我们使用的是 Linux 还是 GNU?
借助 GNU 工具和功能强大的 Linux 内核,我们现在拥有了一个工作的、免费的操作系统。 但是怎么称呼它呢? 从早期开始,许多人就将使用 Linux 内核的操作系统简单地称为 Linux。 这引发了紧张局势,因为 Linux 几乎不能代表我们在说 Linux 时所想象的体验的大部分内容。
Richard Stallman 最初提出了将此类创作称为基于 Linux 的 GNU 系统的想法。 然后他改变了对 GNU/Linux 的偏好(发音为“GNU slash Linux”或“GNU plus Linux”),因此很明显这两个项目都起着至关重要的作用。 有些人接受这个论点,而另一些人则认为这样的名字是尴尬和不必要的。 分歧一直持续到今天。
使用 GNU/Linux 的原因
从一开始,GNU 项目的目的就是开发一个完整的操作系统。 内核是拼图中缺失的部分之一。 Torvalds 并没有着手创建操作系统,而是提供了那个缺失的部分。
Linux 对于您在屏幕上看到任何内容至关重要,但它与您实际看到的内容几乎没有关系。 这在很大程度上取决于您的桌面环境。
如果您使用 GNOME,那么您使用的界面和软件套件都是 GNU 项目的一部分。 即使您没有安装图形用户界面,您仍然在与作为 GNU 一部分的命令行工具(例如 Bash 本身)进行交互。 没有这些工具,我们所认为的 Linux 就不再像 Linux。
为了 example,Android 感觉不像 Linux,即使它使用 Linux 内核。 这主要是因为它缺少 GNU 工具链。 另一方面,FreeBSD 提供了与桌面 Linux 几乎相同的体验,即使 Linux 内核还没有出现。
同样,当我们想到 Windows 时,我们通常会想到界面。 我们中很少有人会立即想到 Windows 内核。 如果有人可以在 Linux 内核之上运行 Windows 10 界面和他们所有的 Windows 应用程序,他们可能仍会认为那是 Windows。 Chromebook 已经是这种情况,它使用 Linux 内核,但无法在 Google 的界面中运行传统的 Linux 应用程序。
操作系统组件
一个免费的操作系统由许多组件组成。 将整个生态系统称为 Linux 会造成混乱。 Torvalds 有时会因为创建整个操作系统而受到赞誉,而他只创建了一个特定的部分。
更重要的是,GNU 项目不仅提供了支持自由操作系统的工具,还提供了法律框架。 GPL 阻止人们获取免费代码并使用它来创建他们自己的竞争专有软件。 如此多的核心工具,包括 Linux 本身,都是在 copyleft 许可下发布的,这加速了它们的采用,并为今天的自由软件社区的文化奠定了基础。
Linux 的原因
Linux 更受欢迎。 上世纪 90 年代就是这种情况,今天仍然如此。 将操作系统称为其他任何东西都会并且仍然会感觉像是有意识的品牌重塑工作。 那是因为 Linux 使人们能够实际运行 GNU 项目和其他人创建的所有软件。 没有 Linux,您将无法实际使用任何东西。
另外,GNU/Linux 是一个笨拙的名字。 读起来很尴尬,说起来更笨拙。 仅此一个原因就足以让一些同意 Linux 不是一个公平名称的人不再将操作系统称为其他任何东西。
然后是 Linus 自己的论点,将 Linux 称为 GNU/Linux 简直是荒谬的。
此外,我们在哪里停下来? 如果我们把功劳归功于 GNU,难道我们不应该归功于 X,大多数免费桌面生态系统已经使用了数十年的显示服务器吗? 我们现在才刚刚开始看到 1984 年首次开发的软件的替代品。没有显示服务器,您将一无所有。 我们也称这些 X/GNU/Linux 系统(现在被 Wayland/GNU/Linux 取代)。 音频也很重要。 桌面环境也是如此。 不久之后,我们将我们的桌面称为 KDE/PulseAudio/Wayland/GNU/Linux。
你怎么看?
我不喜欢 GNU/Linux 这个名字,但我个人仍然更愿意将我的笔记本电脑称为 GNU 系统而不是 Linux 系统。 作为一个也涉足过 Android 和 Chromebook 的人,Linux 这个名字越来越不够用了。 可用于 Linux 的程序并不意味着它可以在 Android 上运行,反之亦然。 随着信息娱乐系统、智能家居产品、可穿戴设备和其他电子产品继续采用 Linux 内核,情况只会变得更加复杂。
那你呢? 你觉得 Linux 够用吗? 您是否认为 Stallman 试图获得荣誉? 你会推荐一个完全不同的名字吗? 在下面的评论中加入正在进行的对话!