GNU及其操作系统 何处的中国计算机文化(三)
GNU是什么
引自官网(http://www.gnu.org/)的定义:
GNU 是一个由 自由软件 构成的类 Unix 操作系统 — 自由软件尊重你的自由。你可以选择安装一个完全由自由软件构成的 基于 Linux 内核的 GNU 系统。
GNU 工程 创始于一九八四年,旨在开发一个完整 GNU 系统。GNU这个名字是 “GNU's Not Unix!” 的递归首字母缩写词。 "GNU" 的发音为 g'noo,只有一个音节,发音很像 “grew”,但需要把其中的 r 音替换为 n 音。
类 Unix 操作系统是由一系列应用程序、系统库和开发工具构成的 软件集合 , 并加上用于资源分配和硬件管理的内核。
使用 Linux 内核。这样的组合即为 GNU/Linux 操作系统。已经有上百万人在使用 GNU/Linux,但他们中的很多人把它误称为“Linux”。
同时我们可以发现GNU的官网上写提GNU操作系统。GNU的终极目标也就是用自由软件构成一个完整的操作系统,而在Linux内核开始之前,请记住一点Linux只是一个内核,类Unix系统内核,这也就是为什么通常我们所用的GNU/Linux系统被称为类Unix系统的原因之一。在Linux内核开始之前,GNU计划已经完成了除操作系统内核以外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器。但请记住另外一点Linux内核并不是GNU计划的一部分。
GPL
由于前面所介绍的,那么不由得不一提GPL,GNU 通用公共许可协议(英语:GNU General Public License,简称GNU GPL或GPL)(详细资料参见:http://www.fsf.org/):
GPL由斯托曼撰写,用于GNU计划。它以GNU Emacs、GDB、GCC的许可证的早期版本为蓝本。这些许可证都包含有一些GPL的版权思想,但仅只针对特定程序。斯托曼的目标就是创造出一种四海之内皆可使用的许可证,这样就能为许多源代码共享计划带来福音。这里转载了一份来自维基百科对于GPL条款的一个通俗易懂的总结(原文:http://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81)。
授予的权利
此GPL的条款和条件适用于任何收到GPL下的作品的人(即“许可证接受人”)。任何接受这些条款和条件的许可证接受人都有修改、复制、再发行作品或作品的演绎版本的授权。许可证接受人可以对此项服务收取费用 ,反之亦然。这一点是GPL与其他禁止商业用途的自由软件许可证最大的不同。Stallman认为自由软件不应限制其商业用途,同时GPL清楚地说明了这一点。
但GPL又规定发行者不能限制GPL授予的权利。例如,这禁止对软件在单纯沉默(消极默示)式协议或合同下的发行。GPL下的发行者同时也同意在软件中使用的专利可以在其它GPL软件中使用。
Copyleft
GPL不会授予许可证接受人无限的权利。再发行权的授予需要许可证接受人开放软件的源代码,及所有修改。且复制件、修改版本,都必须以GPL为许可证。
这些要求就是copyleft,它的基础就是作品在法律上版权所有。由于它版权所有,许可证接受人就无权进行修改和再发行(除合理使用),除非它有一个copyleft条款。如果某人想行使通常被法律所禁止的权利,只需同意GPL的条款。相反地,如果某人发行软件违反了GPL(比如不开放源代码),他就有可能被原作者起诉。
copyleft利用版权法来达到与其相反的目的:copyleft给人不可剥夺的权利,而不是版权法所规定的诸多限制。这也是GPL被称作“被黑的版权法”的原因。
许多GPL软件发行者都把源代码与可执行程序捆绑起来。另一方式就是以物理介质(比如CD)为载体提供源代码。在实践中,许多GPL软件都是在互联网上发行的,源代码也有许多可以方式得到。
copyleft只在程序再发行时发生效力。对软件的修改可以不公开或开放源代码,只要不发行。注意copyleft只对软件有效力,而对软件的输出并无效力(除非输出的是软件本身)。不过这在GPL版本3中可能会有改动。
GPL是许可证
GPL设计为一种许可证,而不是合同。在英美法系国家,许可证与合同有法律上的明确区别:合同由合同法保障效力,而GPL作为一种许可证由版权法保障效力。不过在许多采用欧陆法系的国家并无此种区别。
GPL原理简单:在版权法下,你不遵守GPL的条款和条件你就没有相应权利。而作品在没有GPL的情况下,版权法作为默认条款发生效力,而不是作品进入公有领域。
自由软件
“自由软件” 是权利问题,不是价格问题。要理解这个概念,自由应该是“言论自由”中的“自由”,而不是“免费啤酒”中的“免费”。
自由软件关乎使用者运行、复制、发布、研究、修改和改进该软件的自由。 更精确地说,自由软件赋予软件使用者四种自由:
- 不论目的为何,有运行该软件的自由(自由之零)。
- 有研究该软件如何运行,以及按需改写该软件的自由(自由之一)。取得该软件源代码为达成此目的之前提。
- 有重新发布拷贝的自由,这样你可以借此来敦亲睦邻(自由之二)。
- 有改进该软件,以及向公众发布改进的自由,这样整个社群都可受惠(自由之三)。取得该软件源码为达成此目的之前提。
GNU操作系统
构成GNU操作系统的一些核心组件:
项目名 | 用途 |
---|---|
coreboot | 前身LinuxBIOS,提供类似于BIOS的硬件初始化 |
GRUB | 多操作系统启动程序 |
GNU Hurd | 系统内核 |
Bash | Shell |
GCC | 编程语言编译器,支持c ada fortan java等语言 |
这样子一个系统就勉强可以上路了,至于桌面的选择等等就多种多样了,也没有足够的资料显示会使用哪个桌面。
GNU HURD
GNU Hurd 是一系列基于GNU Mach或者L4微内核的守护进程,这一套守护进程最终形成了GNU操作系统。GNU计划从1990年开始开发GNU Hurd,并且将它作为一个遵循GPL的自由软件发布。Hurd的目标是从功能、安全性和稳定性上全面超越Unix内核,而同时又能保持对其的兼容性,为此Hurd遵守POSIX标准。
“HURD”是一个间接递归缩写,来自“HIRD of Unix Replacing Daemons”,其中“HIRD”表示“HURD of Interfaces Representing Depth”。
基于GNU/HURD的GNU操作系统发行版
更多推荐
所有评论(0)