💾 Archived View for 80h.dev › agena › gopherpedia.com › 0 › GNU captured on 2020-09-24 at 00:48:40.

View Raw

More Information

-=-=-=-=-=-=-



======================================================================
=                                GNU                                 =
======================================================================

                             Introduction                             
======================================================================
GNU () is an extensive collection of wholly free software, which gave
rise to the family of operating systems popularly known as Linux. GNU
is also the project within which the free software concept originated.
Most of GNU is licensed under the GNU Project's own General Public
License (GPL).


Richard Stallman, the founder of the project, views GNU as a
"technical means to a social end". Relatedly, Lawrence Lessig states
in his introduction to the second edition of Stallman's book 'Free
Software, Free Society' that in it Stallman has written about "the
social aspects of software and how Free Software can create community
and social justice".


                                 Name                                 
======================================================================
'GNU' is a recursive acronym for "GNU's Not Unix!", chosen because
GNU's design is Unix-like, but differs from Unix by being free
software and containing no Unix code.


                               History                                
======================================================================
Development of the GNU operating system was initiated by Richard
Stallman while he worked at MIT Artificial Intelligence Laboratory. It
was called the GNU Project, and was publicly announced on September
27, 1983, on the net.unix-wizards and net.usoft newsgroups by
Stallman. Software development began on January 5, 1984, when Stallman
quit his job at the Lab so that they could not claim ownership or
interfere with distributing GNU components as free software. Richard
Stallman chose the name by using various plays on words, including the
song 'The Gnu'.

The goal was to bring a completely free software operating system into
existence. Stallman wanted computer users to be free to study the
source code of the software they use, share software with other
people, modify the behavior of software, and publish their modified
versions of the software. This philosophy was later published as the
GNU Manifesto in March 1985.

Richard Stallman's experience with the Incompatible Timesharing System
(ITS), an early operating system written in assembly language that
became obsolete due to discontinuation of PDP-10, the computer
architecture for which ITS was written, led to a decision that a
portable system was necessary. It was thus decided that the
development would be started using C and Lisp as system programming
languages, and that GNU would be compatible with Unix. At the time,
Unix was already a popular proprietary operating system. The design of
Unix was modular, so it could be reimplemented piece by piece.

Much of the needed software had to be written from scratch, but
existing compatible third-party free software components were also
used such as the TeX typesetting system, the X Window System, and the
Mach microkernel that forms the basis of the GNU Mach core of GNU Hurd
(the official kernel of GNU). With the exception of the aforementioned
third-party components, most of GNU has been written by volunteers;
some in their spare time, some paid by companies, educational
institutions, and other non-profit organizations. In October 1985,
Stallman set up the Free Software Foundation (FSF). In the late 1980s
and 1990s, the FSF hired software developers to write the software
needed for GNU.

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.


                              Components                              
======================================================================
The system's basic components include the GNU Compiler Collection
(GCC), the GNU C library (glibc), and GNU Core Utilities (coreutils),
but also the GNU Debugger (GDB), GNU Binary Utilities (binutils), the
GNU Bash shell. GNU developers have contributed to Linux ports of GNU
applications and utilities, which are now also widely used on other
operating systems such as BSD variants, Solaris and macOS.

Many GNU programs have been ported to other operating systems,
including proprietary platforms such as Microsoft Windows and macOS.
GNU programs have been shown to be more reliable than their
proprietary Unix counterparts.

As of November 2015, there are a total of 466 GNU packages (including
decommissioned, 383 excluding) hosted on the official GNU development
site.


                      GNU as an operating system                      
======================================================================
The GNU collection is sometimes referred to as an operating system. In
its original meaning, and one still common in hardware engineering,
the operating system is a basic set of functions to control the
hardware and manage things like task scheduling and system calls. In
modern terminology used by software developers, the collection of
these functions is usually referred to as a kernel. While the GNU
project does develop such kernels, their inclusion is not mandatory,
so that 'GNU' does not necessarily include everything required to
operate a computer


 [[GNU Hurd]] 
==============
The original kernel of GNU Project is the GNU Hurd microkernel, which
was the original focus of the Free Software Foundation (FSF).

With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro,
GNU now provides all required components to assemble an operating
system that users can  install and use on a computer.

However, the Hurd kernel is not yet considered production-ready but
rather a base for further development and non-critical application
usage.


 [[Linux-libre]] 
=================
As of 2012, a fork of the Linux kernel became officially part of the
GNU Project in the form of Linux-libre, a variant of Linux with all
proprietary components removed.


 With non-GNU kernels 
======================
Because of the development status of Hurd, GNU is usually paired with
other kernels such as Linux or FreeBSD. Whether the combination of GNU
libraries with external kernels is a GNU operating system with a
kernel (e.g. GNU with Linux), because the GNU collection renders the
kernel into a usable operating system as understood in modern software
development, or whether the kernel is an operating system unto itself
with a GNU layer on top (i.e. Linux with GNU), because the kernel can
operate a machine without GNU, is a matter of ongoing debate. The FSF
maintains that an operating system built using the Linux kernel and
GNU tools and utilities should be considered a variant of GNU, and
promotes the term 'GNU/Linux' for such systems (leading to the
GNU/Linux naming controversy). The GNU Project has endorsed Linux
distributions, such as gNewSense, Trisquel and Parabola
GNU/Linux-libre.

Other GNU variants which do not use the Hurd as a kernel include
Debian GNU/kFreeBSD and Debian GNU/NetBSD, bringing to fruition the
early plan of GNU on a BSD kernel.


               Copyright, GNU licenses, and stewardship               
======================================================================
The GNU Project recommends that contributors assign the copyright for
GNU packages to the Free Software Foundation, though the Free Software
Foundation considers it acceptable to release small changes to an
existing project to the public domain. However, this is not required;
package maintainers may retain copyright to the GNU packages they
maintain, though since only the copyright holder may enforce the
license used (such as the GNU GPL), the copyright holder in this case
enforces it rather than the Free Software Foundation.

For the development of needed software, Stallman wrote a license
called the GNU General Public License (first called Emacs General
Public License), with the goal to guarantee users freedom to share and
change free software. Stallman wrote this license after his experience
with James Gosling and a program called UniPress, over a controversy
around software code use in the GNU Emacs program. For most of the
80s, each GNU package had its own license: the Emacs General Public
License, the GCC General Public License, etc. In 1989, FSF published a
single license they could use for all their software, and which could
be used by non-GNU projects: the GNU General Public License (GPL).

This license is now used by most of GNU software, as well as a large
number of free software programs that are not part of the GNU Project;
it also historically has been the most commonly used free software
license (though recently challenged by the MIT license). 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 often referred to as copyleft.

In 1991, the GNU Lesser General Public License (LGPL), then known as
the Library General Public License, was written for the GNU C Library
to allow it to be linked with proprietary software. 1991 also saw the
release of version 2 of the GNU GPL. The GNU Free Documentation
License (FDL), for documentation, followed in 2000. The GPL and LGPL
were revised to version 3 in 2007, adding clauses to protect users
against hardware restrictions that prevent user to run modified
software on their own devices.

Besides GNU's packages, the GNU Project's licenses are used by many
unrelated projects, such as the Linux kernel, often used with GNU
software. A minority of the software used by most of Linux
distributions, such as the X Window System, is licensed under
permissive free software licenses.


                                 Logo                                 
======================================================================
The logo for GNU is a gnu head. Originally drawn by Etienne Suvasa, a
bolder and simpler version designed by Aurelio Heckert is now
preferred. It appears in GNU software and in printed and electronic
documentation for the GNU Project, and is also used in Free Software
Foundation materials.

The image shown here is a modified version of the official logo. It
was created by the Free Software Foundation in September 2013 to
commemorate the 30th anniversary of the GNU Project.


                           Similar projects                           
======================================================================
Over the years, collections similar to several GNU libraries were
created by different developers. Alpine Linux is notorious for not
being GNU/Linux by using musl and busybox instead of glibc and
coreutils. See the respective articles for an overview of similar
project.


                               See also                               
======================================================================



                            External links                            
======================================================================

[https://web.archive.org/web/20060209022842/http://unxutils.sourceforge.net/
Ports of GNU utilities for Microsoft Windows]

[https://web.archive.org/web/20070927191823/http://www.verbumvanum.org/pesalus/
The daemon, the GNU and the penguin]


 License 
=========
All content on Gopherpedia comes from Wikipedia, and is licensed under CC-BY-SA
License URL: http://creativecommons.org/licenses/by-sa/3.0/
Original Article: http://en.wikipedia.org/wiki/GNU


.