Linux历史–GNU

作者: 郭子渝 分类: 红帽认证 发布时间: 2020-02-26 16:23 本文共1520个字,阅读需要4分钟。

GNU项目

GNU的吉祥物

1984年,理查德·斯托曼,看见IBM一个文本编辑器居然卖10万美金,表示十分愤怒,然后创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献和接受支持GNU开发的免税礼物,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions。

1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。这些软件为Linux操作系统的开发创造了一个合适的环境,是Linux可以诞生的基础之一,所以很多人都将Linux操作系统称为GNU/Linux。

但是理查德·斯托曼这个家伙虽然很会写应用程序,但是写不出好的操作系统,和Linus(Linux系统的缔造者)正好相反,所以他给还在赫尔辛基大学读书的学生Linus Torvalds写了一封信《欢迎你加入我的GNU项目》,Linus思考再三准备接受理查德·斯托曼的协议——GPL宣言。

什么是GPL宣言?  ——大部分的软件许可证会剥夺你修改,破解该软件,阻止你破解该软件的源代码。

GPL宣言反其道而行,它保证Free,在中国,我们看到Free大部分可能想到的是免费,但是Free这个词更多的是表示自由,GPL宣言要求你开放源代码,并供任何人Free(自由)的去阅读,你可以自由的复制,修改,再发行,甚至可以用于商业用途,可以进行出售,但你必须公布你修改过的源代码,并在源代码中附有明确的说明:你修改了这一软件的哪些内容及具体的修改日期。

举个很经典的例子,Red Hat操作系统是一个商业操作系统,需要向红帽官方付费后购买,但是这个操作系统是基于Linux开发的,所以他在发布和出售的同时必须公布他的源代码,Centos这个操作系统就是将红帽提供的源代码再次编译后免费发布,很多节约成本的开发者,运维者,甚至是企业,直接安装并使用Centos系统(包括博主本人的笔记本,太穷了,买不起操作系统的使用权),这没有任何问题,并且符合法律。

我想这个可能也是苹果不是基于Linux,而基于FreeBSD的原因吧,FreeBSD这个操作系统不是使用GPL协议,而是BSD协议,BSD协议允许你修改软件,并且在不公布源代码和修改部分的情况下出售。计算机的世界里有很多的开源协议。

下面这张图是我整理的一些重要协议,想详细了解的可以百度具体协议,但是这些协议涉及大量法律内容,我涉及这个行业大概了解,具体细节还是法务部的同志比较熟悉。

开源协议的区别

简单点的话可以看这张图

开源协议的选择

言归正传,Linus接受GPL宣言并发布了Linux源代码后,GNU提供基础应用接口Shell,许多大佬纷纷出手为其开发。

严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU
工程各种工具和应用程序的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice.org),等等。Linux的应用生态就此形成,Linux凭借着自由,开源的特点,Linux成为与Windows同级的存在。


想继续了解Linux的发行版本区别,可以看我下一篇博文《常见Linux发行版本

如果觉得我的文章对您有用,请订阅我的博客。您的支持将鼓励我继续创作!
Scroll Up