GNU是一个自由软件项目,其全称是"GNU's Not Unix!",由理查德·斯托曼(Richard Stallman)于1983年发起。GNU项目的目标是创建一个完全自由的操作系统,包括一整套完全自由的软件工具,以取代Unix系统。这里的"自由"指的是自由软件(Free Software)的概念,即用户有使用、复制、修改和分发软件的自由。
GNU项目包括以下几个关键方面:
-
操作系统:GNU项目开发了一个名为GNU系统(GNU System)的操作系统,它包括了内核、shell、编程语言编译器、文本编辑器、文件系统等组件。
-
自由软件:GNU项目强调软件的自由性,即用户有权自由地运行、学习、分享和改进软件。
-
GNU通用公共许可证(GPL):GNU项目开发了一种许可证,即GNU通用公共许可证,它允许软件以自由软件的形式分发和使用。
-
重要软件:GNU项目开发了许多重要的软件,包括但不限于:
Bash:Bourne Again Shell,一个Unix shell和命令语言。
GCC:GNU编译器集合(GNU Compiler Collection),支持多种编程语言的编译器。
GDB:GNU调试器(GNU Debugger),用于调试程序。
Gawk:GNU AWK,文本处理工具。
Grep:GNU版本的grep,用于搜索文本文件。
Emacs:一个可扩展、高度可定制的文本编辑器。
-
GNU Hurd:GNU项目开发了自己的内核,称为Hurd,它是GNU系统的一部分,但Hurd的开发进度较慢,并没有广泛部署。
-
GNU/Linux:虽然GNU Hurd的开发没有达到预期,但GNU项目开发的许多组件被用于Linux操作系统中。Linux内核与GNU工具集合合,形成了广泛使用的操作系统,通常被称为GNU/Linux。
-
自由软件基金会(FSF):理查德·斯托曼创建了自由软件基金会,以支持和推广自由软件的理念。
GNU项目对软件自由和开源运动有着深远的影响,它不仅推动了技术的发展,也促进了对软件自由和用户权利的讨论。