GNU系统是一套向上兼容Unix的完全自由的操作系统。GNU代表“GNU's Not Unix”。它的发音是带有g音的单音节。Richard Stallman在1983年9月做出了GNU工程的初始声明。接着在1985年3月又发表了更长的版本,叫做GNU宣言。它被翻译成多种其他语言。
起“GNU”这个名字是因为它满足了几个要求:第一,它是“GNU's Not Unix”的递归缩写;第二,它是一个真正的单词;第三,它说(或唱)起来有趣。
“free software”中的单词“free”关乎自由,而不是价格。您可以付费或不付费得到GNU软件。无论如何,一旦得到了软件,你便拥有了使用它的四项特定自由。有自由按照自己的意愿运行该软件;有自由复制软件并将其送给您的朋友和同事;有自由通过对源代码的完全控制而改进程序;有自由发布改进的版本从而帮助社区建设。(如果您再发布GNU软件,您可以为发布拷贝过程中的物理行为收取一定的费用,你也可以赠送拷贝。)
开发GNU系统的工程叫做“GNU工程”。GNU工程构思于1983年,意在找回在早期计算机社区中广泛存在的合作精神—通过除去专属软件所有者设置的障碍而使得合作再次成为可能。
1971年Richard Stallman在MIT开始职业生涯时,他在一个只使用自由软件的小组中工作。当时,甚至计算机公司都经常发布自由软件。程序员们可以自由地相互合作,他们也经常这样作。
到了20世纪80年代,几乎所有的软件都是专属软件,这意味着它有了一个禁止和阻止用户合作的所有者。这使得GNU项目成为必然。
每一个计算机用户都需要一个操作系统;如果没有自由的操作系统,那么你将甚至无法在不使用专属软件的情况下开始使用计算机。所以自由软件议程上的第一件事显然就是一个自由的操作系统。
我们决定将此操作系统与Unix兼容是因为它的整体设计历经考验并且可移植,而且还因为兼容性使得Unix的用户很容易从Unix上转移到GNU。
一个类似Unix操作系统包括内核、编译器、编辑器、文本格式化软件、邮件软件、图形界面、应用库、游戏以及其他很多别的东西。因此,编写一个完全的操作系统是一项巨大的工作。我们从1984年1月开始,并在1985年10月创立自由软件基金会,它初期为开发GNU募集资金。
到1990年,我们或者找到或者写出了所有主要的组件,除了一个—内核。当时,Linus Torvalds在1991年开发了一个类似Unix的内核Linux,并在1992年将其变成自由软件。将Linux与几乎完成的GNU系统结合在一起就是一个完全的操作系统:GNU/Linux系统。估计现在有几千万人在使用GNU/Linux系统,通常是GNU/Linux发行版。现在Linux的原始版本包含非自由的固件“blobs”;自由软件活动家目前也维护着一个自由版本的Linux,叫做Linux-libre。
然而,GNU工程并不限于核心操作系统。我们的目标是提供一个完整的软件系列,满足很多用户的任何要求。这包括应用软件。参看自由软件目录来了解分类展示的自由应用软件。
我们也为非计算机专家的普通用户提供软件。所以我们开发了一套图形桌面(叫做GNOME)以帮助初级用户使用GNU系统。
我们还想要提供游戏和其他娱乐应用。已经有很多自由的游戏。
自由软件将走多远?没有止境,除非到诸如专利等法律系统完全禁止自由软件之时。最终的目标是要为所有计算机用户希望进行的工作提供自由软件—并且因此让专属软件成为过去。