GNU

From Wikipedia for FEVERv2
Jump to navigation Jump to search

This article is about the free software project. GNU_sentence_0

For the animal, see Wildebeest. GNU_sentence_1

For the emergency coalition, see government of national unity. GNU_sentence_2

For other uses, see GNU (disambiguation). GNU_sentence_3

GNU_table_infobox_0

GNUGNU_table_caption_0
DeveloperGNU_header_cell_0_0_0 CommunityGNU_cell_0_0_1
Written inGNU_header_cell_0_1_0 Various (notably C and assembly language)GNU_cell_0_1_1
OS familyGNU_header_cell_0_2_0 Unix-likeGNU_cell_0_2_1
Working stateGNU_header_cell_0_3_0 CurrentGNU_cell_0_3_1
Source modelGNU_header_cell_0_4_0 Free softwareGNU_cell_0_4_1
Latest previewGNU_header_cell_0_5_0 0.401 (1 April 2011)

RGNU_cell_0_5_1

Marketing targetGNU_header_cell_0_6_0 Personal computers, mobile devices, embedded devices, servers, mainframes, supercomputersGNU_cell_0_6_1
PlatformsGNU_header_cell_0_7_0 IA-32 (with Hurd kernel only) and Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, Itanium, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa (with Linux-libre kernel only)GNU_cell_0_7_1
Kernel typeGNU_header_cell_0_8_0 Microkernel (GNU Hurd) or Monolithic kernel (GNU Linux-libre, fork of Linux)GNU_cell_0_8_1
UserlandGNU_header_cell_0_9_0 GNUGNU_cell_0_9_1
LicenseGNU_header_cell_0_10_0 GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDGGNU_cell_0_10_1
Official websiteGNU_header_cell_0_11_0 GNU_cell_0_11_1

GNU (/ɡnuː/ (listen)) is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. GNU_sentence_4

The use of the completed GNU tools led to the family of operating systems popularly known as Linux. GNU_sentence_5

Most of GNU is licensed under the GNU Project's own General Public License (GPL). GNU_sentence_6

GNU is also the project within which the free software concept originated. GNU_sentence_7

Richard Stallman, the founder of the project, views GNU as a "technical means to a social end". GNU_sentence_8

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". GNU_sentence_9

Name GNU_section_0

GNU is a recursive acronym for "GNU's Not Unix! GNU_sentence_10

", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code. GNU_sentence_11

History GNU_section_1

Development of the GNU operating system was initiated by Richard Stallman while he worked at MIT Artificial Intelligence Laboratory. GNU_sentence_12

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. GNU_sentence_13

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. GNU_sentence_14

Richard Stallman chose the name by using various plays on words, including the song The Gnu. GNU_sentence_15

The goal was to bring a completely free software operating system into existence. GNU_sentence_16

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. GNU_sentence_17

This philosophy was later published as the GNU Manifesto in March 1985. GNU_sentence_18

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. GNU_sentence_19

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. GNU_sentence_20

At the time, Unix was already a popular proprietary operating system. GNU_sentence_21

The design of Unix was modular, so it could be reimplemented piece by piece. GNU_sentence_22

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). GNU_sentence_23

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. GNU_sentence_24

In October 1985, Stallman set up the Free Software Foundation (FSF). GNU_sentence_25

In the late 1980s and 1990s, the FSF hired software developers to write the software needed for GNU. GNU_sentence_26

As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. GNU_sentence_27

The most prominent and successful of these was Cygnus Solutions, now part of Red Hat. GNU_sentence_28

Components GNU_section_2

Main article: List of GNU packages GNU_sentence_29

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_sentence_30

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. GNU_sentence_31

Many GNU programs have been ported to other operating systems, including proprietary platforms such as Microsoft Windows and macOS. GNU_sentence_32

GNU programs have been shown to be more reliable than their proprietary Unix counterparts. GNU_sentence_33

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

GNU as an operating system GNU_section_3

Main article: GNU variants GNU_sentence_35

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. GNU_sentence_36

In modern terminology used by software developers, the collection of these functions is usually referred to as a kernel, while an 'operating system' is expected to have a more extensive set of programmes. GNU_sentence_37

The GNU project maintains two kernels itself, allowing the creation of pure GNU operating systems, but the GNU toolchain is also used with non-GNU kernels. GNU_sentence_38

Due to the two different definitions of the term 'operating system', there is an ongoing debate concerning the naming of distributions of GNU packages with a non-GNU kernel. GNU_sentence_39

(See below.) GNU_sentence_40

With kernels maintained by GNU and FSF GNU_section_4

GNU Hurd GNU_section_5

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

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. GNU_sentence_42

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

Linux-libre GNU_section_6

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. GNU_sentence_44

The GNU Project has endorsed Linux-libre distributions, such as gNewSense, Trisquel and Parabola GNU/Linux-libre. GNU_sentence_45

With non-GNU kernels GNU_section_7

Because of the development status of Hurd, GNU is usually paired with other kernels such as Linux or FreeBSD. GNU_sentence_46

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. GNU_sentence_47

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). GNU_sentence_48

This view is not exclusive to the FSF. GNU_sentence_49

Notably, Debian, one of the biggest and oldest Linux distributions, refers to itself as Debian GNU/Linux. GNU_sentence_50

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

Copyright, GNU licenses, and stewardship GNU_section_8

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. GNU_sentence_52

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. GNU_sentence_53

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. GNU_sentence_54

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. GNU_sentence_55

For most of the 80s, each GNU package had its own license: the Emacs General Public License, the GCC General Public License, etc. GNU_sentence_56

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). GNU_sentence_57

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). GNU_sentence_58

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. GNU_sentence_59

This idea is often referred to as copyleft. GNU_sentence_60

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. GNU_sentence_61

1991 also saw the release of version 2 of the GNU GPL. GNU_sentence_62

The GNU Free Documentation License (FDL), for documentation, followed in 2000. GNU_sentence_63

The GPL and LGPL were revised to version 3 in 2007, adding clauses to protect users against hardware restrictions that prevent users from running modified software on their own devices. GNU_sentence_64

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. GNU_sentence_65

A minority of the software used by most of Linux distributions, such as the X Window System, is licensed under permissive free software licenses. GNU_sentence_66

Logo GNU_section_9

The logo for GNU is a gnu head. GNU_sentence_67

Originally drawn by Etienne Suvasa, a bolder and simpler version designed by Aurelio Heckert is now preferred. GNU_sentence_68

It appears in GNU software and in printed and electronic documentation for the GNU Project, and is also used in Free Software Foundation materials. GNU_sentence_69

The image shown here is a modified version of the official logo. GNU_sentence_70

It was created by the Free Software Foundation in September 2013 to commemorate the 30th anniversary of the GNU Project. GNU_sentence_71

See also GNU_section_10

GNU_unordered_list_0


Credits to the contents of this page go to the authors of the corresponding Wikipedia page: en.wikipedia.org/wiki/GNU.