V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
tiancaixiaoshuai
V2EX  ›  Linux

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

  •  2
     
  •   tiancaixiaoshuai · 4 天前 · 5660 次点击
    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
    55 条回复    2025-10-17 00:08:54 +08:00
    ronen
        1
    ronen  
       4 天前 via Android   ❤️ 8
    讲出事实并不是恩怨。 较真的人就用全称,不较真的人就用简称好了。
    mightofcode
        2
    mightofcode  
       4 天前
    gnu 无能狂怒
    lzhd24
        3
    lzhd24  
       4 天前 via Android
    这属于马太效应么,对话好长,只看了第一部分。
    wonderfulcxm
        4
    wonderfulcxm  
       4 天前 via iPhone   ❤️ 2
    Linux 窃取了革命成果
    lifanxi
        5
    lifanxi  
       4 天前   ❤️ 1
    从道理上来讲没啥大毛病,Linux 只是内核的名字,GNU 与其对标的是 Hurd 。如果说整个操作系统,GNU 组件占的比例应该比内核大多了,所以从 GNU 的角度,需要一个冠名。

    Ricard Stallman 经常会很计较这一点,各种演讲里都会反复提及。但是感觉现在他也不怎么出来布道了,上次来中国已经是十年前了,慢慢的这件事应该也没太多人会关注了。
    mengzhuo
        6
    mengzhuo  
       4 天前   ❤️ 3
    正常,GNU 当年辛辛苦苦搞 Hurd ,结果跑得快的 Linux 被大公司采用了(其实就 Redhat ),Linus 赚了大钱,Richard Stallman 没钱只能回斯坦福教书养活自己。

    这跟商业模型有关系,RMS 太激进,拒绝大部分商业公司合作(当时最多钱就是 Intel ),硬件跟不上,软件就拉跨,久而久之就恶性循环了。

    这也导致后来的开源产品除了个人娱乐项目,基本都是 Linus 的模式,找公司包养,相当于这个公司养开源软件。
    Cooky
        7
    Cooky  
       4 天前
    这不叫恩怨,这叫事实
    TrembleBeforeMe
        8
    TrembleBeforeMe  
       4 天前
    GNU 有自己的内核,所以把 GNU 和 Linux 分得很开。

    真要说恩怨反而是 Linux 的许可证没更新到 GPLv3 吧。
    misaka19000
        9
    misaka19000  
       4 天前   ❤️ 7
    这不算是恩怨,是事实,严格来说 Linux 确实是窃取了 GNU 的成果
    pythonee
        10
    pythonee  
       4 天前
    GNU 强调道德化的自由:使用专有驱动/固件就是“不道德”;
    Linux 社区更务实:先让硬件能跑起来,再慢慢推动开放。

    Stallman 说“Linux 让人们对自由软件运动产生误解”; Linus 反呛“自由不是宗教,先把技术做好再说”。

    如果 GNU 更早地发行自己的内核,是不是就没有这个问题了
    iorilu
        11
    iorilu  
       4 天前
    主要档时 gnu 想搞自己内核没搞成功, 错过了和 linux 竞争的机会, 所以一直耿耿于怀
    roundgis
        12
    roundgis  
       4 天前 via Android
    @lifanxi 70 几了 布道也该换个人做了
    wniming
        13
    wniming  
       4 天前
    大多数 Linux 发行版用的 c 库都是 glibc(GNU C Library), 所以 gnu 要求凸显自己的重要性也正常,虽然我还是习惯称为 Linux 系统.
    XIVN1987
        14
    XIVN1987  
       4 天前
    查了下,,GNU 项目主要是 GCC 、GDB 、Glibc 、Coreutils 、Bash 等
    tiancaixiaoshuai
        15
    tiancaixiaoshuai  
    OP
       4 天前
    @lifanxi 是的,站在 gnu 的角度,应该没人能接受只称呼 linux ,但是现实中却是几乎很少提到 gnu

    @pythonee gnu 有自己的内核 Hurd ,据说是太复杂,以至于到现在都没有发布正式版
    pythonee
        16
    pythonee  
       4 天前
    @XIVN1987 linux 是内核,GNU 是个毛坯房,各个发行版可能是个精装房
    不知道我这么比喻恰不恰当
    totoro625
        17
    totoro625  
       4 天前
    我一直认为 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 皮肤
    NessajCN
        18
    NessajCN  
       4 天前   ❤️ 1
    别想太多,Linus 没有什么踢掉 GNU 自己独占成果的想法
    纯粹是 GNU/Linux 这个名字第一次接触的人下意识就简称为 Linux ,根本不需要谁来引导暗示啥的
    原因么大概是 GNU 太像个前缀而不是什么正经名字,
    或者单纯就是不好念,大家就下意识记好念的那半边,跟我们中文里读白字似的
    所以归根结底是你 Richard Stallman 不会起名字吧....
    别整天说得好像 Linus 故意抹杀你功劳似的
    cyp0633
        19
    cyp0633  
       4 天前
    只要 GNU-free 的可能性仍然存在,就不能逼人讲 GNU/Linux
    dumbass
        20
    dumbass  
       4 天前
    GNU's Not Unix! --> GNU
    usVexMownCzar
        21
    usVexMownCzar  
       4 天前 via iPhone
    起个朗朗上口的名字是对么重要

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

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

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

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

    行外人知道 Linux 的顶多知道它是一个操作系统。人们不是认识了 Linux ,而是认识了是一个新操作系统。因为操作系统每个人都在接触,所以 Linux 作为操作系统的概念在行外人的认知里面就广泛了一点。
    slcun
        27
    slcun  
       4 天前
    GUN 不好念,直接读 Linux 顺口
    thedog
        28
    thedog  
       4 天前   ❤️ 1
    我一直以为 GUN 表示的是这个软件参与了自由软件运动。。。从来没想过 GUN 是一种软件。。。orz ,我错了。
    funcNVidia
        29
    funcNVidia  
       4 天前
    GNU 的理念还是太激进了。它们觉得世界上应该只存在自由软件。而且都得开放源代码的那种
    Rickkkkkkk
        30
    Rickkkkkkk  
       4 天前
    99% 的人不知道 gun 是什么,不信你问旁边的同事。
    coefu
        31
    coefu  
       4 天前   ❤️ 1
    @pythonee #16 GNU 是车辆除开动力引擎外的一切,Linux 是动力引擎。
    tiancaixiaoshuai
        32
    tiancaixiaoshuai  
    OP
       4 天前
    @thedog
    @Rickkkkkkk
    G N U 不是 G U N
    thedog
        33
    thedog  
       4 天前
    @tiancaixiaoshuai 我的,我上面两条打的都是 GUN ,抄错了。。
    coefu
        34
    coefu  
       4 天前
    @coefu 各种发行版,按照类型可以是公交车,卡车,渣土车,跑车。。。按照牌子就是奔驰,宝马,奥迪。。。
    moudy
        35
    moudy  
       4 天前
    @wniming clang 也是么
    weijancc
        36
    weijancc  
       4 天前
    涨知识了!
    kuanat
        37
    kuanat  
       4 天前   ❤️ 9
    那个 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
        38
    XIVN1987  
       4 天前
    @totoro625

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

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

    miniliuke
        40
    miniliuke  
       4 天前
    @totoro625 纯血鸿蒙不是 linux 内核吗?华为这么彻底?
    totoro625
        41
    totoro625  
       4 天前
    @XIVN1987 #38 我认为:
    只看发行版本的最小化安装包,确实用了 GNU 的软件,但是不能因为跑了 GNU 的软件,就算 各类发行版本 为 GNU/Linux ,我只认为是 Linux
    GNU 不过是占了先发优势,很多后开发的软件依赖它们而运行,仅此而已
    totoro625
        42
    totoro625  
       4 天前
    @miniliuke #40 纯血鸿蒙至少是这么宣传的
    Cu635
        43
    Cu635  
       4 天前
    @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 发行版。
    MrKrabs
        44
    MrKrabs  
       4 天前   ❤️ 1
    I use BSD, btw
    mikewang
        45
    mikewang  
       4 天前   ❤️ 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 。
    levelworm
        46
    levelworm  
       3 天前 via iPhone
    @mengzhuo #6
    资本主义社会,没办法了。
    Seck
        47
    Seck  
       3 天前 via Android
    不是,都是资金支持问题,强调自己的重要性可以获得资金的支持。

    linux 基金会每年获得很多钱,这才是核心中的核心,因为 linux 每年那些程序员都是白干

    一个项目重要就得有支持,为什么互联网是美国的?因为互联网大量的免费基金会都是美国人主持,开源基础,本质就是富裕的美国搞起来的!你以为农业社会能够孕育出开源精神?

    我们需要资金支持的。
    cj323
        48
    cj323  
       3 天前   ❤️ 1
    GNU 对 Linux 的对立源于 GNU 精神上对立于 Linux 。GNU 代表着绝对的开源,认为任何一行代码都是空气一样属于全人类; GNU 反对以 Unix 为代表的为了利益而闭源的软件,这里包括 Linux ,Redhat ,Android ,MacOS 等等主动建立技术壁垒而成功商业化的软件。

    感兴趣可以看下 GNU 宣言,里面每一句话都带着对闭源软件的不屑与蔑视。

    https://www.gnu.org/gnu/manifesto.en.html
    cybort
        49
    cybort  
       3 天前 via Android
    linux 只写了内核,其他都是 gnu 搞的
    pythonee
        50
    pythonee  
       3 天前
    @cj323
    @Cu635

    我们享受了 emacs 等很多优秀的软件,但现实世界就是 linux 、windows 、android 、macOS 的,面对这种反差难免会想,为什么自由精神还是被现实打败了,还是现实社会就是商业社会,gnu 是不是另一种形式的乌托邦
    levelworm
        51
    levelworm  
       3 天前 via iPhone
    @cj323 #48
    不管怎么说,荡气回肠。
    CKylinMC
        52
    CKylinMC  
       3 天前
    联想到了开源软件与自由软件的矛盾
    Cu635
        53
    Cu635  
       3 天前   ❤️ 1
    @pythonee #50
    就算是乌托邦也是有意义的,科学社会主义之前也有空想社会主义。
    cj323
        54
    cj323  
       2 天前   ❤️ 1
    @levelworm #51 是的,作者很有魄力,主动辞去 MIT Lab 的工作以避免 GNU 被任何方式收购。绝对的理想主义者。

    顺带说一句,这个作者学习工作过的 MIT 实验室在那个年代还是很有地位的。当年 LISP ,函数式,面向对象等都是出自 MIT ,和诞生 C 的贝尔实验室齐名。MIT 流派更学术化,追求更纯粹的正确性( LISP ,Erlang ,Java ,宏)。而贝尔实验室更注重应用,追求简单性并更尊重计算过程( C ,Go 等等)。这两个流派至今也是水火不容,一个更理想,一个更实际。一左一右影响着计算机世界。
    levelworm
        55
    levelworm  
       2 天前
    @cj323 #54
    是的。我看过 Hacker 那本书,这两个地方对于搞技术的人来说,就和圣地一样。我个人还是更喜欢 C 这个系列的语言,哈哈,主要是系统编程它最重要。

    我看过一点 70-90 年代的计算机发展史,非常可惜自己无法加入到其中。比方说 LISP Machine 就是个很有意思的东西。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:06 · PVG 19:06 · LAX 04:06 · JFK 07:06
    ♥ Do have faith in what you're doing.