GNU软件是GNU计划开发的软件,该软件可以充分利用计算机的硬件能力,比Unix中的同样的软件功能更强,因此非常流行,这些软件在GNU通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的Unix中,FreeBSD上也提供了很多GNU软件。
有一些GNU软件是由自由软件基金(Free Software Foundation)成员编写的,但大多数GNU软件是志愿者捐献的。有些捐献软件是由自由软件基金免费分发,但有一些软件由作者享有版权。
GNU软件使用copyleft保护,限制将GNU软 件本身用于牟利目的,而其他软件仍然可以使用copyright保护版权不被侵犯。Stallman进一步使用GNU 通用公共许可来详细阐述copyleft的观念,要求传播GNU软件必须同时传播其源代码。由于GNU通用公共许可十 分流行,因此很多非自由软件基金会的自由软件也使用GNU通用公共许可来保护自己软件,不被商业公司用于获利。[1]
GNU软件许可相当宽松,有很多公司利用GNU软件进行商业活动,但只要同时提供了GNU软件的源代码,就没 有违反GNU软件许可。[1]
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的设计异常复杂,发展进度则相对缓慢。[2]
2008年,GNU庆祝25岁生日,放出纪念短片。[3]
在1990到1995年期间,Barton P.Miller和他的学生测试了Unix应用程序的可靠性。每次GNU的应用程序的效用表现得相当领先。他们测试了GNU和另外7个商业Unix系统。通过随机的输入流,在使用基本的应用程序时,它们能使40%(最坏的情况)的基本应用程序“崩溃(内核被破坏)或者中止(无限循环)”。
这些研究者发现:商业版Unix系统故障率高达15%到43%,与此形成鲜明对比的是,GNU的故障率仅仅是7%。
Miller说过:“在1990到1995年期间,比较的商业系统中有三个版本有了引人注目的改进,但是还是有重大的失败(GNU/Linux基本应用程序仍然比商业系统有引人注目的好处)。”[4]
gnu软件是一种自由软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由,具有以下特性:
1:不论目的为何,可以自由使用该种软件。
2:研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求,取得该软件之源码为达成此目的之前提。
3:重新散布该软件的自由。
4:有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠,如前项,取得该软件之源码为达成此目的之前提。[5]
(GNU 软件的源代码也是免费开放的。[6])