GNU
Developer | Community |
---|---|
Written in | Various languages (notablyCandassembly language) |
OS family | Unix-like |
Working state | Current |
Source model | Free software |
Latest preview | 0.9 (18 December 2016)[±] |
Marketing target | Personal computers, mobile devices, embedded devices, servers, mainframes, supercomputers |
Platforms | IA-32(withHurdkernel only) andAlpha,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,RISC-V(withLinux-librekernel only) |
Kerneltype | Microkernel(GNU Hurd) orMonolithic kernel(GNULinux-libre,fork ofLinux) |
Userland | GNU |
License | GNU GPL,GNU LGPL,GNU AGPL,GNU FDL,GNU FSDG[1][2] |
Official website | gnu.org |
GNU(/ɡnuː/)[3][4]is an extensive collection offree software(394 packages as of June 2024[update]),[5]which can be used as an operating system or can be used in parts with other operating systems.[6][7][8]The use of the completed GNU tools led to the family of operating systems popularly known asLinux.[9]Most of GNU is licensed under theGNU Project's own General Public License (GPL).
GNU is also the project within which thefree softwareconcept originated.Richard Stallman,the founder of the project, views GNU as a "technical means to a social end".[10]Relatedly,Lawrence Lessigstates in his introduction to the second edition of Stallman's bookFree Software, Free Societythat in it Stallman has written about "the social aspects of software and how Free Software can create community and social justice".[11]
Name
[edit]GNUis arecursive acronymfor "GNU's Not Unix! ",[6][12]chosen because GNU's design isUnix-like,but differs fromUnixby being free software and containing no Unix code.[6][13][14]Stallman chose the name by using various plays on words, including the songThe Gnu.[4]: 45:30
History
[edit]Development of the GNU operating system was initiated byRichard Stallmanwhile he worked atMIT Artificial Intelligence Laboratory.It was called the GNU Project, and was publicly announced on September 27, 1983, on the net.unix-wizards and net.usoftnewsgroupsby Stallman.[15]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.[16]
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 theGNU Manifestoin March 1985.[17]
Richard Stallman's experience with theIncompatible Timesharing System(ITS),[16]an early operating system written inassembly languagethat became obsolete due to discontinuation ofPDP-10,the computer architecture for which ITS was written, led to a decision that aportablesystem was necessary.[4]: 40:52 [18]It was thus decided that the development would be started usingCandLispas system programming languages,[19]and that GNU would be compatible with Unix.[20]At the time, Unix was already a popularproprietaryoperating system. The design of Unix was modular, so it could be reimplemented piece by piece.[18]
Much of the needed software had to be written from scratch, but existing compatible third-party free software components were also used such as theTeXtypesetting system, theX Window System,and theMachmicrokernel that forms the basis of theGNU Machcore ofGNU Hurd(the official kernel of GNU).[21]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,[22]educational institutions, and other non-profit organizations. In October 1985, Stallman set up theFree Software Foundation(FSF). In the late 1980s and 1990s, the FSF hired software developers to write the software needed for GNU.[23][24]
As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. The most prominent and successful of these wasCygnus Solutions,[22]now part ofRed Hat.[25]
Components
[edit]The system's basic components include theGNU Compiler Collection(GCC), theGNU C library(glibc), andGNU Core Utilities(coreutils),[6]but also theGNU Debugger(GDB),GNU Binary Utilities(binutils),[26]and theGNU Bashshell.[21][27][28]GNU developers have contributed to Linuxportsof GNU applications and utilities, which are now also widely used on other operating systems such asBSDvariants,SolarisandmacOS.[29][better source needed]
Many GNU programs have been ported to other operating systems, includingproprietaryplatforms such asMicrosoft Windows[30]and macOS.[31]GNU programs have been shown to be more reliable than their proprietary Unix counterparts.[32][33]
As of June 2024[update],there are a total of 467 GNU packages (including decommissioned, 394 excluding) hosted on the official GNU development site.[34]
GNU as an operating system
[edit]In itsoriginal meaning,and one still common in hardware engineering, the operating system is a basic set of functions to control the hardware and manage things liketask schedulingandsystem calls.In modern terminology used by software developers, the collection of these functions is usually referred to as akernel,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 ongoingdebate concerning the naming of distributions of GNU packages with a non-GNU kernel.(See below.)
With kernels maintained by GNU and FSF
[edit]GNU Hurd
[edit]The original kernel of GNU Project is theGNU Hurd(together with theGNU Machmicrokernel), which was the original focus of theFree Software Foundation(FSF).[6][35][36][37]
With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro,[38][39]GNU now provides all required components to assemble an operating system that users can install and use on a computer.[40][41][42]
However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.[43][40]
Linux-libre
[edit]In 2012, a fork of theLinux kernelbecame officially part of the GNU Project in the form ofLinux-libre,a variant of Linux with all proprietary components removed.[44] The GNU Project has endorsed Linux-libre distributions, such asTrisquel,Parabola GNU/Linux-libre,PureOSandGNU Guix System.[45]
With non-GNU kernels
[edit]Because of the development status of Hurd, GNU is usually paired with other kernels such asLinux[46][47]orFreeBSD.[48]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 theLinux kerneland GNU tools and utilities should be considered avariant of GNU,and promotes the termGNU/Linuxfor such systems (leading to theGNU/Linux naming controversy). This view is not exclusive to the FSF.[49][50][51][52][53]Notably,Debian,one of the biggest and oldest Linux distributions, refers to itself asDebian GNU/Linux.[54]
Copyright, GNU licenses, and stewardship
[edit]The GNU Project recommends that contributors assign the copyright for GNU packages to the Free Software Foundation,[55][56]though the Free Software Foundation considers it acceptable to release small changes to an existing project to thepublic domain.[57]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.[58]
For the development of needed software, Stallman wrote a license called theGNU General Public License(first called Emacs General Public License), with the goal to guarantee users freedom to share and change free software.[59]Stallman wrote this license after his experience withJames Goslingand a program called UniPress, over a controversy around software code use in theGNU Emacsprogram.[60][61]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: theGNU General Public License(GPL).[60][62]
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 usedfree software license(though recently challenged by theMIT license).[63][64]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 ascopyleft.[65]
In 1991, theGNU Lesser General Public License(LGPL), then known as the Library General Public License, was written for theGNU C Libraryto allow it to be linked with proprietary software.[66]1991 also saw the release of version 2 of the GNU GPL. TheGNU Free Documentation License(FDL), for documentation, followed in 2000.[67]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.[68]
Besides GNU's packages, the GNU Project's licenses can[69]and are used by many unrelated projects, such as theLinux kernel,often used with GNU software. A majority of free software such as the X Window System,[70]is licensed underpermissive free software licenses.[71]
Logo
[edit]The logo for GNU is agnuhead. Originally drawn by Etienne Suvasa, a bolder and simpler version designed by Aurelio Heckert is now preferred.[72][73]It appears in GNU software and in printed and electronic documentation for the GNU Project, and is also used in Free Software Foundation materials.
There was also a modified version of the official logo. It was created by theFree Software Foundationin September 2013 in order to commemorate the 30th anniversary of theGNU Project.[74]
See also
[edit]- Free software movement
- History of free and open-source software
- List of computing mascots
- Category:Computing mascots
References
[edit]- ^"GNU Licenses".
- ^"GNU FSDG".
- ^"What is GNU?".The GNU Operating System.Free Software Foundation.September 4, 2009.RetrievedOctober 9,2009.
The name 'GNU' is arecursive acronymfor 'GNU's Not Unix'; it is pronouncedg-noo,as one syllable with no vowel sound between thegand then.
- ^abcStallman, Richard(March 9, 2006).The Free Software Movement and the Future of Freedom.Zagreb, Croatia:Free Software Foundation Europe.RetrievedFebruary 20,2007.
- ^Stallman, Richard."Software – GNU Project".GNU Project.Free Software Foundation, Inc.RetrievedJanuary 9,2022.
- ^abcdeSt. Amant, Kirk; Still, Brian (2007).Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives.Information Science Reference.ISBN978-1-59140999-1.OCLC1028442948.
- ^"GNU Manifesto".GNU project.FSF.RetrievedJuly 27,2011.
- ^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.ISBN978-0-59600108-7.
- ^"1.2. What is GNU/Linux?".debian.org.RetrievedJune 7,2024.
- ^Stallman, Richard (1986),"KTH",Philosophy(speech), GNU, Stockholm, Sweden: FSF.
- ^Stallman, Richard M.; Gay, Joshua (December 2009).Free Software, Free Society: Selected Essays Of Richard M. Stallman.CreateSpace Independent Publishing Platform.ISBN9781441436856.RetrievedMarch 24,2016.
- ^"GNU's Not Unix".The free dictionary.RetrievedSeptember 22,2012.
- ^"The GNU Operating system".GNU project.FSF.RetrievedAugust 18,2008.
- ^Marshall, Rosalie (November 17, 2008)."Q&A: Richard Stallman, founder of the GNU Project and the Free Software Foundation".AU:PC & Tech Authority.RetrievedSeptember 22,2012.
- ^Stallman, Richard (September 27, 1983)."new UNIX implementation".Newsgroup:net.unix-wizards.Usenet:[email protected].RetrievedAugust 18,2008.
- ^abHolmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory (March 2012).Inter/vention: Free Play in the Age of Electracy.MIT Press. pp. 69–71.ISBN978-0-262-01705-3.
- ^Stallman, Richard(March 1985)."The {GNU} Manifesto".Dr. Dobb's Journal of Software Tools.10(3): 30.RetrievedOctober 18,2011.
- ^abDiBona, Chris; Stone, Mark; Cooper, Danese (October 2005).Open Sources 2.0: The Continuing Evolution."O'Reilly Media, Inc.". pp.38–40.ISBN9780596008024.
- ^"Timeline of GNU/Linux and Unix".
Both C and Lisp will be available as system programming languages.
- ^Seebach, Peter (November 2008).Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source).Apress. pp. 177–178.ISBN9781430210436.
- ^abKerrisk, Michael (October 2010).The Linux Programming Interface: A Linux and UNIX System Programming Handbook.No Starch Press. pp. 5–6.ISBN9781593272203.
- ^abOpen Sources: Voices from the Open Source Revolution.O'Reilly & Associates, Inc. January 1999.ISBN978-1-56592-582-3.
- ^Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas (September 30, 2012).The Software Industry.Springer. pp. 187–196.ISBN9783642315091.
- ^Practical UNIX and Internet Security, 3rd Edition.O'Reilly & Associates, Inc. February 2003. p. 18.ISBN9781449310127.
- ^Stephen Shankland (November 15, 1999)."Red Hat buys software firm, shuffles CEO".CNET.CBS Interactive.RetrievedMarch 5,2016.
- ^"GCC & GNU Toolchains – AMD".Developer.amd. Archived fromthe originalon March 16, 2015.RetrievedSeptember 2,2015.
- ^Matthew, Neil; Stones, Richard (April 22, 2011)."The GNU Project and the Free Software Foundation".Beginning Linux Programming.John Wiley & Sons.ISBN9781118058619.
- ^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.ISBN9781599042107.
- ^"Linux: History and Introduction".Buzzle. August 25, 1991. Archived from the original on December 11, 2017.RetrievedSeptember 22,2012.
{{cite web}}
:CS1 maint: unfit URL (link) - ^McCune, Mike (December 2000).Integrating Linux and Windows.Prentice Hall Professional. p. 30.ISBN9780130306708.
- ^Sobell, Mark G; Seebach, Peter (2005).A Practical Guide To Unix For Mac Os X Users.Prentice Hall Professional. p. 4.ISBN9780131863330.
- ^Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services– October 1995 – Computer Sciences Department, University of Wisconsin
- ^"An Inquiry into the Stability and Reliability of UNIX Utilities"(PDF).Archived(PDF)from the original on December 22, 2009.
- ^"Software – GNU Project".Free Software Foundation, Inc. January 13, 2016.RetrievedJanuary 13,2016.
- ^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."
- ^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.
- ^Lessig, Lawrence (2001).The Future of Ideas: The Fate of the Commons in a Connected World.Random House. p.54.ISBN978-0-375-50578-2.
He had mixed all of the ingredients needed for an operating system to function, but he was missing the core.
- ^"Debian GNU/Hurd 2015 Released – Phoronix".phoronix.RetrievedMarch 24,2016.
- ^"Debian GNU/Hurd 2015 released!".lists.debian.org.RetrievedMarch 24,2016.
- ^ab"status".gnu.org.RetrievedMarch 24,2016.
- ^"Debian – Debian GNU/Hurd".debian.org.RetrievedMarch 24,2016.
- ^"Debian – Debian GNU/Hurd – Configuration".debian.org.RetrievedMarch 24,2016.
- ^Status,Free Software Foundation, May 3, 2015,retrievedApril 24,2017
- ^"GNU Linux-libre".December 17, 2012.RetrievedFebruary 9,2013.
- ^"List of Free GNU/Linux Distributions",GNU Project,Free Software Foundation (FSF).
- ^"1.2 What is Linux?",Debian open book,O'Reilly, October 5, 1991,retrievedSeptember 22,2012
- ^"What is GNU/Linux?",Ubuntu Installation Guide(12.4 ed.), Canonical, archived fromthe originalon June 21, 2015,retrievedJune 22,2015
- ^Kavanagh, Paul (July 26, 2004).Open Source Software: Implementation and Management.Elsevier. p. 129.ISBN978-1-55558320-0.
- ^Welsh, Matt (September 8, 1994)."Linux is a GNU system and the DWARF support".Newsgroup:comp.os.linux.misc.RetrievedFebruary 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.
- ^Proffitt, Brian (July 12, 2012)."Debian GNU/Linux seeks alignment with Free Software Foundation".ITworld.RetrievedSeptember 22,2012.
- ^"1.1. Linux or GNU/Linux, that is the question".SAG.TLDP.RetrievedSeptember 22,2012.
- ^"GNU Operating System – CCM FAQ".CCM.Archived fromthe originalon December 15, 2019.RetrievedApril 8,2018.
GNU is an operating system that offers a set of free open source programs.
- ^Snom Technology."Source Code & GPL Open Source".snom.Archived fromthe originalon April 9, 2018.RetrievedApril 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".
- ^"Chapter 1. Definitions and overview".
- ^"Copyright Papers".Information For Maintainers of GNU Software.FSF. June 30, 2011.RetrievedJuly 27,2011.
- ^"Why the FSF gets copyright assignments from contributors".GNU.FSF. July 15, 2011.RetrievedJuly 27,2011.
- ^"How to choose a license for your own work".GNU.Free Software Foundation.RetrievedJuly 12,2012.
- ^Raymond, Eric S (November 9, 2002)."Licensing HOWTO".CatB.RetrievedSeptember 22,2012.
- ^"GPL 1.0",Old licenses,GNU, FSF.
- ^abKelty, Christopher M (June 2008)."Writing Copyright Licenses".Two Bits: The Cultural Significance of Free Software.Duke University Press.ISBN978-0-82234264-9.
- ^The History of the GNU General Public License,Free Software.
- ^"GNU's flashes",GNU's Bulletin,GNU Project, vol. 1, no. 5, Free Software Foundation (FSF), June 11, 1998.
- ^"Open Source License Data".Open Source Resource Center.Black Duck Software. Archived fromthe originalon October 8, 2012.RetrievedSeptember 24,2012.
- ^"Top Open Source Licenses in 2020: Trends and predictions".WhiteSource Software. Archived fromthe originalon February 19, 2020.RetrievedFebruary 19,2020.
- ^Chopra, Samir; Dexter, Scott (August 2007).Decoding Liberation: The Promise of Free and Open Source Software.Routledge. pp. 46–52.ISBN978-0-41597893-4.
- ^The origins of Linux and the LGPL,Free BSD.
- ^Goldman, Ron; Gabriel, Richard P (April 2005).Innovation Happens Elsewhere: Open Source as Business Strategy.Morgan Kaufmann. pp. 133–34.ISBN978-1-55860889-4.
- ^Smith, Roderick W (2012)."Free Software and the GPL".Linux Essentials.John Wiley & Sons.ISBN978-1-11819739-4.
- ^"Frequently Asked Questions about the GNU Licenses".Gnu project.RetrievedMay 11,2023.
- ^"COPYING · master · xorg / xserver · GitLab".GitLab.August 25, 2014.RetrievedJuly 18,2023.
- ^"Permissive vs. copyleft open source licenses 2021".Statista.RetrievedJuly 18,2023.
- ^"A GNU Head".Free Software Foundation (FSF). July 13, 2011.RetrievedJuly 27,2011.
- ^"A Bold GNU Head".Free Software Foundation.July 13, 2011.RetrievedJuly 27,2011.
- ^"GNU 30th Anniversary".Free Software Foundation.October 8, 2013.RetrievedDecember 15,2014.