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.
GNU理念
我从www.gnu.org上找到了一篇名叫“Why Software Should Be Free”的文章,里面阐述了FREE SOFTWARE理念,这里翻译并列出其主要观点。注意,以下并非原文,但基本符合原意