Nli*_*tis 132 gnu linux-kernel hurd
虽然我很长一段时间都知道Hurd的存在,以及它作为官方 GNU 操作系统内核的使命,但我想知道为什么 Linux 多年来没有被接受为官方 GNU 内核,因为它处于更好的状态比赫德?
到目前为止,Linux 或多或少已经担任了 20 多年的角色,但是可以看出 GNU 项目在 Linux 方面一直保持着距离。为什么会这样?是因为梦想赫德(在未来的某个时候)达到生产质量水平吗?是不是因为 GNU 项目没有看到它的使命在 Linux 中得到了充分体现?是不是出于其他政治原因?
gol*_*cks 155
除非开发人员同意约束所有官方 GNU 项目的某些规定,否则 GNU 不会将某些东西作为项目采用。
目前 Linux 内核可能不符合这些限制,Linus Torvalds、kernel.org 等人也没有。将自己置于 GNU 保护伞之下,但会失去很多——前面提到的具有约束力的协议,以及公众认为内核现在是一个 GNU 项目,这将产生主要的负面影响。GNU 的上级组织自由软件基金会 (FSF) 是一个政治组织,Torvalds 对它以及颇具争议的、打破常规的 GNU 和 FSF 终身领袖/创始人 Richard M. Stallman 提出了各种公开批评。
此外,Linux 内核不需要 GNU 用户空间,就像 GNU 用户空间需要 Linux 内核一样。根据软件工程的基本原则,这种独立性应该被认为是一件好事,它有利于模块化和松散耦合,而不是相反(具有紧密耦合的单体事物)。
反对这个想法的另一点是,虽然 HURD 可能不像 Linux 那样受到那么多人的兴趣,但 HURD 的开发人员和用户可能会反对让他们的项目在人气竞赛中被有效地淘汰。对他们有好处;这种“竞争”是一件积极的事情,而屈服于垄断则不是——你最终会得到大量扼杀创造力的实体,部分原因是它们容易受到整体/自大狂控制。Linux 基金会已经是一个独立的组织,它不妨保持这种状态。
Fah*_*tha 80
网上有很多关于此的文档和讨论。
简短的回答是 GNU 项目和 Linux 内核项目之间存在深刻的意识形态差异,这阻碍了可能的统一。
GNU 项目背后的组织 FSF 的重点是关于自由软件思想的意识形态纯洁性。这主要来自 FSF/GNU 创始人 Richard Stallman 的观点。此外,正如金发姑娘所提到的,FSF 现在主要是一个政治倡导组织。很长一段时间以来,FSF 并未将大量资源投入 GNU 项目,尽管它们确实提供了支持基础设施。
Linux 内核项目对软件自由采取了更为务实的立场,这在很大程度上再次源于其创始人 Linus Torvalds。Linux 内核项目主要是一个自由软件项目,由专门从事内核/操作系统开发的软件开发人员组成,绝不是一个政治倡导组织。
作为这些意识形态如何在实践中发挥作用的具体例子,请考虑
1) Stallman 认为 Debian 项目通过维护其软件档案的非自由部分来“宣传”非自由软件的事实是不可接受的。这具有讽刺意味,因为 Debian 项目专注于软件自由,这与 FSF 非常相似,但在意识形态上并不那么僵化。
2) Linux 内核允许(非自由)二进制内核模块与内核一起使用。虽然内核开发人员对此并不热情,但他们确实容忍了,但很难想象 FSF 会这样做。
还值得注意的是,Stallman 试图将基于 Linux 内核的操作系统命名为 GNU/Linux,这可能并没有改善 FSF 与 Linux 内核社区之间的关系,尽管我没有这方面的具体数据。
除此之外,正如金发姑娘所提到的,FSF 有 GNU 项目必须遵守的各种规则。这包括将所有代码的版权分配给 FSF。这本身就是一个交易破坏者,因为 Linus Torvalds 从未要求过这样的版权转让。因此,如果 Linux 内核要成为 GNU 项目的一部分,那么对 Linux 内核的所有重大贡献都必须将其版权分配给 FSF。考虑到项目的年龄和规模,以及贡献者的数量,这基本上是不可能的。更小和更年轻的项目(例如 Mercurial)发现软件重新授权是一项艰巨的任务。
请注意,这个答案绝不是对 FSF 或 Linux 内核开发人员的批评。双方各有各的道理。然而,实际情况是它们在某种程度上是不相容的观点。
Nli*_*tis 37
我引用了Richard Stallman的评论,关于使用 Hurd 而不是 Linux 的决定。
人们有时会问,“为什么 FSF 开发一个新的免费内核而不是使用 Linux?”这是一个合理的问题。简而言之,答案是这不是我们面临的问题。
当我们在 1990 年开始开发 Hurd 时,我们面临的问题是,“我们如何才能为 GNU 系统获得一个免费的内核?”当时还没有免费的类 Unix 内核,我们也知道没有其他计划编写一。我们可以期望拥有免费内核的唯一方法是自己编写它。所以我们开始了。
我们在 Linux 发布后听说过它。当时,我们面临的问题是,“我们是否应该取消 Hurd 项目并改用 Linux?”
我们听说 Linux 根本不可移植(今天可能不是这样,但那是我们当时听到的)。我们听说 Linux 在架构上与 Unix 内核相当;我们的工作导致了更强大的东西。
鉴于我们已经为 Hurd 投入了多年的工作,我们决定完成它而不是将它们扔掉。
如果我们确实面对人们提出的问题——Linux 是否已经可用,并且我们正在考虑是否开始编写另一个内核——我们不会这样做。相反,我们会选择另一个项目,完成现有自由软件无法完成的工作。
但当时我们确实启动了赫德,现在我们已经让它发挥作用了。我们希望其卓越的架构能让免费操作系统更加强大。