GNU软件是通过GNU项目发布的软件,它是一种根据GNU软件包的README手册以及自由软件指南开发的软件,大多数GNU软件是免费分发的(copyleft),但不是所有的都这样,然而,所有的GNU软件必须是自由软件。
GNU软件是
GNU计划开发的软件,该软件可以充分利用计算机的硬件能力,比
Unix中的同样的软件功能更强,因此非常流行,这些软件在GNU通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的Unix中,
FreeBSD上也提供了很多
GNU软件。
有一些GNU软件是由自由软件基金(Free Software Foundation)成员编写的,但大多数GNU软件是志愿者捐献的。有些捐献软件是由
自由软件基金免费分发,但有一些软件由作者享有版权。
GNU软件使用
copyleft保护,限制将GNU软 件本身用于牟利目的,而其他软件仍然可以使用
copyright保护版权不被侵犯。
Stallman进一步使用GNU 通用公共许可来详细阐述copyleft的观念,要求传播GNU软件必须同时传播其源代码。由于GNU通用公共许可十 分流行,因此很多非自由软件基金会的自由软件也使用GNU通用公共许可来保护自己软件,不被商业公司用于获利。
1983年,理察·马修·斯托曼(Richard Stallman)创立了GNU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的 Unix-like 操作系统。
GNU 大量的产生或收集各种系统所必备的元件,例如:函式库(libraries)、
编译器(compilers)、侦错工具(debugs)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unix shell)——除了执行核心(kernel)。
1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于
Mach的设计异常复杂,发展进度则相对缓慢。
在1990到1995年期间,Barton P.Miller和他的学生测试了Unix应用程序的可靠性。每次GNU的应用程序的效用表现得相当领先。他们测试了GNU和另外7个商业Unix系统。通过随机的输入流,在使用基本的应用程序时,它们能使40%(最坏的情况)的基本应用程序“
崩溃(
内核被破坏)或者
中止(
无限循环)”。
这些研究者发现:商业版Unix
系统故障率高达15%到43%,与此形成鲜明对比的是,GNU的故障率仅仅是7%。
Miller说过:“在1990到1995年期间,比较的商业系统中有三个版本有了引人注目的改进,但是还是有重大的失败(
GNU/Linux基本应用程序仍然比商业系统有引人注目的好处)。”