Linux操作系统案例教程(CentOS Stream 9/RHEL 9):微课版
上QQ阅读APP看书,第一时间看更新

1.1.2 GNU计划和GPL许可证

Linux的诞生离不开UNIX操作系统和MINIX操作系统,而Linux的发展离不开GNU计划(GNU Project)。

GNU计划的诞生要早于Linux。GNU计划开始于1984年,其创始人是理查德·马修·斯托曼(Richard Matthew Stallman)。“GNU”是“GNU's Not UNIX”的首字母缩写词,“GNU”的发音为g'noo。GNU计划的目的是开发一款自由、开放的类UNIX操作系统。类UNIX操作系统中用于资源分配和硬件管理的程序称为“内核”,GNU的内核称为Hurd。Hurd的开发工作始于1990年,但是Hurd至今尚未成熟。GNU计划典型的产品包括GCC、Emacs、Bash Shell等,这些都在Linux中被广泛使用。

1985年,斯托尔曼创立了自由软件基金会为GNU计划提供技术、法律以及财政支持。GNU计划倡导“自由软件”。尽管GNU计划大部分时候依靠个人自愿无偿贡献,但自由软件基金会有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。其中非常著名的就是之后被Red Hat兼并的Cygnus Solutions。

为了避免GNU开发的自由软件被其他人用作专利软件,GNU GPL(General Public License,通用公共许可证)于1985年被提出。GPL试图保证用户共享和修改自由软件的自由。GPL适用于大多数自由软件基金会的软件。GNU计划一共提出了3个许可证条款:GNU GPL、GNU LGPL(GNU Lesser General Public License,GNU较宽松公共许可证)、GNU FDL(GNU Free Documentation License,GNU自由文档许可证)。

基于GPL的Free Software中的Free的意思是“自由”,而不是“免费”,所以只要在保证使用者充分自由(可以获取源码,可以修改或者重新发布)的前提下,完全可以收费。例如,Red Hat Enterprise Linux是商业产品,但是它的源码是公开的。CentOS就是在Red Hat Enterprise Linux的源码上,进行重新修改而形成的一个Linux发行版。

知识扩展

典型的开源许可证

开源许可证(Open Source License)种类繁多,其中最有影响力的主要包括GNU系列、BSD系列、Apache系列、MIT系列等。不同类型的开源许可证对权利的保护范围是不一样的,用户需要根据自己的需求谨慎选择。