2.4 Linux核心概念知识

2.4.1 自由软件与FSF

1)自由软件

简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束地传播、修改。

注意:自由软件强调的是权利问题,而非是否免费的问题。自由意味着Freedom,而免费意味着Free,英语中是完全不同的概念。例如:Red Hat Linux自由但不免费,CentOS Linux是自由且免费的。

自由软件关乎使用者运行、复制,发布、研究、修改和改进该软件的自由。更精准地说,自由软件赋予软件使用者4种自由:

1. 不论目的为何,有运行该软件的自由。

2. 有研究该软件如何运行以及按需改写该软件的自由。

3. 有重新发布拷贝的自由。

4. 有改进该软件以及向公众发布改进的自由。

2)自由软件基金会FSF

      FSFFree Software Foundation)的中文意思是自由软件基金会,是Richard Stallman1984年发起和创办的。FSF的主要项目是GNU项目,它的目标是建立可自由发布和可移植的类Unix操作系统产品。GNU的项目本身产生的主要软件包括:Emacsgccbash以及gawkGNU’s awk)等。

2.4.2 GNU知识

GNU的全称为GNU’s not Unix,意思是“GNU不是Unix”,GNU计划,又称革奴计划,是由Richard Stallman1984年公开发起的,是FSF的主要项目。

GNUUnix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs编辑软件、gcc编译软件、bash命令解析程序和编程语言,以及gawkGNU's awk)等,并加上了用于资源分配和硬件管理的内核。但GNU自己的内核Hurd仍然在开发中,但离实用还是有一定的距离,因此,这个GNU系统并没有流行起来。现在的GNU系统是使用Linux内核,加上一些GNU项目贡献的组件,以及其它相关程序组成的,这样的组合称为GNU/Linux操作系统。

       到1991Linux内核发布的时候,GNU项目已经完成了除内核以外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacsgccbashgawk等,至今都是Linux中很重要的基础软件。

2.4.3 GPL知识

1GPL

       GPL全称General Plubic License,中文名称为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是自由软件基金会创建的。1984Richard Stallman发起了自由软件运动后不久,在其他人的协作下,建立了GPL,这对推动自由软件的发展起了至关重要的作用。

GPL的意思,简单地理解,GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有取得、修改、重新发布自由软件的源代码权利,但都必须同时给出修改后的源代码。

注意:Linux虽然是基于GNUGPL许可发布的,但Linux内核不是GNU计划的一部分。

2LGPL

       LGPLLesser General Public License)相对于GPL较为宽松,允许不公开全部源代码,为基于Linux平台开发商业软件提供了更广阔的空间。