GNU工程

目录导航

简介

GNU工程 ,英文名:gnu project,又称自由软件基金会。FSF于1983年发表GNU工程而诞生。1996年8月,在加入一个内核之后,类似于UNIX的GNU诞生了。所谓自由共享指的是自由软件联盟在最初发行软件的时候要交费,但用户可以自己任意处理此软件。

GNU工程开发了一套与Unix向上兼容的名为“GNU”(GNU's Not Unix)的完全自由的软件系统。Richard Stallman在GNU工程的初始文档被称为GNU宣言(31k字节),它已经被翻译成多种语言。我们还有写于1984年的GNU工程的开始声明。

发展历程

1983年GNU工程被构想为回归早期计算机社区中广泛存在的合作精神的一种方法 - 通过除去私有软件拥有者设置的障碍而使得合作再次成为可能。

1971年Richard Stallman开始在MIT的生涯时,他在一个只使用 自由软件的小组中工作。甚至计算机公司都经常发布自由软件。程序员们可以自由地相互合作,他们也经常这样作。

到了二十世纪八十年代,几乎所有的软件都是私有的(18k字节),这意味着它具备了禁止和阻止用户合作的拥有者。这使得GNU项目成为必然。

件以及其他很多别的东西。因此,写一个完全的操作系统是一项巨大的工作。它需要多年。

操作系统与Unix兼容是,因为它的整体设计历经考验并且跨平台,而且还因为兼容性使得Unix的用户很容易从Unix上转移到GNU。

一个自由的类Unix操作系统的初始目标已经达到了。

到二十世纪九十年代,找到或者写出了除了内核以外的所有主要组件。接着Linus Torvalds开发了Linux - 一个免费的内核。将Linux与几乎完成的GNU系统的结合诞生了一个完全的操作系统:一个基于Linux的GNU系统。估计现在有上百万的人在使用基于Linux的GNU系统,包括Slackware、Debian、Red Hat和其它。

然而,GNU工程并不限于操作系统。他们的目标是提供一个完全的软件系列,满足很多用户的任何要求。这包括应用软件。我们已经拥有了一个电子表格。在今后的时间里我们希望扩展GNU Emacs使之成为一个所见即所得的桌面出版系统。

也希望为非计算机专家的用户提供软件。因此现在在开发一个图标拖放的桌面来帮助初学者使用GNU系统。

GPL C库

GNU C 库使用一个称做 GNU 较少一般公众许可证(LGPL)的特殊种类的 copyleft,它允许私有软件可以链接到该库。

C库做的是原生工作,每个私有系统或编译器都带有 C 库,因此,只将C库给自由软件用并不会给自由软件带来任何好处。

有一个系统是这个的例外:在 GNU 系统中(这包括 GNU/Linux),GNU C 库是唯一的 C 库。所以 GNU C 库的发行条款决定了它是否可以用来为 GNU 系统编译一个私有程序。允许私有应用在 GNU 系统上运行没有与道德相关的理由,但是从战略上看,不接受它们似乎是更多地阻碍使用 GNU 系统,而不是鼓励自由应用的开发。

对于其它库,策略性的决定需要一个案例一个案例地个别考虑,当一个库做的是一种能帮助编写特定种类程序的特殊工作时,那么将其用 GPL 发行,限制其只能被用於自由软件,是一种帮助其它自由软件开发者的方法。这给了他们在面对私有软件的竞争时的一个优势。

考虑一下 GNU Readline 这一个被开发用来为 BASH 提供命令行编辑的库。 Readline 是用普通的 GNU GPL 发行的,而不是 LGPL。这可能真的减少了 Readline 的使用量,但是这对我们没有损失。因为在此同时,至少有一个有用的应用软件被特别地做成自由软件从而可以使用 Readline,那是对於社团的真正收获。

私有软件开发者们有金钱供给的优势,自由软件开发者们则需要相互获得优势,希望有一天将拥有对私有软件不存在的类似可利用的巨大且受 GPL 保护的库集合,提供作为新自由软件建筑区块的有用模组,并且进一步强化对於将来自由软件开发的优势。

相关百科
返回顶部
产品求购 求购