GNU: Difference between revisions

From Wikipedia
Jump to navigation Jump to search
imported>Piñanana
External links: https://web.archive.org/web/19990116230441/http://prep.ai.mit.edu/ = www.gnu.org
 
imported>Aoidh
GNU/Linux: Commoname.
 
Line 19: Line 19:
| kernel_type = [[Microkernel]] ([[GNU Hurd]]) or [[Monolithic kernel]] (GNU [[Linux-libre]], fork of [[Linux kernel|Linux]])
| kernel_type = [[Microkernel]] ([[GNU Hurd]]) or [[Monolithic kernel]] (GNU [[Linux-libre]], fork of [[Linux kernel|Linux]])
| license = [[GNU General Public License|GNU GPL]], [[GNU Lesser General Public License|GNU LGPL]], [[GNU Affero General Public License|GNU AGPL]], [[GNU Free Documentation License|GNU FDL]], [[GNU Project#GNU Free System Distribution Guidelines|GNU FSDG]]<ref>{{cite web | url = https://www.gnu.org/licenses/ |title = GNU Licenses}}</ref><ref>{{cite web | url = https://www.gnu.org/distros/free-system-distribution-guidelines.html |title = GNU FSDG}}</ref>
| license = [[GNU General Public License|GNU GPL]], [[GNU Lesser General Public License|GNU LGPL]], [[GNU Affero General Public License|GNU AGPL]], [[GNU Free Documentation License|GNU FDL]], [[GNU Project#GNU Free System Distribution Guidelines|GNU FSDG]]<ref>{{cite web | url = https://www.gnu.org/licenses/ |title = GNU Licenses}}</ref><ref>{{cite web | url = https://www.gnu.org/distros/free-system-distribution-guidelines.html |title = GNU FSDG}}</ref>
| website = {{URL|https://www.gnu.org/home.en.html|gnu.org}}
| programmed in = Various languages (notably [[C (programming language)|C]] and [[assembly language]])
| programmed in = Various languages (notably [[C (programming language)|C]] and [[assembly language]])
| working_state = Current
| working_state = Current
| supported_platforms = [[IA-32]] (with [[Hurd]] kernel only) and [[DEC Alpha|Alpha]], [[Synopsys ARC|ARC]], [[ARM architecture family|ARM]], [[AVR32]], [[Blackfin]], [[C6x]], [[ETRAX CRIS]], [[FR-V]], [[H8/300]], [[Qualcomm Hexagon|Hexagon]], [[Itanium]], [[M32R]], [[m68k]], [[Imagination META|META]], [[MicroBlaze]], [[MIPS architecture|MIPS]], [[MN103]], [[OpenRISC]], [[PA-RISC]], [[PowerPC]], [[IB ESA/390|s390]], [[S+core]], [[SuperH]], [[SPARC]], [[TILE64]], [[Unicore32]], [[x86]], [[Xtensa]], [[RISC-V]] <!-- Do not include 64 bit extensions of 32 bit ISAs, e.g. sparc64, ppc64, x86-64 &c. --> (with [[Linux-libre]] kernel only)
| supported_platforms = [[DEC Alpha|Alpha]], [[Synopsys ARC|ARC]], [[ARM architecture family|ARM]], [[AVR32]], [[Blackfin]], [[C6x]], [[ETRAX CRIS]], [[FR-V]], [[H8/300]], [[IA-32]]/[[x86-64]], [[Qualcomm Hexagon|Hexagon]], [[Itanium]], [[M32R]], [[m68k]], [[Imagination META|META]], [[MicroBlaze]], [[MIPS architecture|MIPS]], [[MN103]], [[OpenRISC]], [[PA-RISC]], [[PowerPC]], [[ESA/390|s390]]/[[z/Architecture|s390x]], [[S+core]], [[SuperH]], [[SPARC]], [[TILE64]], [[Unicore32]], [[Xtensa]], [[RISC-V]] <!-- Do not include 64 bit extensions of 32 bit ISAs, e.g. sparc64, ppc64, x86-64 &c. --> (with [[Linux-libre]] kernel only)
}}
}}


Line 33: Line 32:
| access-date = 2022-01-09
| access-date = 2022-01-09
| publisher=Free Software Foundation, Inc
| publisher=Free Software Foundation, Inc
}}</ref> which can be used as an [[operating system]] or can be used in parts with other operating systems.<ref name="handbookonopensource" /><ref>{{cite web | url =https://www.gnu.org/gnu/manifesto.html | title = GNU Manifesto |publisher = FSF | work = GNU project |access-date= 2011-07-27}}</ref><ref>{{cite book | url= https://archive.org/details/cathedralbaz00raym | url-access= registration | title = The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary | publisher= "O'Reilly Media, Inc." | pages = [https://archive.org/details/cathedralbaz00raym/page/10 10]–12 | isbn= 978-0-59600108-7 | last = Raymond | first =Eric | date = 2001-02-01}}</ref> The use of the completed GNU tools led to the family of operating systems popularly known as [[Linux]].<ref>{{Cite web|title=1.2. What is GNU/Linux?|url=https://www.debian.org/releases/stable/amd64/ch01s02.en.html|access-date=2024-06-07|website=www.debian.org}}</ref> Most of GNU is licensed under the [[GNU Project]]'s own General Public License ([[GNU General Public License|GPL]]).
}}</ref> which can be used as an [[operating system]] or can be used in parts with other operating systems.<ref name="handbookonopensource" /><ref>{{cite web | url =https://www.gnu.org/gnu/manifesto.html | title = GNU Manifesto |publisher = FSF | work = GNU project |access-date= 2011-07-27}}</ref><ref>{{cite book | url= https://archive.org/details/cathedralbaz00raym | url-access= registration | title = The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary | publisher= O'Reilly Media, Inc. | pages = [https://archive.org/details/cathedralbaz00raym/page/10 10]–12 | isbn= 978-0-59600108-7 | last = Raymond | first =Eric | date = 2001-02-01}}</ref> Most of GNU is licensed under the [[GNU Project]]'s own General Public License ([[GNU General Public License|GPL]]).


[[File:Richard Stallman - Fête de l'Humanité 2014 - 010.jpg|thumb|upright|[[Richard Stallman]], founder of the GNU project]]
[[File:Richard Stallman - Fête de l'Humanité 2014 - 010.jpg|thumb|upright|alt=Richard Stallman|[[Richard Stallman]], founder of the GNU project]]


GNU is also the project within which the [[free software]] concept originated. [[Richard Stallman]], the founder of the project, views GNU as a "technical means to a social end".<ref>{{Citation | contribution = KTH | publisher = FSF | title = Philosophy | series = GNU | contribution-url = https://www.gnu.org/philosophy/stallman-kth.html | first = Richard | last = Stallman | type = speech | place = Stockholm, Sweden | year = 1986}}.</ref> 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".<ref>{{Cite book|url=https://www.openisbn.com/isbn/9781441436856/|title=Free Software, Free Society: Selected Essays Of Richard M. Stallman|isbn=9781441436856|access-date=2016-03-24|last1=Stallman|first1=Richard M.|last2=Gay|first2=Joshua|date=December 2009|publisher=CreateSpace Independent Publishing Platform }}</ref>
GNU is also the project within which the [[free software]] concept originated. [[Richard Stallman]], the founder of the project, views GNU as a "technical means to a social end".<ref>{{Citation | contribution = KTH | publisher = FSF | title = Philosophy | series = GNU | contribution-url = https://www.gnu.org/philosophy/stallman-kth.html | first = Richard | last = Stallman | type = speech | place = Stockholm, Sweden | year = 1986}}.</ref> 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".<ref>{{Cite book|url=https://www.openisbn.com/isbn/9781441436856/|title=Free Software, Free Society: Selected Essays Of Richard M. Stallman|isbn=9781441436856|access-date=2016-03-24|last1=Stallman|first1=Richard M.|last2=Gay|first2=Joshua|date=December 2009|publisher=CreateSpace Independent Publishing Platform }}</ref>
Line 43: Line 42:


== History ==
== History ==
Before the 1980s there existed a widespread practice of sharing software in ways similar to what is now considered [[free software]] where the participants are free to share copies of the software. Richard Stallman was a part of a group of developers at the [[MIT Computer Science and Artificial Intelligence Laboratory|MIT Artificial Intelligence Laboratory]] working on the [[Incompatible Timesharing System]], an operating system which was effectively developed as what is now seen as [[free software]].<ref name=":0">{{Cite web |title=Untitled Document |url=https://cs.stanford.edu/people/eroberts/courses/cs181/projects/2000-01/open-source/gnu.htm |archive-url=https://web.archive.org/web/20190712175533/https://cs.stanford.edu/people/eroberts/courses/cs181/projects/2000-01/open-source/gnu.htm |archive-date=2019-07-12 |access-date=2026-05-10 |website=cs.stanford.edu}}</ref><ref name=":1">{{Cite web |title=Free Software: Freedom and Cooperation |url=https://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt |archive-url=https://web.archive.org/web/20151225192953/https://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt |archive-date=2015-12-25 |access-date=2026-05-10 |website=www.gnu.org}}</ref> This community soon fell to ruin however as the [[PDP-10]] platform which the operating system was developed for was discontinued. According to Stallman, what prompted him to start the GNU Project was having previously had an experience with Xerox refusing to give him access to the source code of a laser printer used at the MIT Lab, now with the realization that this community of sharing software would end and noticing the advancing spread of proprietary software which had undone the culture of sharing software that had previously existed, Richard Stallman refused to adapt by continuing with proprietary software, and he instead decided that with this skills as an operating systems programmer,<ref name=":1" /> he would begin the development of a new free software operating system and to recreate a community of sharing software that was lost, called GNU.<ref name=":0" /><ref name=":1" />
Development of the GNU software was initiated by [[Richard Stallman]] while he worked at the [[MIT Computer Science and Artificial Intelligence Laboratory|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 [[newsgroup]]s by Stallman.<ref>{{cite newsgroup |title=new UNIX implementation |first=Richard |last=Stallman |date=September 27, 1983 |newsgroup=net.unix-wizards |[email protected] |url=https://groups.google.com/group/net.unix-wizards/msg/4dadd63a976019d7 |access-date=August 18, 2008 }}</ref> 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.<ref name="intervention">{{cite book |url=https://books.google.com/books?id=jXC6H8lRjlUC |title=Inter/vention: Free Play in the Age of Electracy |first1=Jan Rune |last1=Holmevik |first2=Ian |last2=Bogost |first3=Gregory |last3=Ulmer |publisher=MIT Press |date=March 2012 |isbn=978-0-262-01705-3|pages=69–71}}</ref>
Development of the GNU software was initiated by [[Richard Stallman]] while he worked at the [[MIT Computer Science and Artificial Intelligence Laboratory|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 [[newsgroup]]s by Stallman.<ref>{{cite newsgroup |title=new UNIX implementation |first=Richard |last=Stallman |date=September 27, 1983 |newsgroup=net.unix-wizards |[email protected] |url=https://groups.google.com/group/net.unix-wizards/msg/4dadd63a976019d7 |access-date=August 18, 2008 }}</ref> 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.<ref name="intervention">{{cite book |url=https://books.google.com/books?id=jXC6H8lRjlUC |title=Inter/vention: Free Play in the Age of Electracy |first1=Jan Rune |last1=Holmevik |first2=Ian |last2=Bogost |first3=Gregory |last3=Ulmer |publisher=MIT Press |date=March 2012 |isbn=978-0-262-01705-3|pages=69–71}}</ref>


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 published as the [[GNU Manifesto]] in March 1985.<ref>{{cite journal|url=https://www.math.utah.edu/ftp/pub/tex/bib/toc/dr-dobbs-1980.html#10(3):March:1985 |journal=Dr. Dobb's Journal of Software Tools |title=The {GNU} Manifesto |volume=10 |issue=3 |pages=30 |date=March 1985 |first=Richard |last=Stallman |author-link = Richard Stallman |access-date=2011-10-18}}</ref>
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 published as the [[GNU Manifesto]] in March 1985.<ref>{{cite journal|url=https://www.math.utah.edu/ftp/pub/tex/bib/toc/dr-dobbs-1980.html#10(3):March:1985 |journal=Dr. Dobb's Journal of Software Tools |title=The {GNU} Manifesto |volume=10 |issue=3 |pages=30 |date=March 1985 |first=Richard |last=Stallman |author-link = Richard Stallman |access-date=2011-10-18}}</ref>


Richard Stallman's experience with the [[Incompatible Timesharing System]] (ITS),<ref name="intervention" /> 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 [[porting|portable]] system was necessary.<ref name="rms-zagreb-talk" />{{rp|at=40:52|}}<ref name="opensource2.0">{{cite book |url=https://archive.org/details/opensources2.000diborich |title=Open Sources 2.0: The Continuing Evolution |publisher="O'Reilly Media, Inc." |first1=Chris |last1=DiBona |first2=Mark |last2=Stone |first3=Danese |last3=Cooper |date=October 2005 |pages=[https://archive.org/details/opensources2.000diborich/page/n79 38]–40 |isbn=9780596008024}}</ref> It was thus decided that the development would be started using [[C (programming language)|C]] and [[Lisp (programming language)|Lisp]] as system programming languages,<ref>{{cite web|url=https://laurel.datsi.fi.upm.es/~ssoo/IG/download/timeline.html|title=Timeline of GNU/Linux and Unix|quote=Both C and Lisp will be available as system programming languages.}}</ref> and that GNU would be compatible with Unix.<ref>{{cite book |url=https://books.google.com/books?id=53zaxy423xcC|title=Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source)|date=November 2008|pages=177–178 |isbn=9781430210436 |last1=Seebach |first1=Peter|publisher=Apress }}</ref> At the time, Unix was already a popular [[proprietary software|proprietary]] operating system. The design of Unix was modular, so it could be reimplemented piece by piece.<ref name="opensource2.0" />
Richard Stallman's experience with the [[Incompatible Timesharing System]] (ITS),<ref name="intervention" /> 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 [[porting|portable]] system was necessary.<ref name="rms-zagreb-talk" />{{rp|at=40:52|}}<ref name="opensource2.0">{{cite book |url=https://archive.org/details/opensources2.000diborich |title=Open Sources 2.0: The Continuing Evolution |publisher=O'Reilly Media, Inc. |first1=Chris |last1=DiBona |first2=Mark |last2=Stone |first3=Danese |last3=Cooper |date=October 2005 |pages=[https://archive.org/details/opensources2.000diborich/page/n79 38]–40 |isbn=9780596008024}}</ref> It was thus decided that the development would be started using [[C (programming language)|C]] and [[Lisp (programming language)|Lisp]] as system programming languages,<ref>{{cite web|url=https://laurel.datsi.fi.upm.es/~ssoo/IG/download/timeline.html|title=Timeline of GNU/Linux and Unix|quote=Both C and Lisp will be available as system programming languages.}}</ref> and that GNU would be compatible with Unix.<ref>{{cite book |url=https://books.google.com/books?id=53zaxy423xcC|title=Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source)|date=November 2008|pages=177–178 |isbn=9781430210436 |last1=Seebach |first1=Peter|publisher=Apress }}</ref> At the time, Unix was already a popular [[proprietary software|proprietary]] operating system. The design of Unix was modular, so it could be reimplemented piece by piece.<ref name="opensource2.0" />


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 (kernel)|Mach]] microkernel that forms the basis of the [[GNU Mach]] core of [[GNU Hurd]] (the official kernel of GNU).<ref name="linuxinterface">{{cite book |url=https://books.google.com/books?id=Ps2SH727eCIC|title=The Linux Programming Interface: A Linux and UNIX System Programming Handbook|pages=5–6|date=October 2010 |isbn=9781593272203 |last1=Kerrisk |first1=Michael|publisher=No Starch Press }}</ref> 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,<ref name="cygnus">{{cite book |url=https://archive.org/details/isbn_9781565925823 |title=Open Sources: Voices from the Open Source Revolution |publisher=O'Reilly & Associates, Inc. |date=January 1999 |isbn=978-1-56592-582-3 }}</ref> 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.<ref>{{cite book |url=https://books.google.com/books?id=LlCnYt2snHYC |title=The Software Industry | pages=187–196 |isbn=9783642315091 |last1=Buxmann |first1=Peter |last2=Diefenbach |first2=Heiner |last3=Hess |first3=Thomas |date=2012-09-30|publisher=Springer }}</ref><ref>{{cite book |url=https://books.google.com/books?id=50maN7VmpusC | title=Practical UNIX and Internet Security, 3rd Edition | publisher=O'Reilly & Associates, Inc. |date=February 2003 | page=18 |isbn=9781449310127}}</ref>
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 (kernel)|Mach]] microkernel that forms the basis of the [[GNU Mach]] core of [[GNU Hurd]] (the official kernel of GNU).<ref name="linuxinterface">{{cite book |url=https://books.google.com/books?id=Ps2SH727eCIC|title=The Linux Programming Interface: A Linux and UNIX System Programming Handbook|pages=5–6|date=October 2010 |isbn=9781593272203 |last1=Kerrisk |first1=Michael|publisher=No Starch Press }}</ref> 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,<ref name="cygnus">{{cite book |url=https://archive.org/details/isbn_9781565925823 |title=Open Sources: Voices from the Open Source Revolution |publisher=O'Reilly & Associates, Inc. |date=January 1999 |isbn=978-1-56592-582-3 }}</ref> 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.<ref>{{cite book |url=https://books.google.com/books?id=LlCnYt2snHYC |title=The Software Industry | pages=187–196 |isbn=9783642315091 |last1=Buxmann |first1=Peter |last2=Diefenbach |first2=Heiner |last3=Hess |first3=Thomas |date=2012-09-30|publisher=Springer }}</ref><ref>{{cite book |url=https://books.google.com/books?id=50maN7VmpusC | title=Practical UNIX and Internet Security, 3rd Edition | publisher=O'Reilly & Associates, Inc. |date=February 2003 | page=18 |isbn=9781449310127}}</ref>
Line 65: Line 66:
{{Main|GNU variants}}
{{Main|GNU variants}}


In its [[History of operating systems#Background|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 scheduler|task scheduling]] and [[system call]]s. In modern terminology used by software developers, the collection of these functions is usually referred to as a [[operating system kernel|kernel]], while an 'operating system' is expected to have a more extensive set of programs. 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. Due to the two different definitions of the term 'operating system', there is an ongoing [[GNU/Linux naming controversy|debate concerning the naming of distributions of GNU packages with a non-GNU kernel]]. (See below.)
=== Hurd ===
The original kernel of GNU Project is the [[GNU Hurd]] (together with the [[GNU Mach]] microkernel), which was the original focus of the [[Free Software Foundation]] (FSF).<ref name="handbookonopensource" /><ref name="computerworld">Vaughan-Nichols, Steven J. "[https://www.computerworld.com/s/article/9131178/Opinion_The_top_10_operating_system_stinkers Opinion: The top 10 operating system stinkers]", ''[[Computerworld]]'', April 9, 2009: "... after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. ... Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."</ref><ref name="Hillesley">{{Citation | last = Hillesley | first = Richard | newspaper = The H | url = https://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html | edition = online | title = GNU HURD: Altered visions and lost promise | date = June 30, 2010 | page = [https://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html?page=3 3] | quote = Nearly twenty years later the HURD has still to reach maturity, and has never achieved production quality. ... Some of us are still wishing and hoping for the real deal, a GNU operating system with a GNU kernel.}}</ref><ref>{{cite book |last1=Lessig |first1=Lawrence |title=The Future of Ideas: The Fate of the Commons in a Connected World |date=2001 |publisher=Random House |isbn=978-0-375-50578-2 |url=https://archive.org/details/futureo_les_2001_00_1645|url-access=registration |page=[https://archive.org/details/futureo_les_2001_00_1645/page/54 54] |quote=He had mixed all of the ingredients needed for an operating system to function, but he was missing the core.}}</ref> With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro,<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Debian-GNU-Hurd-2015|title=Debian GNU/Hurd 2015 Released – Phoronix|website=www.phoronix.com|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://lists.debian.org/debian-hurd/2015/04/msg00047.html|title=Debian GNU/Hurd 2015 released!|website=lists.debian.org|access-date=2016-03-24}}</ref> GNU now provides all required components to assemble an operating system that users can install and use on a computer.<ref name="status">{{Cite web|url=https://www.gnu.org/software/hurd/hurd/status.html|title=status|website=www.gnu.org|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://www.debian.org/ports/hurd/|title=Debian – Debian GNU/Hurd|website=www.debian.org|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://www.debian.org/ports/hurd/hurd-install|title=Debian – Debian GNU/Hurd – Configuration|website=www.debian.org|access-date=2016-03-24}}</ref> However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.<ref>{{Citation | url=https://www.gnu.org/software/hurd/hurd/status.html | publisher = Free Software Foundation | title = Status | access-date = 2017-04-24 | date = 2015-05-03}}</ref><ref name="status" />


=== With kernels maintained by GNU and FSF ===
=== Linux ===
[[File:Parabola12.png|thumb|[[Parabola GNU/Linux-libre]], an example of an FSF approved distribution that uses a [[rolling release]] model]]
[[File:Parabola12.png|thumb|[[Parabola GNU/Linux-libre]], an example of an FSF approved distribution that uses a [[rolling release]] model]][[File:Trisquel 11.0.png|thumb|[[Trisquel]], an example of an [[List of GNU/Linux distributions endorsed by the Free Software Foundation|FSF approved distribution]]]]


==== GNU Hurd ====
Because of the development status of Hurd, GNU is usually paired with other kernels such as [[Linux]]<ref>{{Citation | chapter-url = https://oreilly.com/openbook/debian/book/ch01_02.html |title= Debian open book | chapter = 1.2 What is Linux? |publisher = O'Reilly |date=1991-10-05 |access-date = 2012-09-22}}</ref><ref>{{Citation | edition = 12.4 | contribution-url = https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html | contribution = What is GNU/Linux? | publisher = Canonical | title = Ubuntu Installation Guide | access-date = 2015-06-22 | archive-date = June 21, 2015 | archive-url = https://web.archive.org/web/20150621214422/https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html | url-status = dead }}</ref> or [[FreeBSD]].<ref>{{cite book|url=https://books.google.com/books?id=CHkHNChvPqIC |title=Open Source Software: Implementation and Management| page = 129| isbn= 978-1-55558320-0| last1 = Kavanagh | first1 = Paul| date = 2004-07-26|publisher=Elsevier }}</ref> A stable version (or variant) of GNU can be run by combining the GNU packages with the [[Linux kernel]], making a functional [[Unix-like]] system. The GNU Project calls this GNU/Linux, and the defining features are the combination of:
The original kernel of GNU Project is the [[GNU Hurd]] (together with the [[GNU Mach]] microkernel), which was the original focus of the [[Free Software Foundation]] (FSF).<ref name = "handbookonopensource" /><ref name = computerworld>Vaughan-Nichols, Steven J. "[https://www.computerworld.com/s/article/9131178/Opinion_The_top_10_operating_system_stinkers Opinion: The top 10 operating system stinkers]", ''[[Computerworld]]'', April 9, 2009: "... after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. ... Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."</ref><ref name= Hillesley>{{Citation | last = Hillesley | first = Richard | newspaper = The H | url = https://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html | edition = online | title = GNU HURD: Altered visions and lost promise | date = June 30, 2010 | page = [https://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html?page=3 3] | quote = Nearly twenty years later the HURD has still to reach maturity, and has never achieved production quality. ... Some of us are still wishing and hoping for the real deal, a GNU operating system with a GNU kernel.}}</ref><ref>{{cite book |last1=Lessig |first1=Lawrence |title=The Future of Ideas: The Fate of the Commons in a Connected World |date=2001 |publisher=Random House |isbn=978-0-375-50578-2 |url=https://archive.org/details/futureo_les_2001_00_1645|url-access=registration |page=[https://archive.org/details/futureo_les_2001_00_1645/page/54 54] |quote=He had mixed all of the ingredients needed for an operating system to function, but he was missing the core.}}</ref>


With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro,<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Debian-GNU-Hurd-2015|title=Debian GNU/Hurd 2015 Released – Phoronix|website=www.phoronix.com|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://lists.debian.org/debian-hurd/2015/04/msg00047.html|title=Debian GNU/Hurd 2015 released!|website=lists.debian.org|access-date=2016-03-24}}</ref> GNU now provides all required components to assemble an operating system that users can install and use on a computer.<ref name="status">{{Cite web|url=https://www.gnu.org/software/hurd/hurd/status.html|title=status|website=www.gnu.org|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://www.debian.org/ports/hurd/|title=Debian – Debian GNU/Hurd|website=www.debian.org|access-date=2016-03-24}}</ref><ref>{{Cite web|url=https://www.debian.org/ports/hurd/hurd-install|title=Debian – Debian GNU/Hurd – Configuration|website=www.debian.org|access-date=2016-03-24}}</ref>
* GNU packages<ref name="gnu_packages">{{cite web | url=https://www.gnu.org/software/software.html#allgnupkgs | title = All GNU packages | access-date = 2014-04-18 |url-status=live|archive-url=https://web.archive.org/web/20151225191933/http://www.gnu.org/software/software.html#allgnupkgs|archive-date=2015-12-25|work=gnu.org}}</ref><ref name="gnu_packages_fsf">[http://directory.fsf.org/wiki/GNU GNU @ Free Software Directory] {{Webarchive|url=https://web.archive.org/web/20151205084519/http://directory.fsf.org/wiki/GNU|date=2015-12-05}} (fsf.org)</ref> (except for GNU Hurd)  The GNU packages consist of numerous operating system tools and utilities ([[Bash (Unix shell)|shell]], [[GNU Core Utilities|coreutils]], compilers, libraries, etc.)<ref name="gnu_packages" /><ref name="gnu_packages_fsf" /> including a library implementation of all of the functions specified in [[POSIX]] System Application Program Interface (POSIX.1).<ref>{{Cite web |title=POSIX – The GNU C Library|url=https://www.gnu.org/software/libc/manual/html_node/POSIX.html|url-status=live|archive-url=https://web.archive.org/web/20140424011018/http://www.gnu.org/software/libc/manual/html_node/POSIX.html|archive-date=2014-04-24|access-date=2014-04-18}}</ref><ref>[[GNU_C_Library#A_temporary_fork]]</ref> The GCC compiler can generate machine-code for a large variety of computer-architectures.<ref>[[GNU Compiler Collection#Architectures|GCC Architectures]]</ref>
* [[Linux kernel]] – this implements program scheduling, multitasking, device drivers, memory management, etc. and allows the system to run on a large [[List of Linux-supported computer architectures|variety of computer-architectures]].<ref>{{Cite web |title=The Linux Kernel Archives|url=https://www.kernel.org/#whatislinux|url-status=live|archive-url=https://web.archive.org/web/20110221140221/http://www.kernel.org/#whatislinux|archive-date=2011-02-21|access-date=2016-07-25}}</ref> [[Linus Torvalds]] released the [[Linux kernel]] under the [[GNU General Public License]] in 1992;<ref name="linux_free">{{Cite web |url=http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.12 |title=Release Notes for Linux v0.12|url-status=live|archive-url=https://web.archive.org/web/20130526191714/http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.12|archive-date=2013-05-26|access-date=2012-12-24}}</ref> it is however not part of the GNU Project.<ref>[https://www.gnu.org/gnu/gnu-linux-faq.html#allgpled Should the GNU/name convention be applied to all programs that are GPL'ed?] {{Webarchive|url=https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html#allgpled|date=2013-09-07}} GNU/Linux FAQ by Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.html#whyslash Why do you write "GNU/Linux" instead of "GNU Linux"?] {{Webarchive|url=https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html#whyslash|date=2013-09-07}} GNU/Linux FAQ by Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.html#claimlinux Isn't it wrong for us to label Linus Torvalds' work as GNU?] {{Webarchive|url=https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html#claimlinux|date=2013-09-07}} GNU/Linux FAQ by Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.html#linusagreed Does Linus Torvalds agree that Linux is just the kernel?] {{Webarchive|url=https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html#linusagreed|date=2013-09-07}} GNU/Linux FAQ by Richard Stallman</ref>
* non-GNU programs – various free software packages which are not a part of the GNU Project but are released under the [[GNU General Public License]] or another [[Free software license#FSF-approved .22free software.22 licenses|FSF-approved Free Software License]].


However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.<ref>{{Citation | url=https://www.gnu.org/software/hurd/hurd/status.html | publisher = Free Software Foundation | title = Status | access-date = 2017-04-24 | date = 2015-05-03}}</ref><ref name="status" />
Within the GNU website, a list of projects is laid out and each project has specifics for what type of developer is able to perform the task needed for a certain piece of the GNU Project. The skill level ranges from project to project but anyone with background knowledge in programming is encouraged to support the project.
 
The packaging of GNU tools, together with the Linux kernel and other programs, is usually called a [[Linux distribution]] (distro). The GNU Project calls the combination of GNU and the Linux kernel "GNU/Linux", and asks others to do the same,<ref>{{Cite web |title=Why do you call it GNU/Linux and not Linux?|url=https://www.gnu.org/gnu/gnu-linux-faq.html#why|url-status=live|archive-url=https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html#why|archive-date=2013-09-07|access-date=2014-04-18}}</ref> resulting in the [[GNU/Linux naming controversy]].
 
Most Linux distros combine GNU packages with a Linux kernel which contains proprietary [[binary blobs]].<ref name=":02">{{cite web |title=Explaining Why We Don't Endorse Other Systems|url=https://www.gnu.org/distros/common-distros.html|url-status=live|archive-url=https://web.archive.org/web/20110424061731/http://www.gnu.org/distros/common-distros.html|archive-date=2011-04-24|access-date=2016-07-22|work=GNU}}</ref>


==== Linux-libre ====
In 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.<ref>{{cite web | url= https://directory.fsf.org/wiki/GNU_Linux-libre |title = GNU Linux-libre | date = 2012-12-17 | access-date = 2013-02-09}}</ref>
In 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.<ref>{{cite web | url= https://directory.fsf.org/wiki/GNU_Linux-libre |title = GNU Linux-libre | date = 2012-12-17 | access-date = 2013-02-09}}</ref>
The GNU Project has endorsed Linux-libre distributions, such as [[Trisquel]], [[Parabola GNU/Linux-libre]], [[PureOS]] and [[GNU Guix System]].<ref>{{Citation | contribution-url = https://www.gnu.org/distros/free-distros.html | contribution = List of Free GNU/Linux Distributions | title = GNU Project | publisher = Free Software Foundation (FSF)}}.</ref>
The GNU Project has endorsed Linux-libre distributions, such as [[Trisquel]], [[Parabola GNU/Linux-libre]], [[PureOS]] and [[GNU Guix System]].<ref>{{Citation | contribution-url = https://www.gnu.org/distros/free-distros.html | contribution = List of Free GNU/Linux Distributions | title = GNU Project | publisher = Free Software Foundation (FSF)}}.</ref>


=== With non-GNU kernels ===
== GNU/Linux naming controversy ==
[[File:Trisquel 11.0.png|thumb|[[Trisquel]], an example of an [[List of GNU/Linux distributions endorsed by the Free Software Foundation|FSF approved distribution]]]]
{{Main|GNU/Linux naming controversy}}
 
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 [[GNU variants|variant of GNU]], and promotes the term ''GNU/Linux'' for such systems (leading to the [[GNU/Linux naming controversy]]). This view is not exclusive to the FSF.<ref>{{cite newsgroup | url = https://groups.google.com/group/comp.os.linux.misc/msg/1241a2919efc4bc3 | title = Linux is a GNU system and the DWARF support | newsgroup = comp.os.linux.misc | date = 8 September 1994 | first = Matt | last = Welsh | access-date = 3 February 2008 | quote = RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.}}</ref><ref>{{cite web|last=Proffitt |first = Brian |url=https://www.itworld.com/it-managementstrategy/285750/debian-gnulinux-seeks-alignment-free-software-foundation | title =Debian GNU/Linux seeks alignment with Free Software Foundation | work =ITworld | date =2012-07-12 |access-date= 2012-09-22|archive-url=https://web.archive.org/web/20120715071950/https://www.itworld.com/it-managementstrategy/285750/debian-gnulinux-seeks-alignment-free-software-foundation|archive-date=15 Jul 2012}}</ref><ref>{{cite web|url= https://www.tldp.org/LDP/sag/html/gnu-or-not.html |title= 1.1. Linux or GNU/Linux, that is the question | work = SAG | publisher= TLDP | access-date = 2012-09-22|archive-url=https://web.archive.org/web/20051230200658/https://www.tldp.org/LDP/sag/html/gnu-or-not.html|archive-date=30 Dec 2005}}</ref><ref>{{Cite web|url=https://ccm.net/faq/478-gnu-operating-system|title=GNU Operating System – CCM FAQ|website=CCM|language=en|access-date=2018-04-08|quote=GNU is an operating system that offers a set of free open source programs.|archive-date=December 15, 2019|archive-url=https://web.archive.org/web/20191215074114/https://ccm.net/faq/478-gnu-operating-system|url-status=dead}}</ref><ref>{{Cite web|url=https://www.snom.com/footer/source-code-gpl-open-source/|title=Source Code & GPL Open Source|last=Snom Technology|website=www.snom.com|language=en|access-date=2018-04-08|quote=Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called "GNU/Linux systems".|archive-date=April 9, 2018|archive-url=https://web.archive.org/web/20180409044219/https://www.snom.com/footer/source-code-gpl-open-source/|url-status=dead}}</ref> Notably, [[Debian]], one of the biggest and oldest Linux distributions, refers to itself as ''Debian GNU/Linux''.<ref>{{cite web| url = https://www.debian.org/doc/manuals/debian-faq/basic-defs.en.html#whatisdebian| title = Chapter 1. Definitions and overview}}</ref>
Because of the development status of Hurd, GNU is usually paired with other kernels such as [[Linux]]<ref>{{Citation | chapter-url = https://oreilly.com/openbook/debian/book/ch01_02.html |title= Debian open book | chapter = 1.2 What is Linux? |publisher = O'Reilly |date=1991-10-05 |access-date = 2012-09-22}}</ref><ref>{{Citation | edition = 12.4 | contribution-url = https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html | contribution = What is GNU/Linux? | publisher = Canonical | title = Ubuntu Installation Guide | access-date = 2015-06-22 | archive-date = June 21, 2015 | archive-url = https://web.archive.org/web/20150621214422/https://help.ubuntu.com/lts/installation-guide/armhf/ch01s03.html | url-status = dead }}</ref> or [[FreeBSD]].<ref>{{cite book|url=https://books.google.com/books?id=CHkHNChvPqIC |title=Open Source Software: Implementation and Management| page = 129| isbn= 978-1-55558320-0| last1 = Kavanagh | first1 = Paul| date = 2004-07-26|publisher=Elsevier }}</ref> 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 [[GNU variants|variant of GNU]], and promotes the term ''GNU/Linux'' for such systems (leading to the [[GNU/Linux naming controversy]]). This view is not exclusive to the FSF.<ref>{{cite newsgroup | url = https://groups.google.com/group/comp.os.linux.misc/msg/1241a2919efc4bc3 | title = Linux is a GNU system and the DWARF support | newsgroup = comp.os.linux.misc | date = 8 September 1994 | first = Matt | last = Welsh | access-date = 3 February 2008 | quote = RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.}}</ref><ref>{{cite web|last=Proffitt |first = Brian |url=https://www.itworld.com/it-managementstrategy/285750/debian-gnulinux-seeks-alignment-free-software-foundation | title =Debian GNU/Linux seeks alignment with Free Software Foundation | work =ITworld | date =2012-07-12 |access-date= 2012-09-22}}</ref><ref>{{cite web|url= https://www.tldp.org/LDP/sag/html/gnu-or-not.html |title= 1.1. Linux or GNU/Linux, that is the question | work = SAG | publisher= TLDP | access-date = 2012-09-22}}</ref><ref>{{Cite web|url=https://ccm.net/faq/478-gnu-operating-system|title=GNU Operating System – CCM FAQ|website=CCM|language=en|access-date=2018-04-08|quote=GNU is an operating system that offers a set of free open source programs.|archive-date=December 15, 2019|archive-url=https://web.archive.org/web/20191215074114/https://ccm.net/faq/478-gnu-operating-system|url-status=dead}}</ref><ref>{{Cite web|url=https://www.snom.com/footer/source-code-gpl-open-source/|title=Source Code & GPL Open Source|last=Snom Technology|website=www.snom.com|language=en|access-date=2018-04-08|quote=Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called "GNU/Linux systems".|archive-date=April 9, 2018|archive-url=https://web.archive.org/web/20180409044219/https://www.snom.com/footer/source-code-gpl-open-source/|url-status=dead}}</ref> Notably, [[Debian]], one of the biggest and oldest Linux distributions, refers to itself as ''Debian GNU/Linux''.<ref>{{cite web| url = https://www.debian.org/doc/manuals/debian-faq/basic-defs.en.html#whatisdebian| title = Chapter 1. Definitions and overview}}</ref>
 
== Copyright, GNU licenses, and stewardship ==
The GNU Project recommends that contributors assign the copyright for GNU packages to the Free Software Foundation,<ref>{{cite web| url = https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html |title=Copyright Papers | work = Information For Maintainers of GNU Software |publisher= FSF |date=2011-06-30 | access-date =2011-07-27}}</ref><ref>{{cite web | work = GNU | url= https://www.gnu.org/licenses/why-assign.html |title=Why the FSF gets copyright assignments from contributors | publisher = FSF | date= 2011-07-15 | access-date = 2011-07-27}}</ref> though the Free Software Foundation considers it acceptable to release small changes to an existing project to the [[public domain]].<ref>{{cite web | work = GNU | url = https://www.gnu.org/licenses/license-recommendations.html |publisher = Free Software Foundation |title=How to choose a license for your own work | access-date =2012-07-12}}</ref> 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.<ref>{{cite web | last = Raymond | first = Eric S | url = https://www.catb.org/esr/Licensing-HOWTO.html | title = Licensing HOWTO | publisher = CatB | date = 2002-11-09 | access-date = 2012-09-22 | archive-date = February 15, 2022 | archive-url = https://web.archive.org/web/20220215060436/https://www.catb.org/esr/Licensing-HOWTO.html | url-status = dead }}</ref>
 
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.<ref>{{Citation | title = Old licenses | series = GNU | publisher = FSF | contribution-url = https://www.gnu.org/licenses/old-licenses/gpl-1.0.txt | contribution = GPL 1.0}}.</ref> 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.<ref name = "twobits">{{cite book|chapter-url= https://books.google.com/books?id=MEmMl-tY8jEC | title = Two Bits: The Cultural Significance of Free Software | chapter = Writing Copyright Licenses | date =June 2008|isbn = 978-0-82234264-9 | last = Kelty | first = Christopher M| publisher = Duke University Press }}</ref><ref>{{Citation | url = https://www.free-soft.org/gpl_history/ | title = The History of the GNU General Public License | publisher = Free Software}}.</ref> 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).<ref name="twobits" /><ref>{{Citation | url = https://www.gnu.org/bulletins/bull5.html#SEC7 | date = Jun 11, 1998 | title = GNU's flashes | newspaper = GNU's Bulletin | volume = 1 | number = 5 | series = GNU Project | publisher = Free Software Foundation (FSF)}}.</ref>
 
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]]).<ref>{{cite web |url = https://osrc.blackducksoftware.com/data/licenses |title = Open Source License Data |work = Open Source Resource Center |publisher = Black Duck Software |access-date = September 24, 2012 |url-status = dead |archive-url = https://web.archive.org/web/20121008170109/https://osrc.blackducksoftware.com/data/licenses/ |archive-date = October 8, 2012 }}</ref><ref>{{cite web |url = https://resources.whitesourcesoftware.com/blog-whitesource/top-open-source-licenses-trends-and-predictions |title= Top Open Source Licenses in 2020: Trends and predictions |publisher = WhiteSource Software |access-date = February 19, 2020 |archive-url = https://web.archive.org/web/20200219122556/https://resources.whitesourcesoftware.com/blog-whitesource/top-open-source-licenses-trends-and-predictions |archive-date = February 19, 2020 }}</ref> 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]].<ref>{{cite book|url= https://books.google.com/books?id=c7ppFih2mSwC | title = Decoding Liberation: The Promise of Free and Open Source Software|pages= 46–52|date = August 2007|isbn=978-0-41597893-4| last1 = Chopra |first1 = Samir| last2 = Dexter | first2 = Scott| publisher = Routledge}}</ref>
 
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.<ref>{{Citation | publisher = Free BSD | url = https://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/origins-lgpl.html | title = The origins of Linux and the LGPL}}.</ref> 1991 also saw the release of version 2 of the GNU GPL. The [[GNU Free Documentation License]] (FDL), for documentation, followed in 2000.<ref>{{cite book|url= https://books.google.com/books?id=2VElII9QeakC | title = Innovation Happens Elsewhere: Open Source as Business Strategy| pages = 133–34| date = April 2005 | isbn = 978-1-55860889-4| last1 = Goldman | first1 = Ron| last2= Gabriel | first2 = Richard P| publisher = Morgan Kaufmann}}</ref> 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.<ref>{{cite book |chapter-url= https://books.google.com/books?id=gmfFsdIAejkC | title = Linux Essentials |chapter = Free Software and the GPL |year=2012 |isbn = 978-1-11819739-4 |last1=Smith |first1 = Roderick W| publisher = John Wiley & Sons }}</ref>
 
Besides GNU's packages, the GNU Project's licenses can<ref>{{Cite web |title=Frequently Asked Questions about the GNU Licenses |url=https://www.gnu.org/licenses/gpl-faq.html#DoesUsingTheGPLForAProgramMakeItGNUSoftware |access-date=May 11, 2023 |website=Gnu project}}</ref> and are used by many unrelated projects, such as the [[Linux kernel]], often used with GNU software. A majority of free software such as the X Window System,<ref>{{Cite web |date=2014-08-25 |title=COPYING · master · xorg / xserver · GitLab |url=https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING |access-date=2023-07-18 |website=GitLab |language=en}}</ref> is licensed under [[permissive free software license]]s.<ref>{{Cite web |title=Permissive vs. copyleft open source licenses 2021 |url=https://www.statista.com/statistics/1245665/worldwide-permissive-copyleft-open-source-licenses/ |access-date=2023-07-18 |website=Statista |language=en}}</ref>


== Logo ==
== Logo ==
Line 118: Line 112:
== External links ==
== External links ==
{{Commons}}
{{Commons}}
{{wikt|GNU}}


* {{Official website}}
* {{Official website}}
* [https://web.archive.org/web/19990116230441/http://prep.ai.mit.edu/ prep.ai.mit.edu] the GNU Project web server, www.gnu.org on 1999-01-16
* {{webarchive |url=https://web.archive.org/web/20001025040323/http://prep.ai.mit.edu |title=The GNU Project web server, prep.ai.mit.edu}}
* [https://web.archive.org/web/20060209022842/https://unxutils.sourceforge.net/ unxutils.sourceforge.net] Ports of GNU utilities for [[Microsoft Windows]]
* [https://unxutils.sf.net unxutils.sourceforge.net, Ports of GNU utilities] for [[Microsoft Windows]]
* [https://web.archive.org/web/20070927191823/https://www.verbumvanum.org/pesalus/ www.verbumvanum.org/pesalus] The daemon, the GNU and the penguin
* {{webarchive |url=https://web.archive.org/web/20170629022841/https://www.verbumvanum.org/pesalus/ |title=www.verbumvanum.org/pesalus, The daemon, the GNU and the penguin}}


{{Unix-like}}
{{Unix-like}}

Latest revision as of 15:59, 31 May 2026

Template:Infobox OS

GNU (/ɡn/ (Audio file "En-gnu.ogg" not found) GNOO)[1][2] is an extensive collection of free software (387 packages as of June 2025),[3] which can be used as an operating system or can be used in parts with other operating systems.[4][5][6] Most of GNU is licensed under the GNU Project's own General Public License (GPL).

Richard Stallman
Richard Stallman, founder of the GNU project

GNU is also the project within which the free software concept originated. Richard Stallman, the founder of the project, views GNU as a "technical means to a social end".[7] 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".[8]

Name

GNU is a recursive acronym for "GNU's Not Unix!",[4][9] chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code.[4][10][11] Stallman chose the name by using various plays on words, including the song "The Gnu".[2]: 45:30 

History

Before the 1980s there existed a widespread practice of sharing software in ways similar to what is now considered free software where the participants are free to share copies of the software. Richard Stallman was a part of a group of developers at the MIT Artificial Intelligence Laboratory working on the Incompatible Timesharing System, an operating system which was effectively developed as what is now seen as free software.[12][13] This community soon fell to ruin however as the PDP-10 platform which the operating system was developed for was discontinued. According to Stallman, what prompted him to start the GNU Project was having previously had an experience with Xerox refusing to give him access to the source code of a laser printer used at the MIT Lab, now with the realization that this community of sharing software would end and noticing the advancing spread of proprietary software which had undone the culture of sharing software that had previously existed, Richard Stallman refused to adapt by continuing with proprietary software, and he instead decided that with this skills as an operating systems programmer,[13] he would begin the development of a new free software operating system and to recreate a community of sharing software that was lost, called GNU.[12][13]

Development of the GNU software was initiated by Richard Stallman while he worked at the 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.[14] 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.[15]

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 published as the GNU Manifesto in March 1985.[16]

Richard Stallman's experience with the Incompatible Timesharing System (ITS),[15] 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.[2]: 40:52 [17] It was thus decided that the development would be started using C and Lisp as system programming languages,[18] and that GNU would be compatible with Unix.[19] 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.[17]

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).[20] 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,[21] 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.[22][23]

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,[21] now part of Red Hat.[24]

Components

The system's basic components include the GNU Compiler Collection (GCC), the GNU C library (glibc), and GNU Core Utilities (coreutils),[4] but also the GNU Debugger (GDB), GNU Binary Utilities (binutils),[25] and the GNU Bash shell.[20][26][27] 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.[28][better source needed]

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

As of June 2024, there are a total of 467 GNU packages (including decommissioned, 394 excluding) hosted on the official GNU development site.[33]

GNU as an operating system

Hurd

The original kernel of GNU Project is the GNU Hurd (together with the GNU Mach microkernel), which was the original focus of the Free Software Foundation (FSF).[4][34][35][36] With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro,[37][38] GNU now provides all required components to assemble an operating system that users can install and use on a computer.[39][40][41] However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.[42][39]

Linux

File:Parabola12.png
Parabola GNU/Linux-libre, an example of an FSF approved distribution that uses a rolling release model
File:Trisquel 11.0.png
Trisquel, an example of an FSF approved distribution

Because of the development status of Hurd, GNU is usually paired with other kernels such as Linux[43][44] or FreeBSD.[45] A stable version (or variant) of GNU can be run by combining the GNU packages with the Linux kernel, making a functional Unix-like system. The GNU Project calls this GNU/Linux, and the defining features are the combination of:

Within the GNU website, a list of projects is laid out and each project has specifics for what type of developer is able to perform the task needed for a certain piece of the GNU Project. The skill level ranges from project to project but anyone with background knowledge in programming is encouraged to support the project.

The packaging of GNU tools, together with the Linux kernel and other programs, is usually called a Linux distribution (distro). The GNU Project calls the combination of GNU and the Linux kernel "GNU/Linux", and asks others to do the same,[57] resulting in the GNU/Linux naming controversy.

Most Linux distros combine GNU packages with a Linux kernel which contains proprietary binary blobs.[58]

In 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.[59] The GNU Project has endorsed Linux-libre distributions, such as Trisquel, Parabola GNU/Linux-libre, PureOS and GNU Guix System.[60]

GNU/Linux naming controversy

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). This view is not exclusive to the FSF.[61][62][63][64][65] Notably, Debian, one of the biggest and oldest Linux distributions, refers to itself as Debian GNU/Linux.[66]

File:Official gnu.svg
The original GNU logo, drawn by Etienne Suvasa

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.[67][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.

File:Gnu-30-banner-without-background.svg
30th anniversary logo

There was also a modified version of the official logo. It was created by the Free Software Foundation in September 2013 in order to commemorate the 30th anniversary of the GNU Project.[69]

See also

References

  1. "What is GNU?". The GNU Operating System. Free Software Foundation. September 4, 2009. Retrieved October 9, 2009. The name ‘GNU’ is a recursive acronym for ‘GNU's Not Unix‘; it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.
  2. 2.0 2.1 2.2 Stallman, Richard (March 9, 2006). The Free Software Movement and the Future of Freedom. Zagreb, Croatia: Free Software Foundation Europe. Retrieved February 20, 2007.
  3. Stallman, Richard. "Software – GNU Project". GNU Project. Free Software Foundation, Inc. Retrieved January 9, 2022.
  4. 4.0 4.1 4.2 4.3 4.4 St. Amant, Kirk; Still, Brian (2007). Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. Information Science Reference. ISBN 978-1-59140999-1. OCLC 1028442948.
  5. "GNU Manifesto". GNU project. FSF. Retrieved July 27, 2011.
  6. Raymond, Eric (February 1, 2001). The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Reilly Media, Inc. pp. 10–12. ISBN 978-0-59600108-7.
  7. Stallman, Richard (1986), "KTH", Philosophy (speech), GNU, Stockholm, Sweden: FSF.
  8. Stallman, Richard M.; Gay, Joshua (December 2009). Free Software, Free Society: Selected Essays Of Richard M. Stallman. CreateSpace Independent Publishing Platform. ISBN 9781441436856. Retrieved March 24, 2016.
  9. "GNU's Not Unix". The free dictionary. Retrieved September 22, 2012.
  10. "The GNU Operating system". GNU project. FSF. Retrieved August 18, 2008.
  11. Marshall, Rosalie (November 17, 2008). "Q&A: Richard Stallman, founder of the GNU Project and the Free Software Foundation". AU: PC & Tech Authority. Retrieved September 22, 2012.
  12. 12.0 12.1 "Untitled Document". cs.stanford.edu. Archived from the original on July 12, 2019. Retrieved May 10, 2026.
  13. 13.0 13.1 13.2 "Free Software: Freedom and Cooperation". www.gnu.org. Archived from the original on December 25, 2015. Retrieved May 10, 2026.
  14. Stallman, Richard (September 27, 1983). "new UNIX implementation". Newsgroupnet.unix-wizards. Usenet: [email protected]. Retrieved August 18, 2008.
  15. 15.0 15.1 Holmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory (March 2012). Inter/vention: Free Play in the Age of Electracy. MIT Press. pp. 69–71. ISBN 978-0-262-01705-3.
  16. Stallman, Richard (March 1985). "The {GNU} Manifesto". Dr. Dobb's Journal of Software Tools. 10 (3): 30. Retrieved October 18, 2011.
  17. 17.0 17.1 DiBona, Chris; Stone, Mark; Cooper, Danese (October 2005). Open Sources 2.0: The Continuing Evolution. O'Reilly Media, Inc. pp. 38–40. ISBN 9780596008024.
  18. "Timeline of GNU/Linux and Unix". Both C and Lisp will be available as system programming languages.
  19. Seebach, Peter (November 2008). Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source). Apress. pp. 177–178. ISBN 9781430210436.
  20. 20.0 20.1 Kerrisk, Michael (October 2010). The Linux Programming Interface: A Linux and UNIX System Programming Handbook. No Starch Press. pp. 5–6. ISBN 9781593272203.
  21. 21.0 21.1 Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates, Inc. January 1999. ISBN 978-1-56592-582-3.
  22. Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas (September 30, 2012). The Software Industry. Springer. pp. 187–196. ISBN 9783642315091.
  23. Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003. p. 18. ISBN 9781449310127.
  24. Stephen Shankland (November 15, 1999). "Red Hat buys software firm, shuffles CEO". CNET. CBS Interactive. Retrieved March 5, 2016.
  25. "GCC & GNU Toolchains – AMD". Developer.amd.com. Archived from the original on March 16, 2015. Retrieved September 2, 2015.
  26. Matthew, Neil; Stones, Richard (April 22, 2011). "The GNU Project and the Free Software Foundation". Beginning Linux Programming. John Wiley & Sons. ISBN 9781118058619.
  27. Sowe, Sulayman K; Stamelos, Ioannis G; Samoladas, Ioannis M (May 2007). Emerging Free and Open Source Software Practices. Idea Group Inc (IGI). pp. 262–264. ISBN 9781599042107.
  28. "Linux: History and Introduction". Buzzle.com. August 25, 1991. Archived from the original on December 11, 2017. Retrieved September 22, 2012.CS1 maint: unfit URL (link)
  29. McCune, Mike (December 2000). Integrating Linux and Windows. Prentice Hall Professional. p. 30. ISBN 9780130306708.
  30. Sobell, Mark G; Seebach, Peter (2005). A Practical Guide To Unix For Mac Os X Users. Prentice Hall Professional. p. 4. ISBN 9780131863330.
  31. Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services – October 1995 – Computer Sciences Department, University of Wisconsin
  32. "An Inquiry into the Stability and Reliability of UNIX Utilities" (PDF). Archived (PDF) from the original on December 22, 2009.
  33. "Software – GNU Project". Free Software Foundation, Inc. January 13, 2016. Retrieved January 13, 2016.
  34. Vaughan-Nichols, Steven J. "Opinion: The top 10 operating system stinkers", Computerworld, April 9, 2009: "... after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. ... Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."
  35. Hillesley, Richard (June 30, 2010), "GNU HURD: Altered visions and lost promise", The H (online ed.), p. 3, Nearly twenty years later the HURD has still to reach maturity, and has never achieved production quality. ... Some of us are still wishing and hoping for the real deal, a GNU operating system with a GNU kernel.
  36. Lessig, Lawrence (2001). The Future of Ideas: The Fate of the Commons in a Connected World. Random House. p. 54. ISBN 978-0-375-50578-2. He had mixed all of the ingredients needed for an operating system to function, but he was missing the core.
  37. "Debian GNU/Hurd 2015 Released – Phoronix". www.phoronix.com. Retrieved March 24, 2016.
  38. "Debian GNU/Hurd 2015 released!". lists.debian.org. Retrieved March 24, 2016.
  39. 39.0 39.1 "status". www.gnu.org. Retrieved March 24, 2016.
  40. "Debian – Debian GNU/Hurd". www.debian.org. Retrieved March 24, 2016.
  41. "Debian – Debian GNU/Hurd – Configuration". www.debian.org. Retrieved March 24, 2016.
  42. Status, Free Software Foundation, May 3, 2015, retrieved April 24, 2017
  43. "1.2 What is Linux?", Debian open book, O'Reilly, October 5, 1991, retrieved September 22, 2012
  44. "What is GNU/Linux?", Ubuntu Installation Guide (12.4 ed.), Canonical, archived from the original on June 21, 2015, retrieved June 22, 2015
  45. Kavanagh, Paul (July 26, 2004). Open Source Software: Implementation and Management. Elsevier. p. 129. ISBN 978-1-55558320-0.
  46. 46.0 46.1 "All GNU packages". gnu.org. Archived from the original on December 25, 2015. Retrieved April 18, 2014.
  47. 47.0 47.1 GNU @ Free Software Directory Archived 2015-12-05 at the Wayback Machine (fsf.org)
  48. "POSIX – The GNU C Library". Archived from the original on April 24, 2014. Retrieved April 18, 2014.
  49. GNU_C_Library#A_temporary_fork
  50. GCC Architectures
  51. "The Linux Kernel Archives". Archived from the original on February 21, 2011. Retrieved July 25, 2016.
  52. "Release Notes for Linux v0.12". Archived from the original on May 26, 2013. Retrieved December 24, 2012.
  53. Should the GNU/name convention be applied to all programs that are GPL'ed? Archived 2013-09-07 at the Wayback Machine GNU/Linux FAQ by Richard Stallman
  54. Why do you write "GNU/Linux" instead of "GNU Linux"? Archived 2013-09-07 at the Wayback Machine GNU/Linux FAQ by Richard Stallman
  55. Isn't it wrong for us to label Linus Torvalds' work as GNU? Archived 2013-09-07 at the Wayback Machine GNU/Linux FAQ by Richard Stallman
  56. Does Linus Torvalds agree that Linux is just the kernel? Archived 2013-09-07 at the Wayback Machine GNU/Linux FAQ by Richard Stallman
  57. "Why do you call it GNU/Linux and not Linux?". Archived from the original on September 7, 2013. Retrieved April 18, 2014.
  58. "Explaining Why We Don't Endorse Other Systems". GNU. Archived from the original on April 24, 2011. Retrieved July 22, 2016.
  59. "GNU Linux-libre". December 17, 2012. Retrieved February 9, 2013.
  60. "List of Free GNU/Linux Distributions", GNU Project, Free Software Foundation (FSF).
  61. Welsh, Matt (September 8, 1994). "Linux is a GNU system and the DWARF support". Newsgroupcomp.os.linux.misc. Retrieved February 3, 2008. RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.
  62. Proffitt, Brian (July 12, 2012). "Debian GNU/Linux seeks alignment with Free Software Foundation". ITworld. Archived from the original on July 15, 2012. Retrieved September 22, 2012.
  63. "1.1. Linux or GNU/Linux, that is the question". SAG. TLDP. Archived from the original on December 30, 2005. Retrieved September 22, 2012.
  64. "GNU Operating System – CCM FAQ". CCM. Archived from the original on December 15, 2019. Retrieved April 8, 2018. GNU is an operating system that offers a set of free open source programs.
  65. Snom Technology. "Source Code & GPL Open Source". www.snom.com. Archived from the original on April 9, 2018. Retrieved April 8, 2018. Variants of the GNU operating system, which use the kernel Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called "GNU/Linux systems".
  66. "Chapter 1. Definitions and overview".
  67. "A GNU Head". Free Software Foundation (FSF). July 13, 2011. Retrieved July 27, 2011.
  68. "A Bold GNU Head". Free Software Foundation. July 13, 2011. Retrieved July 27, 2011.
  69. "GNU 30th Anniversary". Free Software Foundation. October 8, 2013. Retrieved December 15, 2014.

Template:Unix-like Template:GNU Template:FLOSS Template:Operating systems