偶然进入了 gnu.org,发现 gnu 和 Linux 还有这么多年的恩怨

14 天前
 tiancaixiaoshuai
gnu 官网一直强调 gnu 是系统,linux 只是内核,可以称为 GNU/Linux 系统,但不能直接称呼 Linux 系统

首页最下面有一段写的“类 Unix 操作系统中用于资源分配和硬件管理的程序称为 “内核”。GNU 所用的典型内核是 Linux 。该组合叫做 GNU/Linux 操作系统。GNU/Linux 为几百万用户所使用,然而许多人 错误地称之为 “Linux”。”

还有这个页面 https://www.gnu.org/gnu/gnu-linux-faq.html 更是言辞激烈,主要还是说明自由软件运动早于 linux 项目,gun 工程最开始开发了除内核外的所有组件,直接称呼 linux 系统像是抹杀了这一切

gpt 给出了详细的历史细节 https://chatgpt.com/share/68e3cca8-153c-8013-baaa-7198f71ce616
5973 次点击
所在节点    Linux
55 条回复
usVexMownCzar
14 天前
起个朗朗上口的名字是对么重要

GNU ,Linux ,Android ,iOS ,Macintosh ,Windows ,DOS

话说 GNU ,老外怎么读?基纽?歌奴?
Radeon
14 天前
```In fairness, we ought to get at least equal mention.```

GNU.org 上这句说的一点也没错
misaka19000
14 天前
@usVexMownCzar #21 给🐮
xeneizes
14 天前
谁让 rms 无能做不好 hurd 呢?活该
tiancaixiaoshuai
14 天前
@usVexMownCzar 歌纽 可以看下《操作系统革命》这个记录片,里面都是大佬
YanSeven
14 天前
这个感觉更像是“传播”和“营销”上的事情。GNU/Linux 无论是正式场合还是非正式,说起来都太拗口了。除非是特别的专门场合。

至于“营销”,行内人知道 Linux 的没有不知道 GNU 的,这是课本上的东西。

行外人知道 Linux 的顶多知道它是一个操作系统。人们不是认识了 Linux ,而是认识了是一个新操作系统。因为操作系统每个人都在接触,所以 Linux 作为操作系统的概念在行外人的认知里面就广泛了一点。
slcun
14 天前
GUN 不好念,直接读 Linux 顺口
thedog
14 天前
我一直以为 GUN 表示的是这个软件参与了自由软件运动。。。从来没想过 GUN 是一种软件。。。orz ,我错了。
funcNVidia
14 天前
GNU 的理念还是太激进了。它们觉得世界上应该只存在自由软件。而且都得开放源代码的那种
Rickkkkkkk
14 天前
99% 的人不知道 gun 是什么,不信你问旁边的同事。
coefu
14 天前
@pythonee #16 GNU 是车辆除开动力引擎外的一切,Linux 是动力引擎。
tiancaixiaoshuai
14 天前
@thedog
@Rickkkkkkk
G N U 不是 G U N
thedog
14 天前
@tiancaixiaoshuai 我的,我上面两条打的都是 GUN ,抄错了。。
coefu
14 天前
@coefu 各种发行版,按照类型可以是公交车,卡车,渣土车,跑车。。。按照牌子就是奔驰,宝马,奥迪。。。
moudy
14 天前
@wniming clang 也是么
weijancc
14 天前
涨知识了!
kuanat
14 天前
那个 chatgpt 看起来就是基于一点事实,车轱辘话一直重复,说不到重点上。不清楚是不是提问不够清晰的原因。我这里做个简单总结。

1.
关于 GNU/Linux 的冠名,算是个历史遗留问题。实际上也有 Linux 发行版完全在用户空间也完全不使用 glibc/gcc/make/bash/coreutils 等 GNU 工具的,比如常见的 Alpine 和 Android ,但它们都能被称作 Linux 发行版,Linux 对此没有异议,同时 GNU 也是不能一刀切要求所有 Linux 发行版都增加 GNU 冠名的。所以 GNU 的要求是 Linux 内核增加 GNU ,变成“GNU/Linux Kernel”,但大家都习惯把使用 Linux 内核的发行版称作 Linux 系统了,让大家把 Linux 系统称作 GNU/Linux 系统是个不现实的事情。

到了 2020 年前后 Linux 5.4 LTS 发布之后,就没有争论的必要了。因为从这个节点开始,Linux 已经可以由非 GNU 的 Clang/LLVM 工具链完成构建,而且是生产级别可用的。这个过渡大概用了近十年时间,最终还是靠 Google 大量投入才完成的。当然 Google 本身也不是为了给 Linux 正名,而是因为 Android 开发有相应的需求。

在此之前,GNU 确实有理由要求 Linux 内核增加 GNU 的冠名,因为理论上 Linux 内核本身也是要依赖 GNU 工具链才能完成编译从而实现其功能。之后 GNU 最多要求各大发行版在使用 Linux 的描述时增加 GNU 的冠名。但由于 GNU 开发的工具使用的 GPLv2 和 GPLv3 都没有在授权中明确要求这一点,所以这个冠名要求只能停留在道德层面而非法律层面。

2.
我个人是支持 GNU 精神的,所以我会优先使用 GPLv3+ 授权。但从务实的角度上说,我更支持 Linux 的做法,也就是商业上更宽松的 GPLv2 授权。所谓的 GNU 和 Linux 哲学之争,更多是商业化的意识形态之争,体现在纸面上就是 GPLv2 和 GPLv3+ 的区别。

以目前 Linux 的代码贡献来源来看,即便去除占比一半以上的厂家驱动部分,剩余代码中来自公司雇员的部分大概在 80% 到 85%,其余部分来自个人贡献者。如果没有商业化的参与,Linux 很难发展成今天的样子。而商业化的企业愿意参与到 Linux 开发中并贡献代码,能够接受的底线就是 GPLv2 了。

3.
GPLv2 和 GPLv3 的区别主要是两点:

一是 GPLv3+ 增加了 Anti-Tivoization 条款,这个条款要求使用了 GPLv3 代码的硬件厂商,不仅要将衍生代码开源,还要提供安装运行衍生代码所需要的“安装信息”。而 Linux 内核使用的 GPLv2 并不强制要求这一点。假如 Linux 内核也使用 GPLv3 的话,那么目前市面上所有手机都要强制提供 bootloader 解锁了。这里更准确的说法是,GPLv2 认可开源 loader 加载闭源 firmware 的形式,其中 firmware 部分不被视作“衍生作品”,而 GPLv3 认为闭源 firmware 属于“安装信息”的一部分。

二是 GPLv3+ 增加了反 DRM 条款,这个条款的意思是代码中的 DRM 限制不被视作法律意义上的保护措施。衍生代码可以去除相关功能再次分发,相当于剥夺了厂家使用法律武器限制那些想要绕过限制的用户的权利。

基本上商业公司是不会有为 GPLv3+ 贡献代码的意愿的,反倒是相对宽松的 GPLv2 达到了平衡,一方面厂家确实需要像 Linux 内核这样的基础设施代码,另一方面贡献代码并不会对商业行为造成事实上的影响。

4.
GNU 和 Linux 这二三十年的争论,实际上就说明了一个事情,开源并不能保证软件的生命力,软件维护需要长期大量的人力投入,用爱发电是比不过商业投入的。

现在的大方向主要是探索第三条路,通过 Linux 基金会、Apache 软件基金会这种组织,向开源软件提供非商业资金支持的形式来实现长期维护。
XIVN1987
14 天前
@totoro625

发行版本比 GNU/Linux 大的多吧,,发行版本可能有几千个软件,GNU 可能有几百个软件,,发行版本上肯定还是非 GNU 的软件更多。。比如常用的浏览器 Chrome 、Firefox 都不是 GNU 项目,,常用的办公软件 LibreOffice 、WPS 也不是 GNU 项目,连 Systemd 这种基础组件也不是 GNU 项目,,Python 、Perl 也不是 GNU 项目,,

虽然 GCC 、GDB 等 GNU 项目很重要,,但大多数软件肯定不是 GNU 项目,,毕竟 GNU 组织能有多少人,,能写出多少项目来
XIVN1987
14 天前
下面是 GNU 官网列出的所有 GNU 软件,,

miniliuke
14 天前
@totoro625 纯血鸿蒙不是 linux 内核吗?华为这么彻底?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1165269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX