GNU 是什么?

2024 年 10 月 9 日 | 阅读 6 分钟

了解 GNU

GNU/Linux 是一个强大、开源的操作系统,由 Richard Stallman 于 1983 年开发。它最初是一个旨在创建类 Unix 操作系统的项目。GNU 是“GNU's Not Unix!”的缩写。GNU 包含多个系统组件,如编译器、库等。Linux 内核由 Linus Torvalds 于 1991 年开发。Linux 内核是操作系统的核心,负责管理硬件、系统进程等。

What is GNU?

GNU 也被称为一系列自由软件的集合,可以作为操作系统使用。使用完整的 GNU 工具和一个操作系统便诞生了,称为 Linux。截至 2024 年,GNU 包含 394 个软件包。

特点

  • GNU 和 Linux 都基于 GPL(通用公共许可证)授权。
  • 用户可以轻松自定义系统的所有元素,从内核到桌面环境。
  • GNU 以其强大的安全功能而闻名。它广泛应用于服务器和需要高安全性的环境中。

用途

  • 将 GNU 用作服务器:GNU/Linux 是许多 Web 服务器、数据库和企业解决方案的支柱。
  • 用于开发领域:开发人员始终选择它,因为它拥有强大的命令行工具、包管理系统以及对多种编程语言的支持。
  • 将 GNU 用于桌面:GNU/Linux 可以轻松地通过各种桌面环境(如 GNOME、KDE 和 Xfce)来管理不同的用户偏好。

GNU 中的组件

GNU 中有许多组件,如 GCC、glibc、coreutils 等。让我们详细了解一下。

  • GNU 编译器集合 (GCC):用于多种编程语言,如 C、C++ 等。
  • GNU C 库 (glibc):许多类 Unix 操作系统使用的标准 C 库。
  • GNU Core Utilities (coreutils):包含基本的文件、shell 和文本处理程序。
  • GNU 调试器 (GDB):用于查找和修复程序中的 bug。
  • GNU Binary Utilities (binutils):用于处理二进制文件,如汇编器和链接器。
  • GNU Bash Shell:这是一个命令处理器,用户可以通过它输入命令。

许多其他操作系统中都包含了 GNU,例如 Microsoft Windows 和 macOS。截至 2024 年 6 月,在 GNU 官方开发网站上包含 467 个软件包。

GNU 作为操作系统

GNU 操作系统包含 GNU 软件包以及来自第三方(的)自由软件。它包括应用程序、库、开发人员工具以及一些游戏。GNU 的一个主要关键方面是它允许用户运行、复制、分发、研究、修改和改进软件,从而全面控制他们的计算。通常,GNU 与 Linux 内核一起使用,而 Linux 内核如今被广泛使用。

GNU Hurd

GNU Hurd 是 GNU 项目开发免费开源操作系统内核的最重要项目。Hurd 使用微内核架构,运行在 GNU Mach 微内核上,后者负责处理内存管理和进程间通信等基本任务。它是一组服务器,实现了各种功能,如文件系统、网络协议和文件访问控制。

GNU Hurd 项目于 1990 年启动,旨在取代 Unix 内核。与 Linux 等其他内核相比,GNU Hurd 的开发耗时较长,并面临挑战。Hurd 的最新稳定版本是 0.9 版,于 2016 年 12 月发布。您可以通过 Debian GNU/Hurd 等发行版运行 GNU Hurd。

Linux-libre

2012 年,Linux-libre 成为 GNU 项目的官方组成部分,作为一个分支。它是 Linux 的一个变体,去除了所有专有组件。GNU 项目已认可 Linux-libre 发行版,如 Trisquel、Parabola GNU/Linux-libre、PureOS 和 GNU Guix System。

非 GNU 内核

有许多非 GNU 内核被广泛用于各种操作系统。以下是一些例子:

  • Linux 内核
  • BSD 内核
  • XNU 内核
  • Windows NT 内核
  • MINIX
  • L4 微内核系列
  • Haiku

历史

1983 年 9 月 27 日,Stallman 宣布了 GNU 项目。它由 Richard Stallman 开发,他曾是麻省理工学院人工智能实验室的程序员。GNU 是“GNU's Not Unix!”的缩写。GNU 的主要目标是创建一个兼容 Unix 的操作系统,并将其作为自由软件提供。1985 年,Stallman 创立了自由软件基金会 (FSF) 来支持自由软件的开发。

GNU Manifesto 于 1985 年发表。它描述了 GNU 项目的原则和目标。它强调了用户在软件开发和分发领域自由的重要性。

GNU 的发展

GNU 项目最初开发了基本的类 Unix 工具,如编译器、文本编辑器和命令行工具。

以下是一些包含的项目:

  • GCC
  • glibc
  • Bash
  • GNU Hurd
  • GNU/Linux
  • GPL
  • GPLv2 和 GPLv3

GNU Logo

GNU 的标志是一头牛羚的头部。牛羚是一种非洲角马,这是对项目名称“GNU”的引用。标志的特点是其大而弯曲的角和蓬乱的鬃毛。标志是黑白的,但也有彩色版本。选择牛羚动物是为了呼应项目名称“GNU's Not Unix!”它代表了 GNU 项目及其社区的力量、韧性和自由精神。

许可证与版权

GPL 是由 Richard Stallman 和自由软件基金会 (FSF) 创建的自由软件许可证。它是世界上使用最广泛的开源许可证之一。

版权是赋予创作者原创作品法律概念。它授予对其使用和分发的专有权利,通常是有限的时间。这些权利包括控制作品的复制、分发和改编的能力。在软件方面,版权适用于源代码,使作者能够控制代码的使用、共享和修改方式。

Copyleft

GPL 包含一个称为 copyleft 的法律概念。它确保任何在 GPL 下许可的软件以及基于它的任何衍生作品也必须在同一许可证下分发。这意味着用户使用、修改和分发软件的自由必须在所有副本和衍生作品中得到保留。

GPL 版本

  • 1989 年,GPLv1 的第一个版本确立了 copyleft 的基本原则。
  • 1991 年,GPLv2 版本解决了第一个版本中的一些歧义,并得到了广泛采用。
  • 2007 年,引入了 GPLv3 来应对软件专利和数字版权管理 (DRM) 等新挑战。
  • 宽松通用公共许可证 (LGPL) 与 GPL 类似。它主要是为软件库创建的。
  • AGPL (Affero General Public License) 是 GPL 的另一个变体,特别关注在网络上运行的软件。

管理

FSF 是 GNU 项目的主要管理者。它管理和更新 GNU 许可证,确保它们能够随着新的法律和技术挑战而发展。

GNU 项目依赖于全球开发者社区的贡献,他们遵循自由软件的原则。这些贡献者在维护和推进软件方面发挥着至关重要的作用。Richard Stallman 和 FSF 提供了道德领导,塑造了自由软件的发展。FSF 向公众、开发人员和公司宣传软件自由的重要性以及 GNU 许可证的正确使用。

结论

本文提供了关于 GNU 的所有信息,包括其特性、用途等。还描述了带有 GNU 的流行发行版。此外,还描述了其历史和发展阶段,包括内核。另外,还讲述了 GNU 标志的有趣故事,以及它的许可证、版权和管理。