什么是Linux、GUN/Linux、GUN、GPL?
备注:本文修订于2021年6月26日
1、什么是Linux?
也许很多人会不屑的说,Linux不就是个操作系统么。错!Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。对于我们普通人来说,内核根本不能直接使用,它主要是管理计算机的硬件资源的。我们平时使用电脑,用的是应用软件,例如word,微信等,而内核的作用是建立这些应用软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。
既然Linux只是一个内核,不能直接使用,那么我们通常使用的Linux操作系统又是什么?我们通常使用的Linux,指 GNU/Linux,即采用Linux内核的GNU操作系统。
2、什么是GNU?
GNU是一个技术组织,发起人是 Richard Stallman。这个组织中黑客云集,而且多是掌握核心技术的真正高手,他们的作品多是编译器、词法/语法分析器、底层函数库等大作。更重要的不是他们的技术,而是他们的哲学!他们的哲学就是:软件源码看成人类共同拥有的知识财富,应该公开地自由交换、修改。GNU建立了自由软件基金会,同时发布了一份举足轻重的法律文件---GNU 通用公共授权书(简称:GNU GPL,全称为:GNU General Public License)。
3、什么是GPL?
计算机软件作为人类的知识财富,为人类社会的发展起到了巨大的作用,但长期以来软件源码作为个人或公司的私有财产受到严格的保密,很难做到像文学艺术作品一样地进行公开的交流,很大程度上造成软件的低水平,重复劳动严重,在一定意义上制约了软件的发展。直到 1985 年由 MIT 教授理查德·斯托曼(Richard Stallman)提出应将软件源码看成人类共同拥有的知识财富,应该公开地自由交换、修改,提出了 GNU 计划,并建立了自由软件基金会;同时,发布了一份举足轻重的法律文件---GNU 通用公共授权书(GNU General Public License)。该授权书主要有以下两点:
第一:GPL 协议的核心就是要对源码进行公开,并且允许任何人修改源码,但是只要使用了 GPL 协议的软件源码,其衍生软件也必须公开源码,准许其他人阅读和修改源码,即 GPL 协议具有继承性。
第二:GPL 软件并非就是免费软件,这里所说的自由软件是指对软件源码的自由获得与自由使用、修改,软件开发者不但可以通过服务来收费,而且还可以通过出售 GPL 软件来获利。
至此,在 GPL 下人们就可以自由交流、修改软件源码了,这一协议极大地推动了整个计算机软件行业的发展。
4、什么是GUN/Linux?
GNU本来想开发自己的操作系统——HURD,但是因为种种原因进度非常慢。这时候,一个荷兰黑客制作出了Linux,并宣布遵循GPL版权可协议。后来,由于Linux的发展非常快,况且它本身遵循GPL版权可协议,同时又把GNU的很多软件集成了进去(注意,Linux仅仅是一个内核,不包含外围的应用程序),从而满足了人们的直接需求,所以现在我们使用的Linux系统,应该完整地称之为GNU/Linux才对。
备注:GPL协议要点汇总
- 自由软件(free software)指的是源码自由,不是价格免费;
- 自由软件必须附带程序源代码,但可收取费用;
- 任何人都可以自由分发自由软件并收取费用,但必须列明原创者姓名;
- 任何人都可以修改源代码,但必须列明修改人名字,以保护原创者名誉;
- 任何人都可以采用源代码中的某一段,但其开发之软件必须也为自由软件;
- 任何自由软件的衍生品也必须是自由软件;
- 自由软件没有担保,以保护分发者。
GPL协议感觉类似于版权声明,但是更为开放,这样确实极大促进的计算机行业的发展,但是也非常容易造成了一些公司、个人的恶意滥用。