互联网常识之GNU,Linux,和GNU/Linux之间的关系
一.什么是Linux?
1.狭义上讲:Linux指的是操作系统的内核
2.广义上讲:Linux指基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
绝大多数基于Linux内核的操作系统使用了大量的GNU软件,包括了一个shell程序,工具,程序库,编译器及工具,还有许多其他程序
正是由于Linux使用了许多GNU程序,在90年代中期,Linux流行后,GNU计划的开创者提议将Linux操作系统改名为GNU/Linux。但是很多人只把操作系统叫做“Linux”
基于这些组件的Linux软件被称为Linux的发行版
二.什么是GNU计划?
1.GNU(GNU's Not Unix的递归缩写)计划:致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年Linux内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linux Torvalds(Linux的编写者芬兰人:林纳斯-托瓦兹)和其他开发人员的努力下,GNU组件可以运行在Linux内核之上;
整个Linux内核是基于GNU通用公共许可,也就是GPL(General Public License)的,但是Linux内核并不是GNU计划的一部分(GNU计划开发的操作系统内核是HURD,但是在1992年,Linux与其他GNU软件结合,完全自由的操作系统已经诞生时,GNU计划的自己的内核Hurd依然在开发中)
2.GNU目标:创建一套完全自由的操作系统
三.什么是是GPL?
为保证GNU软件可以可以自由的“使用,复制,修改和发布”,所有GNU软件都在一份禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GPL)。这个就是被称为“反版权”的概念