首页 > 运维 > linux运维 > 正文

趣谈自由软件与开源软件(三):一个名称的争议,究竟是该叫Linux还是GNU/Linux

爱谁谁
发布: 2025-06-26 12:44:22
原创
148人浏览过

在我们行业中,有一个广为流传的英雄故事:

“一个来自芬兰的大学生,由于没有足够的资金购买UNIX,决定自己开发一个类似的操作系统。1991年,他凭一己之力发布了Linux内核的第一个版本。”

这就是Linux之父Linus Torvalds。

他还是Git这个版本控制工具的创始人。如今,使用GIT管理代码已经成为绝对的主流。

对于这样的人,我只能用一个词来形容,那就是“天才”。

我非常崇拜他,但今天我想讨论的是:

Linux是否应该被称为Linux

本文是关于自由软件与开源软件的趣谈系列的第三篇,其它文章包括:

趣谈自由软件与开源软件(一):什么是自由软件 趣谈自由软件与开源软件(二):自由软件与开源软件的分歧

是谁提出了这个问题?大多数人都称这种操作系统为Linux,这似乎已经成为主流。

那么,究竟是谁提出了这个问题,为什么大家都接受的事实又会引发争议呢?

提出这个问题的是GNU运动阵营的一些人,他们认为:

称这种操作系统为Linux是不公平的,称之为GNU/Linux可能更为公正

自由软件之父,GNU运动的发起人Richard Stallman还专门写了一篇文章来支持这一提议。

当然,这个提议并不是毫无根据的,背后确实有一定的理由。

那么,这到底是怎么回事呢?让我们从Linux操作系统的组成开始说起。

Linux操作系统的组成 操作系统是相对于硬件而言的,它是一种软件。

对于大众来说,他们对操作系统的认知大致如下:

趣谈自由软件与开源软件(三):一个名称的争议,究竟是该叫Linux还是GNU/Linux 大多数人可能认为,硬件与操作系统可以分为三层:

硬件层。操作系统的能力都是建立在硬件之上的。 系统层。操作系统自带的一些基本能力和软件。比如Windows的服务管理,自带的IE浏览器等。 第三方生态。基于操作系统提供的扩展能力,开发并供大众使用的软件。比如QQ,微信等。 这种理解也不能说完全错误。

但如果按照这种理解,我们的大神开发的东西在Linux系统中似乎没有任何立足之地,也就是说,整个操作系统与我们的Linus Torvalds大神开发的东西没有任何关系。

当然,这不是事实。

可能有相当一部分人,甚至是程序员群体中也存在这样的误解,认为Linus Torvalds开发了整个Linux操作系统。

严格来说,这不是事实,Linus Torvalds开发的其实是:Linux内核。

那么,Linux内核在操作系统中到底处于什么地位呢?

Linux内核 简而言之,Linux内核是硬件与软件之间的中介。因此,它被称为内核。

内核是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,并且要尽可能高效地管理资源。

  • 内存管理
  • 进程管理
  • 设备驱动程序
  • 系统调用与安全服务

内核不仅存在于Linux中,任何系统,包括大家使用的Windows,也有内核。只不过内核是在背后支撑性的,我们在使用操作系统时几乎不会接触到内核,所以对它可能不太熟悉。

我们的Linus Torvalds大神开发的其实是Linux内核。

因此,一个操作系统严格来说,是这样组成的:

趣谈自由软件与开源软件(三):一个名称的争议,究竟是该叫Linux还是GNU/Linux 那么,我们使用的Linux系统除了内核这个看不见的东西之外,到底那些系统服务及软件是从哪里来的呢?

GNU + Linux内核 = Linux操作系统 我在前面的文章中提到,自由软件之父早在1983年就发起了GNU计划与运动,计划编写一个完全自由的,替代UNIX的操作系统。

如上所述,一个操作系统包括很多东西,有内核,有系统的一些必备组件,还得有UI界面,甚至是游戏。

在Richard Stallman发起这个GNU运动时,还是1983年,那个时候可没有Linus Torvalds的事。

事实上,GNU确实是一项伟大的工作,与Linus Torvalds独自开发一个内核不同,GNU运动是一群杰出的、有理想的程序员共同参与的事情。

在GNU运动中,它们规划了操作系统所需的方方面面的东西,也包括内核,甚至是游戏。

今天你使用的Linux操作系统,以下一些你可能熟悉的部件,其实是属于GNU的成果。

最著名的,GNOME是GNU的一部分,因为一个操作系统需要UI。 编译器套装GCC,GNU的C库glibc。 Bash,是GNU的UNIX兼容Shell。 GRUB,统一引导加载程序。 著名的Emacs,nano等编辑器,GIMP图像处理工具等。 这个列表其实还很长,当然最重要的是GNU其实是有自己的内核计划的,那就是Hurd。

但是,GNU自己计划的内核Hurd始终没有稳定,一直在开发中。而在1991年,众所周知,Linus Torvalds开发了Linux内核。

于是,把GNU的已开发出来的东西和Linux内核一整合,最终推动并发展出了现在的Linux操作系统。

所以,严格来说,Linux操作系统 = GNU + Linux内核,并且以代码量占比来说,一个Linux发行版本中,可能GNU的代码量占到28%左右,而内核代码量是3%左右。

那么,你应该明白为什么GNU阵营有人这样主张了吧。这确实有一定的道理。

他们主张应该把这样的操作系统称呼为:GNU/Linux,这才是更公平的,体现并尊重了GNU运动做出的贡献,更重要的是传播了自由软件的理念。

不过,这个是有争议的,Linux社区对此并未形成统一意见。大多数人可能仍然认为沿用Linux更好。包括Linus Torvalds。

我的看法 文化是约定俗成的,但不代表它是正确的。

名称其实也是文化的一种,名称不正确但却被大家接受,属于约定俗成的,这种例子也不少。

从Linux操作系统上来说,考虑到尊重GNU运动及背后的程序员做出的贡献来说,使用GNU/Linux的确是个更正确的名称。

但如我所说,文化并不是完全正确的,它只是约定俗成的。在大众甚至是程序员群体,已经基本接受Linux这个名称的前提下,改变它的名称并因为这一点引发太多争议我认为并无太多必要。

所以,对于那些愿意称它为GNU/Linux系统的群体来说,比如Debian,它就称自己是GNU/Linux系统,我们应该非常欢迎。而对于仍然愿意沿用Linux或主流称为Linux的,我觉得也很合理。

我认为,更重要的事情是,宣扬GNU及其背后的自由软件的理念,才是更需要去做的一件事情。

至于去讨论Linux内核和GNU那些软件,哪个更重要,这种争议并不会产生什么实质价值,只会分裂不同群体而已。

所以,我在了解了自由软件及其背后的GNU运动后,就决定写下这个系列,我认为可能有非常多的程序员,特别是在国内程序员,对自由软件或GNU并不是非常了解,希望我的文章能让更多人知道GNU及其背后的自由软件运动。

一个非常奇怪的事情是,基于GNU的大多数主流Linux并不被认为是完全自由的操作系统,这是怎么一回事?

下一篇:趣谈自由软件与开源软件(四):为什么主流的Linux发行版本不被认可为完全自由的操作系统

以上就是趣谈自由软件与开源软件(三):一个名称的争议,究竟是该叫Linux还是GNU/Linux的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号