什么是GNU

  GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。

GNU是“GNU's Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。

为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称Copyleft)的概念。

1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions。

到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器GCC,以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。

1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,目前已经发布Beta版本。)

许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。

 

GNU (pronounced /gnu/) is a free software operating system. Its name is a recursive acronym for "GNU's Not Unix", which was chosen because its design is Unix-like, but it contains no actual UNIX code. The GNU system, combined with a third-party kernel called Linux, is one of the most widely used operating systems in the world known as "GNU/Linux". The plan for the GNU operating system was announced in September 1983 by Richard Stallman and software development work began in January 1984. The project to develop GNU is known as the GNU Project, and programs released under the auspices of the GNU Project are called GNU packages or GNU programs.

History

The GNU project was announced publicly on September 27, 1983, on the net.unix-wizards [1] and net.usoft newsgroups. Software development began on January 5, 1984, when Stallman quit his job at Massachusetts Institute of Technology so that they could not claim ownership or interfere with distributing GNU as free software. The correct pronunciation of GNU is g'noo (IPA: /gnu/), with a hard "g", to distinguish it from the word new. According to Stallman, the name was inspired by various plays on words, including the song The Gnu.

The goal was to bring a wholly free software operating system into existence. Stallman wanted computer users to be free - as most were in the 60s and 70s - free to study the source code of the software they use, free to modify the behaviour of the software, and free to publish their modified versions of the software. This philosophy was published in March 1985 as The GNU Manifesto.

The majority of the software needed had to be written from scratch, but when compatible free software components already existed, they were used. Two examples were the TeX typesetting system, and the X Window System. Most of GNU has been written by volunteers; some in their spare time, some paid by other companies. In October 1985, Stallman set up the Free Software Foundation (FSF). In the mid- and late-80s, FSF hired software developers to write the software needed for GNU. At its peak it had 15 people on its staff. FSF also holds the copyrights for some GNU software packages. Most GNU packages are licensed under the GNU General Public License (GNU GPL), while a few use the GNU Lesser General Public License (GNU LGPL), and a still smaller amount use other free software licenses.

So that it would be convenient for people to switch to GNU, it was decided that GNU would be mostly compatible with Unix, which was a popular proprietary operating system at the time. The design of Unix had proven to be solid, and it was modular, so it could be reimplemented piece by piece.

As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. The most prominent and successful of these was Cygnus Solutions, now part of Red Hat.

Licensing

In order to ensure that GNU software remains free, the project released the first version of the GNU General Public License (GNU GPL) in 1989. This license is now used by most GNU programs, as well as a large number of free software programs that are not part of the GNU project; it is the most commonly used free software license in the world. It gives all recipients of a program the right to run, copy, modify and distribute it, while forbidding them from imposing further restrictions on any copies they distribute. This idea is referred to as copyleft.

Design and implementation

The initial plan for GNU was to be mostly Unix-compatible, while adding enhancements where they were useful. The design of the kernel was GNU's largest departure from "traditional" Unix. GNU's kernel was to be a multi-server micro-kernel.

The GNU Hurd runs on a microkernel (currently Mach) and consists of a set of programs called servers that offers the same functionality as the traditional Unix kernel (or Linux).

GNU (using Hurd) can be tried using a live CD. (See External links).

By 1990, the GNU system had an extensible text editor (Emacs), a very successful optimizing compiler (GCC), and most of the core libraries and utilities of a standard Unix distribution. The main component still missing was the kernel. In the GNU Manifesto, Stallman had mentioned that "an initial kernel exists but many more features are needed to emulate Unix." He was referring to TRIX, a remote procedure call kernel developed at MIT, whose authors had decided to distribute for free, and was compatible with Version 7 Unix. In December 1986, work had started on modifying this kernel. However, the developers eventually decided it was unusable as a starting point, primarily because it only ran on "an obscure, expensive 68000 box" and would therefore have to be ported to other architectures before it could be used. By 1988, the Mach message-passing kernel being developed at Carnegie Mellon University was being considered instead, although its release as free software was delayed till 1990 while its developers worked to remove code owned by AT&T.

Since the Mach microkernel, by design, provided just the low-level kernel functionality, the GNU Project had to develop the higher-level parts of the kernel, as a collection of user programs. Initially, this collection was to be called Alix, but developer Michael Bushnell later preferred the name Hurd, so the Alix name was moved to a subsystem and eventually dropped completely. Eventually, development of the Hurd stalled due to technical reasons and personality conflicts.

GNU/Hurd refers to the GNU OS distribution that uses GNU Hurd as its core. GNU Hurd is the set of programs or servers run on top of a microkernel (it currently uses the GNU Mach microkernel, but efforts port the Hurd to the L4 microkernel are currently ongoing). The "GNU" in GNU Hurd indicates that it is a part of the GNU project, while "GNU/Hurd" distinguishes it as one of the two currently available GNU systems, that is, Linux-based GNU systems (or "GNU/Linux") as opposed to Hurd-based GNU systems (or "GNU/Hurd"). Just "GNU" refers to GNU/Hurd or a Hurd-based GNU system. "GNU/Linux" is pronounced "GNU-slash-Linux", or more often, just "GNU Linux". However, the FSF contests that "GNU Linux", by the rules of the English language, refers to a distribution of the kernel Linux by the GNU project or GNU project's version of it; "GNU/Linux", they say, makes it clear that a person is referring to the combination of the kernel Linux and the GNU userland binaries, forming a complete GNU OS. Linus Torvalds, original author of the kernel, does not approve of the term "GNU/Linux"; he prefers "GNU Linux" if the GNU project "wants its own distribution."

In 1991, Linus Torvalds wrote the Unix-compatible Linux kernel. Although it was not originally free software, Torvalds changed the license to the GNU GPL in 1992. Linux was further developed by various programmers over the Internet. In 1992, it was combined with the GNU system, resulting in a fully functional free operating system. The GNU system is most commonly encountered in this form, usually referred to as a "GNU/Linux system" or a "Linux distribution". As of 2005, Hurd is in slow development, and is now the official kernel of the GNU system. There is also a project working on porting the GNU system to the kernels of FreeBSD and NetBSD.

On the 20th anniversary of the GNU Project (January 5, 2004), the Irish Free Software Organisation was founded to promote free software in Ireland.

GNU software

Prominent components of the GNU system include the GNU Compiler Collection (GCC), the GNU C Library (glibc), the GNU Emacs text editor, and the GNOME graphical desktop.

Many GNU programs have been ported to other operating systems and are often installed on proprietary UNIX systems to replace the proprietary utilities. As well as giving users freedom, many of these GNU programs have been proven to be more reliable than their proprietary Unix counterparts [2]. The reputation of GNU software is especially good for its software development tools, which are sometimes collectively called the GNU toolset. Making up but a small fraction of the GNU system as a whole, some people consider the toolset to be of superior quality to many of the equivalent Unix versions, even if the GNU versions are not totally POSIX compliant. With the popularity of GNU/Linux systems, many developers install the GNU toolset on other systems for compatibility or to capture uniform behavior across platforms. Many GNU programs have also been ported to Microsoft Windows, Mac OS X, and various other proprietary platforms, however, the motive for developing these programs was to contribute to replacing those systems with free software, not to enhance them.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值