打印

Linux 为什么又称为 GNU/Linux?

[复制链接]
364|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lindoug|  楼主 | 2020-5-21 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为Linux只是一个内核,外围的上层应用才构建了所有用户认知的那个操作系统。
换句话说,最终用户往往不会直接与内核打交道,而是与操作系统的系统应用程序打交道。
GNU/Linux 的意思是指上层应用程序是 GNU 体系(遵从GPL标准的那一套)。
Android/Linux 的意思是指上层应用程序是 Android(它的代码授权并不是GPL)。
Linux只代表内核,所以他们两者都是Linux,只不过后者不是GNU/Linux。或者换句话,Android肯定是Linux,但它不是GNU/Linux。
在今天而言,其实GNU/Linux可以算作用来区别于Android/Linux一种方法,虽然最初其实并不是这个用途,但现在其实它挺有必要。
毕竟,当你只说到Linux的时候,意味着把Android也带了进来,这跟你所想象的东西差别确实太大了。而说到GNU/Linux的时候,大家都知道你指代的是什么。
--
为什么会有GNU跟Linux两个不同的名称呢?因为当年的 RMS 构建了整个 GNU 体系,却没能做出一个完整可用的内核,恰好在那个时候,Linus利用GNU的工具链制作出来了一个内核,取名为 Linux,而这个内核最终成为了 GNU  被用得最广泛的内核。
GNU 跟 Linux 之争看起来是名字之争,其实是两个人,以及两个态度之争。
RMS 倡导的理念是 Free Software 自由软件,认为商业软件是不道德的,必须给用户以自由,所以要使用自由软件。他创造了 gcc 编译器以及 emacs 等等神级软件,创造了除内核以外的全部上层软件。也撰写了 GPL 通用发布协议,为开源软件的发展打下了坚实的法律基础。
Linus 则将自由软件略过不提,提出了新的 Open Source Software 开源软件概念,他认为开源软件是一种开发模式,而不是一种宗教,他认为什么软件更优秀就应该选择什么,在某些场合选择开源软件的原因是因为某些领域开源软件能够做得更好。所以他只想做一个更好的内核,而没有任何道德束缚。这种思想本来很难维护开源软件的持续性,好在有 GPL 的保护,使得 Linux 一直不会变味。
在 RMS 打下的 GNU 上层软件基础以及 GPL 法律基础下,在 Linus 的人格魅力以及先进开发理念的引导下,更多的开发者上了开源软件的战车,开始拥抱开源软件。

所以,其实 Linux 应该称为 GNU/Linux,因为 FSF 不想把 GNU 跟 Linux 这个概念绑在一起。
类似的,WSL1 或许不应该称为 WSL,而应该称为 WSG,因为本质上是在 Windows 内核上面跑 GNU,而与 Linux 内核没有什么直接关系。
--
然而,事实已经很难改变。或许更多的人更多的机构已经把看到的 GNU 那些东西称为 Linux。很多人在做出Linux这个表述的时候,心里实际想的也是GNU体系的那些东西。所以实情也就成了大家今天看到的样子。



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

468

主题

472

帖子

17

粉丝