1 ronen 1 天前 via Android ![]() 讲出事实并不是恩怨。 较真的人就用全称,不较真的人就用简称好了。 |
![]() | 2 mightofcode 1 天前 gnu 无能狂怒 |
3 lzhd24 1 天前 via Android 这属于马太效应么,对话好长,只看了第一部分。 |
![]() | 4 wonderfulcxm 1 天前 via iPhone ![]() Linux 窃取了革命成果 |
![]() | 5 lifanxi 1 天前 ![]() 从道理上来讲没啥大毛病,Linux 只是内核的名字,GNU 与其对标的是 Hurd 。如果说整个操作系统,GNU 组件占的比例应该比内核大多了,所以从 GNU 的角度,需要一个冠名。 Ricard Stallman 经常会很计较这一点,各种演讲里都会反复提及。但是感觉现在他也不怎么出来布道了,上次来中国已经是十年前了,慢慢的这件事应该也没太多人会关注了。 |
6 mengzhuo 1 天前 ![]() 正常,GNU 当年辛辛苦苦搞 Hurd ,结果跑得快的 Linux 被大公司采用了(其实就 Redhat ),Linus 赚了大钱,Richard Stallman 没钱只能回斯坦福教书养活自己。 这跟商业模型有关系,RMS 太激进,拒绝大部分商业公司合作(当时最多钱就是 Intel ),硬件跟不上,软件就拉跨,久而久之就恶性循环了。 这也导致后来的开源产品除了个人娱乐项目,基本都是 Linus 的模式,找公司包养,相当于这个公司养开源软件。 |
![]() | 7 Cooky 1 天前 这不叫恩怨,这叫事实 |
8 TrembleBeforeMe 1 天前 GNU 有自己的内核,所以把 GNU 和 Linux 分得很开。 真要说恩怨反而是 Linux 的许可证没更新到 GPLv3 吧。 |
![]() | 9 misaka19000 1 天前 ![]() 这不算是恩怨,是事实,严格来说 Linux 确实是窃取了 GNU 的成果 |
![]() | 10 pythonee 1 天前 GNU 强调道德化的自由:使用专有驱动/固件就是“不道德”; Linux 社区更务实:先让硬件能跑起来,再慢慢推动开放。 Stallman 说“Linux 让人们对自由软件运动产生误解”; Linus 反呛“自由不是宗教,先把技术做好再说”。 如果 GNU 更早地发行自己的内核,是不是就没有这个问题了 |
![]() | 11 iorilu 1 天前 主要档时 gnu 想搞自己内核没搞成功, 错过了和 linux 竞争的机会, 所以一直耿耿于怀 |
13 wniming 1 天前 大多数 Linux 发行版用的 c 库都是 glibc(GNU C Library), 所以 gnu 要求凸显自己的重要性也正常,虽然我还是习惯称为 Linux 系统. |
![]() | 14 XIVN1987 1 天前 查了下,,GNU 项目主要是 GCC 、GDB 、Glibc 、Coreutils 、Bash 等 |
![]() | 15 tiancaixiaoshuai OP |
![]() | 17 totoro625 1 天前 我一直认为 Linux 是一个最核心最基础的内核 而 GNU 是其上运行的配套软件,只是因为太好用,所以绝大部分 Linux 发行版都默认预装了 GNU 软件 而 GNU 也有自己的内核,严格来说,GNU 本身也是一种系统 GNU/Linux 系统泛指各大发行版,例如 Debian 去掉各大发行版定制的工具、软件之后,剩下的就是基础 Linux 内核 因为系统不能独立运行,必须要有配套软件,GNU 开发的软件大家的都默认在用,所以叫做 GNU/Linux 系统 以手机系统为例: Android 基于 Linux 内核,但是没有使用 GNU 组件,可以称为 Toybox 、Dalvik 、ART/Linux 系统,为了便于使用,发行版改名为 Android 系统 小米定制了大量的工具、软件,所以可以称为 MIUI/Android 系统,为了便于使用,发行版改名为 HyperOS 但是这些手机系统,可以统称为 Android 华为定制了纯血鸿蒙内核,去除 Linux 内核和 LiteOS 内核,定制了大量的工具,放弃 Android 系统兼容,可以不归于 Android 从软件层面的角度来看,软件是运行中内核上的,所以系统更多的是跟着内核走,而不是软件 如果利益需要,投入时间和金钱,GNU 不过是一层 MIUI 皮肤 |
18 NessajCN 1 天前 ![]() 别想太多,Linus 没有什么踢掉 GNU 自己独占成果的想法 纯粹是 GNU/Linux 这个名字第一次接触的人下意识就简称为 Linux ,根本不需要谁来引导暗示啥的 原因么大概是 GNU 太像个前缀而不是什么正经名字, 或者单纯就是不好念,大家就下意识记好念的那半边,跟我们中文里读白字似的 所以归根结底是你 Richard Stallman 不会起名字吧.... 别整天说得好像 Linus 故意抹杀你功劳似的 |
19 cyp0633 1 天前 只要 GNU-free 的可能性仍然存在,就不能逼人讲 GNU/Linux |
![]() | 20 dumbass 1 天前 GNU's Not Unix! --> GNU |
![]() | 21 usVexMownCzar 1 天前 via iPhone 起个朗朗上口的名字是对么重要 GNU ,Linux ,Android ,iOS ,Macintosh ,Windows ,DOS 话说 GNU ,老外怎么读?基纽?歌奴? |
![]() | 23 misaka19000 1 天前 @usVexMownCzar #21 给 |
![]() | 24 xeneizes 1 天前 谁让 rms 无能做不好 hurd 呢?活该 |
![]() | 25 tiancaixiaoshuai OP @usVexMownCzar 歌纽 可以看下《操作系统革命》这个记录片,里面都是大佬 |
26 SGL 1 天前 这个感觉更像是“传播”和“营销”上的事情。GNU/Linux 无论是正式场合还是非正式,说起来都太拗口了。除非是特别的专门场合。 至于“营销”,行内人知道 Linux 的没有不知道 GNU 的,这是课本上的东西。 行外人知道 Linux 的顶多知道它是一个操作系统。人们不是认识了 Linux ,而是认识了是一个新操作系统。因为操作系统每个人都在接触,所以 Linux 作为操作系统的概念在行外人的认知里面就广泛了一点。 |
![]() | 27 slcun 1 天前 GUN 不好念,直接读 Linux 顺口 |
28 thedog 1 天前 ![]() 我一直以为 GUN 表示的是这个软件参与了自由软件运动。。。从来没想过 GUN 是一种软件。。。orz ,我错了。 |
![]() | 29 funcNVidia 1 天前 GNU 的理念还是太激进了。它们觉得世界上应该只存在自由软件。而且都得开放源代码的那种 |
30 Rickkkkkkk 1 天前 99% 的人不知道 gun 是什么,不信你问旁边的同事。 |
![]() | 32 tiancaixiaoshuai OP |
33 thedog 1 天前 @tiancaixiaoshuai 我的,我上面两条打的都是 GUN ,抄错了。。 |
![]() | 36 weijancc 1 天前 涨知识了! |
![]() | 37 kuanat 1 天前 ![]() 那个 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 软件基金会这种组织,向开源软件提供非商业资金支持的形式来实现长期维护。 |
![]() | 38 XIVN1987 1 天前 @totoro625 发行版本比 GNU/Linux 大的多吧,,发行版本可能有几千个软件,GNU 可能有几百个软件,,发行版本上肯定还是非 GNU 的软件更多。。比如常用的浏览器 Chrome 、Firefox 都不是 GNU 项目,,常用的办公软件 LibreOffice 、WPS 也不是 GNU 项目,连 Systemd 这种基础组件也不是 GNU 项目,,Python 、Perl 也不是 GNU 项目,, 虽然 GCC 、GDB 等 GNU 项目很重要,,但大多数软件肯定不是 GNU 项目,,毕竟 GNU 组织能有多少人,,能写出多少项目来 |
![]() | 39 XIVN1987 1 天前 |
![]() | 41 totoro625 1 天前 @XIVN1987 #38 我认为: 只看发行版本的最小化安装包,确实用了 GNU 的软件,但是不能因为跑了 GNU 的软件,就算 各类发行版本 为 GNU/Linux ,我只认为是 Linux GNU 不过是占了先发优势,很多后开发的软件依赖它们而运行,仅此而已 |
![]() | 43 Cu635 1 天前 @pythonee #10 @funcNVidia #29 但是如果没有 GNU 这种激进这种精神,所谓的“务实”最终会被资本渗透,变成社区开发者给资本打工,“开源”(注意,既然是“没有 GNU 这种精神”的前提,那么自由软件也就不存在,只有所谓的“开源”了)这个词语也会成为资本隐性压榨在特定领域内的专有名词。 @NessajCN #18 说 linux 窃取了 GNU 成果的,其实是被 linus 把 linux 项目给政治化“背刺”的应激反应。 linus 没有故意抹杀,但当初他选择 GPL (当时只到 v2 )也不是理想主义的,而是出于个人的现实考虑。 综合下来,就有了 linus“窃取”自由软件运动成果的说法了。 @thedog #28 应该说 GNU 确实不是一种软件…… @totoro625 #41 一般是看基础库、运行时这种底层基础软件的,像 C 运行库 glibc 等等,一般认为是操作系统内核( linux )和应用软件层中间的一层,用了这个就认为是 GNU/Linux ,不是简单的“因为跑了 GNU 的软件”。 现在也有完全去除“GNU”的 linux 发行版。 |
44 MrKrabs 1 天前 I use BSD, btw |
![]() | 45 mikewang 1 天前 ![]() 一些使用 musl 的 Linux 发行版已经不能称之为 GNU/Linux 了,例如 Alpine Linux 。 OpenWrt 也类似,它们的 shell 默认是 ash 不是 bash ,coreutils 被 busybox 替代,glibc 被 musl 替代。 不过有趣的是,OpenWrt 还是称自己为 GNU/Linux ,我想应该是因为它还是由 GCC 工具链构建的。 一些可能的替代: glibc -> musl bash -> zsh coreutils -> uutils gcc -> clang GNU/Linux 应该指的是最经典的那些 Linux distro ,但我不认为所有的 Linux distro 都能叫做 GNU/Linux 。 |
![]() | 47 Seck 16 小时 40 分钟前 via Android 不是,都是资金支持问题,强调自己的重要性可以获得资金的支持。 一个项目重要就得有支持,为什么互联网是美国的?因为互联网大量的免费基金会都是美国人主持,开源基础,本质就是富裕的美国搞起来的!你以为农业社会能够孕育出开源精神? 我们需要资金支持的。 |
48 cj323 14 小时 5 分钟前 ![]() GNU 对 Linux 的对立源于 GNU 精神上对立于 Linux 。GNU 代表着绝对的开源,认为任何一行代码都是空气一样属于全人类; GNU 反对以 Unix 为代表的为了利益而闭源的软件,这里包括 Linux ,Redhat ,Android ,MacOS 等等主动建立技术壁垒而成功商业化的软件。 感兴趣可以看下 GNU 宣言,里面每一句话都带着对闭源软件的不屑与蔑视。 https://www.gnu.org/gnu/manifesto.en.html |
49 cybort 6 小时 34 分钟前 via Android linux 只写了内核,其他都是 gnu 搞的 |
![]() | 50 pythonee 6 小时 12 分钟前 |
52 CKylinMC 1 小时 41 分钟前 联想到了开源软件与自由软件的矛盾 |