尽管我在相当长一段时间内都知道了Hurd的存在及其作为官方GNU操作系统内核的使命,但我想知道多年来Linux为何不再被视为官方GNU内核,因为它处于更好的状态到目前为止,Linux或多或少已经比Hurd担当了20多年的角色,但是人们可以看到GNU项目在涉及Linux方面一直在与时俱进。为什么会这样呢?出于梦想,赫德(在将来的某个时候)会处于生产质量水平吗?是因为GNU项目在Linux中没有充分体现其使命吗?是出于其他政治原因吗?

评论

这里有种“非法”的问题,但很有趣。幸运的是,它给出了足够出色的答案,因此受到了“历史意义”的保护... ;-)

@HaukeLaging Thanx队友。我也觉得这是一个很好的问题,可能会产生有趣的答案,并且无法真正理解为什么有人会投近票。我相信这是很多人想知道的事情。

哦,这很简单:只需指向FAQ,然后喊“离题”和“太宽泛” ...

@HaukeLaging您是如此的真实,我希望人们更加务实,能够认识到一些有价值的问题,而不仅仅是指向FAQ和大喊大叫。人们可以轻松地在S.O中看到最有趣的问题正在关闭,只是想知道...

我只是DID重新阅读了常见问题解答。恕我直言,这是这里的话题。尽管这是一个元问题,但问题本身与Linux / Unix有关,并且很清楚。

#1 楼

除非开发人员同意绑定所有正式GNU项目的某些规定,否则GNU不会将其作为项目。

当前Linux内核可能不符合这些限制,而Linus Torvalds内核没有任何限制。 .org等。将自己置于GNU的保护之下而获得收益,以及大量的损失-上述具有约束力的协议,以及公众认为内核现在是GNU项目,这将产生主要的负面影响。 GNU的上级组织,自由软件基金会(FSF),是一个政治组织,Torvalds对其提出了各种公开批评,而GNU和FSF的终身领导者/创始人Richard M. Stallman则引起了一些有争议的反传统的批评。

此外,Linux内核对GNU用户空间的要求不超过GNU用户空间对Linux内核的要求。这种独立性应该被软件工程的基本原理视为一件好事,它支持模块化和宽松的耦合,而不是相反的东西(具有紧密耦合的整体事物)。

反对这一观点的另一点是尽管HURD可能不像Linux那样引起人们的兴趣,但HURD的开发人员和用户可能会反对在人气竞赛中对他们的项目进行有效的垃圾处理。对他们有好处;这种“竞争”是一件积极的事情,而屈服于垄断却不是-您最终会结成庞大的实体,扼杀了创造力,部分原因是它们容易受到整体式/整体性控制。 Linux Foundation已经是一个独立的组织,不妨继续这样做。

评论


感谢出色的答案。从我+1,并注意2:1)不要误解我:我对赫德有很高的评价。我本人是一个开发人员。但是(我相信),Linux是一个更好的状态是不容置疑的。 2)我可以看到为什么Linux不想与GNU结合使用,但是从我可以看到的是GNU Project对此表示了最大的反对。您能详细说明一下吗?

–NlightNFotis
2013年4月28日14:36



@NlightNFotis:您确定它主要是GNU异议吗?只需阅读以下内容:torvalds-family.blogspot.ca/2008/11/black-and-white.html。在我看来,没有正式关系,每个参与其中的人都会更加快乐。

–金锁
13年4月28日在14:40

感谢您的博客文章。现在更有意义了。我将让这个问题开放一段时间,以了解人们是否给出了更多精彩的答案,如果没有,您的答案将被选为该问题的“答案”。最后一个“请愿书”。请介意,改一下“您可能对HURD的看法不高”,因为这会让我感到不安,并对自己感到难过。

–NlightNFotis
2013年4月28日14:46



我非常喜欢赫德背后的想法。我想到的是:持续的虚拟化趋势可能对赫德至少看到现实世界的一部分很有帮助。您不需要完整的操作系统即可让某人使用它。如果您有一些应用程序具有在Hurd下运行的明显优势,那么您可以将它们放入Hurd VM中。与chrooting,lxc或其他类似。

– Hauke Laging
13年4月28日在14:48

@NlightNFotis改写为:)

–金锁
13年4月28日在14:56

#2 楼

网上有很多关于此的文档和讨论。

简短的回答是,GNU项目与Linux内核项目之间存在意识形态上的深层差异,这可能会导致统一。 br />
GNU项目背后的组织FSF的重点是关于自由软件思想的思想纯净。 FSF / GNU创始人Richard Stallman的观点在很大程度上领先于此。此外,正如金发姑娘所说,自由软件基金会现在主要是一个政治倡导组织。尽管很长一段时间以来,FSF确实提供了支持基础结构,但FSF并没有投入大量资源。

Linux内核项目在软件自由方面拥有更加务实的立场,这在很大程度上已经成为现实。很大程度上源于其创始人Linus Torvalds。 Linux内核项目主要是一个免费软件项目,由专门从事内核/ OS开发的软件开发人员组成,而绝非政治倡导组织。

作为这些思想在实践中如何发挥作用的具体示例,请考虑

1)Stallman认为Debian项目通过维护其软件档案的非自由部分来“宣传”非自由软件是不可接受的。具有讽刺意味的是,由于Debian项目关注与FSF非常相似的软件自由,但在意识形态上却不是那么僵硬。

2)Linux内核允许(非自由)二进制内核与内核一起使用的模块。尽管内核开发人员对此并不热衷,但他们确实可以容忍它,但是很难想象FSF会这样做。

还值得注意的是Stallman尝试基于操作系统命名操作系统。作为GNU / Linux的Linux内核可能没有改善FSF与Linux内核社区之间的关系,尽管我没有关于此的具体数据。

除了goldilocks提到的其他内容外,FSF还具有GNU项目必须遵守的各种规则。这包括将所有代码的版权分配给FSF。由于Linus Torvalds从未要求进行此类版权转让,因此,这本身就是一个破坏交易的因素。因此,如果Linux内核要成为GNU项目的一部分,则对Linux内核的所有重要贡献都必须将其版权分配给FSF。考虑到项目的年龄和规模以及贡献者的数量,这基本上是不可能的。规模较小且较年轻的项目(例如Mercurial)已经发现软件许可艰巨的任务。

请注意,此答案绝不是对FSF或Linux内核开发人员的批评。双方都有自己的正确观点。但是,这种情况的现实是,它们在某种程度上是不相容的观点。

评论


+1我喜欢这个答案。关于此问题的可靠信息。感谢您的投入。

–NlightNFotis
13年4月28日在16:47

值得注意的是,在欧洲许多国家/地区,“版权转让”在法律上是不可能的。还有其他可能性(贡献者协议),但版权转让可能在法律上不可行-不仅在技术上。

– Maciej Piechotka
13年4月28日在17:24

@FaheemMitha,不是GNU定义的,因为二进制blob最肯定是内核的一部分;它们分布在内核源代码中,并内置在内核二进制文件中,它们必须起作用。

–psusi
13年4月28日在18:43

啊,专有驱动程序是GNU反对的另一件事。这是使用GPLv3的原因之一;禁止甚至在运行时将专有模块链接到免费代码,以及为什么Linux选择保留GPLv2。

–psusi
13年4月28日在19:59

@vonbrand,无论您是否同意都是无关紧要的;这是FSF的立场,因此,Linux永远不可能是GNU项目。

–psusi
13年4月29日在13:36

#3 楼

我引用了Richard Stallman的评论,即决定采用Hurd而不是Linux的决定。


人们有时会问:“ FSF为什么要开发新的免费内核? />而不是使用Linux吗?''这是一个合理的问题。答案是
,简而言之,这不是我们面临的问题。

当我们在1990年开始开发Hurd时,我们面临的问题是
:我们可以为GNU系统获得一个免费的内核吗?”当时没有
类似Unix的免费内核,而且我们不知道有其他计划可以编写一个。
我们可以期望拥有一个免费的内核。免费内核是我们自己编写的。所以我们开始了。

我们听说过Linux发行之后。当时,我们面临的问题是:“我们应该取消Hurd项目,而是使用Linux
吗?”

我们听说Linux根本不是可移植的(今天可能并非如此,但这就是我们当时所听到的)。而且我们听说Linux在结构上与Unix内核相当。我们的工作正在带来更强大的功能。

考虑到我们已经在Hurd中投入了多年的工作,我们决定
完成它,而不是把它们扔掉。

如果我们确实遇到了人们问的问题-Linux是否已经可用,并且我们正在考虑是否开始编写另一个
内核-我们不会做吧。相反,我们会选择另一个项目,
做一些现有的自由软件无法完成的工作。

但是我们确实从那时开始了Hurd,现在使它工作了。我们
希望其卓越的体系结构将使免费操作系统更加强大。


评论


尽管已经为该问题提供了绝妙的答案,但我还是会选择该答案作为该问题的经典答案,因为它表明了选择坚持使用Hurd的理由,该理由直接来自GNU工程的创建者Richard Stallman。

–NlightNFotis
13年4月30日在23:18

注意“今天可能不正确”-RMS对Linux的观点似乎基于传闻,而不是知识。

–马丁·施罗德(MartinSchröder)
13年5月1日13:27

@Martin :(延迟回复,但是:)Torvalds首次发布Linux时,它是x86专用的,并计划将其移植为零。 Linus在初始线程中平淡地说:“我想移植是不可能的”。因此,rms没有理由最初相信Linux会发展到今天的水平。从项目负责人的口中得出的证据很难说。

–凯文·卡斯卡特(Kevin Cathcart)
13年8月16日在21:33

@KevinCathcart:RMS / FSF应该自己研究代码,而不要依赖他人(“我们听到”)。

–马丁·施罗德(MartinSchröder)
13年8月17日在7:22

@MartinSchröder:当项目负责人明确表示该代码不可移植时,为什么要研究该代码?无论如何,Linux于1991年发布。直到1994年4月(1.1.45版),Linux才添加了体系结构端口的文件夹。任何端口都将需要更长的时间。如果FSF决定在1992或1993年继续执行Hurd,那么查看该守则只会增强该守则不可移植。

–凯文·卡斯卡特(Kevin Cathcart)
13年8月19日在16:53

#4 楼

我只是在这里添加我的2分钱,我认为目前所讨论的是很有意义的,但是我认为有一个主要方面可以真正使GNU基础产生两极分化,这是Linux越来越流行的事实。更多的地方是大型公司正在投入真实的金钱和时间,Linux是种自制项目的想法,这是不正确的,甚至一点都没有,也许有些随机的家伙试图在现场引起人们的注意,同时给出一个修补程序,但是对于大部分Linux来说,这是公司的工作。

评论


我认为FSF在公司对软件项目的支持方面没有问题。他们的主要重点是自由软件的原理。

– Faheem Mitha
2013年6月14日9:22



公司主导地位是GNU GPL要解决的主要问题。许可许可的软件实际上是麻省理工学院和伯克利分校的常规程序,但是一旦代码商业化,则会立即关闭。因此,例如,我今天可以检查Linux源码,所有商业开发的改进都将使我的潜在项目受益。或者我的下一个小型个人项目可能只用了几个块,关键是任何发布的改进都会使下一个使用代码的人受益。

– J. M. Becker
2014年1月25日在1:24



#5 楼

在gnu.org的FAQ上可以找到另一种解释:


使GNU Hurd能够很好地工作以与Linux竞争将是一项艰巨的任务,而且显然没有必要。从伦理上来说,唯一的错误是将Linux作为内核,其中包含固件“斑点”。
解决该问题的最佳方法是开发免费替换
blob。


#6 楼

简单来说。主要原因是隐私问题和许可问题。
解释:
隐私问题是由专有的BLOBS(主要是设备驱动程序)引起的。 FSF提出的理念是:

如今,专有软件通常是恶意软件,因为开发人员的能力破坏了它们。该目录列出了约450种不同的恶意功能(截至2020年1月),但这肯定只是冰山一角。 (https://www.gnu.org/philosophy/free-software-even-more-important.html)

此外,专有的BLOBS与FSF提出的完整GNU核心理念背道而驰。该系统是:

当我们将软件称为“免费”时,我们的意思是它尊重用户的基本自由:运行,研究和更改它的自由,以及无论有无,都可以自由分发副本。变化。 (https://www.gnu.org/philosophy/open-source-misses-the-point.html)

最后,关于许可和法律事宜,GNU / Linux是通过GPLv2发布的,它允许对供应商有很多控制权。虽然我最好的猜测是FSF要求将其作为GPLv3发布,以便为用户提供更多控制权。

#7 楼

Linux无法成为Unix,因为Linux不符合Posix。

因此,即使没有政治麻烦,Linux也无法满足Hurd的设计目标。

引用:
“ Hurd是GNU项目的替代品UNIX(一种流行的操作系统内核)。”

令人惊讶的是,这里有Debian / Hurd-Projekt。但这可能是一个不同的故事...

BTW:Windows(自NT / XP起)也基于MACH内核。

评论


如果您要声明Linux不符合POSIX,则需要对此进行一些备份。包括FSF所说的地方,它们要求绝对是100%兼容POSIX的内核。顺便说一下,Unix不是POSIX。 Unix(商标)是特定的专有操作系统,因此,毫无疑问,该操作系统是其他任何操作系统。

–psusi
13年4月29日在13:40

Windows内核基于MACH的引用?维基百科说他们共享一些设计选择。但是MACH是典型的微内核,而大多数Windows OS服务运行在内核中而不是用户级。我知道Windows内核中唯一的主要OSS组件是曾经基于BSD实现的网络堆栈。但是,它被淘汰了,取而代之的是一个可以更好地与几个版本之前的OS设计的其他版本(XP或2k中的IIRC)交互的软件。

–丹在火光中摆弄
13年4月29日在13:59

但是,GNU也不是Unix。

–西蒙
13年4月29日在16:02

@Nils,您链接的问题与您的立场相矛盾,而不是支持它。

–psusi
13年4月29日在16:08

@尼尔斯,马赫废话是另一种流行的误解。新台币与马赫没有什么共同之处。它的“子系统服务器”与unix守护程序没有区别,后者不构成微内核。 gui最初是在用户模式下实现的,它与微内核系统(虽然Xwindows也是如此,但并没有使Linux成为微内核)只有一点相似之处,但这已在NT4中废弃,并转移到了内核中。

–psusi
13年4月29日在16:20