Home | Business | Accounting | Fundraising | Slide Show | Video Conferencing | Anti-Spam | Membership | Development | Escrow

GNU - History - Design - Copyright - Software - Variants

Design and implementation

The initial plan for GNU was to be mostly Unix-compatible, while adding enhancements where they were useful. 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. As the goal was to make a whole free operating system exist�rather than necessarily to write a whole free operating system�Stallman tried to use existing free software when possible. In the 1980s there was not much free software, but there was the X Window System for graphical display, the TeX typesetting system, and the Mach microkernel. These components were integrated into GNU .

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,[citation needed] a remote procedure call kernel developed at MIT Technology, whose authors had decided to distribute it as free software, and which 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.

The GNU Project's early plan was to adapt the BSD 4.4-Lite kernel for GNU. However, due to a lack of cooperation from the Berkeley programmers,[citation needed] by 1988 Stallman decided instead to use the Mach kernel being developed at Carnegie Mellon University, although its release as free software was delayed until 1990 while its developers worked to remove code copyrighted to AT&T.[citation needed] Thomas Bushnell, the initial Hurd architect, said in hindsight that the decision to start a new kernel rather than adapt the BSD work set the project back considerably, and that the project should have used the BSD kernel for this reason.

The design of the kernel was to be GNU's largest departure from "traditional" Unix. GNU's kernel was to be a set of programs called servers, forming a multi-server microkernel that would provide the same functionality as the traditional Unix kernel. 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 Thomas Bushnell later preferred the name Hurd, so the Alix name was moved to a subsystem and eventually dropped completely. Eventually, development progress of the Hurd became very slow due to ongoing technical issues.

In 1992, when the Linux kernel became usable and was switched to a free software license, it became the most common host for GNU software. The GNU project coined the term GNU/Linux for such systems. As of 2010[update] there are also projects working on porting the GNU system to the kernels of FreeBSD, NetBSD, and OpenSolaris.[citation needed]

Despite an optimistic announcement by Stallman in 2002 predicting a release of GNU/Hurd,[14] further development and design are still required. The latest release of the Hurd is version 0.2. It is fairly stable, suitable for use in non-critical applications.[citation needed] However, its development remains slow, and Richard Stallman acknowledged that the availability of Linux makes completion of the Hurd not a "high priority task"."RMS Ask-Me-Anything, reddit.com". http://blog.reddit.com/2010/07/rms-ama.html.


AC Glug GNU Software Guide 2010