GNU Project

Last updated
GNU mascot, by Aurelio A. Heckert (derived from a more detailed version by Etienne Suvasa) Heckert GNU white.svg
GNU mascot, by Aurelio A. Heckert (derived from a more detailed version by Etienne Suvasa)

The GNU Project ( /ɡn/ ( Loudspeaker.svg listen )) [3] is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.

Contents

In order to ensure that the entire software of a computer grants its users all freedom rights (use, share, study, modify), even the most fundamental and important part, the operating system (including all its numerous utility programs) needed to be free software. According to its manifesto, the founding goal of the project was to build a free operating system, and if possible, "everything useful that normally comes with a Unix system so that one could get along without any software that is not free." Stallman decided to call this operating system GNU (a recursive acronym meaning "GNU's not Unix!"), basing its design on that of Unix, a proprietary operating system. [4] Development was initiated in January 1984. In 1991, the Linux kernel appeared, developed outside the GNU project by Linus Torvalds, [5] and in December 1992 it was made available under version 2 of the GNU General Public License. [6] Combined with the operating system utilities already developed by the GNU project, it allowed for the first operating system that was free software, commonly known as Linux. [7] [8]

The project's current work includes software development, awareness building, political campaigning, and sharing of new material.

Origins

Richard Stallman announced his intent to start coding the GNU Project in a Usenet message in September 1983. [9] Despite never having used Unix prior, Stallman felt that it was the most appropriate system design to use as a basis for the GNU Project, as it was portable and "fairly clean". [10]

When the GNU project first started they had an Emacs text editor with Lisp for writing editor commands, a source level debugger, a yacc-compatible parser generator, and a linker. [11] The GNU system required its own C compiler and tools to be free software, so these also had to be developed. By June 1987, the project had accumulated and developed free software for an assembler, an almost finished portable optimizing C compiler (GCC), an editor (GNU Emacs), and various Unix utilities (such as ls , grep , awk , make and ld ). [12] They had an initial kernel that needed more updates.

Once the kernel and the compiler were finished, GNU was able to be used for program development. The main goal was to create many other applications to be like the Unix system. GNU was able to run Unix programs but was not identical to it. GNU incorporated longer file names, file version numbers, and a crashproof file system. The GNU Manifesto was written to gain support and participation from others for the project. Programmers were encouraged to take part in any aspect of the project that interested them. People could donate funds, computer parts, or even their own time to write code and programs for the project. [4]

The origins and development of most aspects of the GNU Project (and free software in general) are shared in a detailed narrative in the Emacs help system. (C-h g runs the Emacs editor command describe-gnu-project.) It is the same detailed history as at their web site.

GNU Manifesto

The GNU Manifesto was written by Richard Stallman to gain support and participation in the GNU Project. In the GNU Manifesto, Stallman listed four freedoms essential to software users: freedom to run a program for any purpose, freedom to study the mechanics of the program and modify it, freedom to redistribute copies, and freedom to improve and change modified versions for public use. [13] [14] To implement these freedoms, users needed full access to the source code. To ensure code remained free and provide it to the public, Stallman created the GNU General Public License (GPL), which allowed software and the future generations of code derived from it to remain free for public use.

Philosophy and activism

Although most of the GNU Project's output is technical in nature, it was launched as a social, ethical, and political initiative. As well as producing software and licenses, the GNU Project has published a number of writings, the majority of which were authored by Richard Stallman.

Free software

The GNU project uses software that is free for users to copy, edit, and distribute. It is free in the sense that users can change the software to fit individual needs. The way programmers obtain the free software depends on where they get it. The software could be provided to the programmer from friends or over the Internet, or the company a programmer works for may purchase the software.

Funding

Proceeds from associate members, purchases, and donations support the GNU Project. [15]

Copyleft

Copyleft is what helps maintain free use of this software among other programmers. Copyleft gives the legal right to everyone to use, edit, and redistribute programs or programs' code as long as the distribution terms do not change. As a result, any user who obtains the software legally has the same freedoms as the rest of its users do.

The GNU Project and the Free Software Foundation sometimes differentiate between "strong" and "weak" copyleft. "Weak" copyleft programs typically allow distributors to link them together with non-free programs, while "strong" copyleft strictly forbids this practice. Most of the GNU Project's output is released under a strong copyleft, although some is released under a weak copyleft or a lax, push-over free software license. [16] [17]

Operating system development

GNU Hurd live CD HURD Live CD.png
GNU Hurd live CD

The first goal of the GNU project was to create a whole free-software operating system. Because UNIX was already widespread and ran on more powerful machines, compared to contemporary CP/M or MS-DOS machines of time, [18] it was decided it would be a Unix-like operating system. Richard Stallman later commented that he considered MS-DOS "a toy". [19]

By 1992, the GNU project had completed all of the major operating system utilities, but had not completed their proposed operating system kernel, GNU Hurd. With the release of the Linux kernel, started independently by Linus Torvalds in 1991, and released under the GPLv2 with version 0.12 in 1992, for the first time it was possible to run an operating system composed completely of free software. Though the Linux kernel is not part of the GNU project, it was developed using GCC and other GNU programming tools and was released as free software under the GNU General Public License. [20] Most compilation of the Linux kernel is still done with GNU toolchains, but it is currently possible to use the Clang compiler and the LLVM toolchain for compilation. [21]

As of present, the GNU project has not released a version of GNU/Hurd that is suitable for production environments since the commencement of the GNU/Hurd project over 32 years ago. [22]

GNU/Linux

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, [34] resulting in the GNU/Linux naming controversy.

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

GNU Free System Distribution Guidelines

The GNU Free System Distribution Guidelines (GNU FSDG) is a system distribution commitment used to explain what it means for an installable system distribution (such as a Linux distribution) to qualify as free (libre), and help distribution developers make their distributions qualify.

Mostly, the list describes distributions that are a combination of GNU packages with a Linux-libre kernel (a modified Linux kernel that removes binary blobs, obfuscated code, and portions of code under proprietary licenses) and consist only of free software (eschewing proprietary software entirely). [36] [37] [35] Distributions that have adopted the GNU FSDG include Dragora GNU/Linux-Libre, gNewSense, GNU Guix System, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, Trisquel GNU/Linux, Ututo, and a few others. [38]

The Fedora Project's distribution license guidelines were used as a basis for the FSDG. [39] The Fedora Project's own guidelines, however, currently do not follow the FSDG, and thus the GNU Project does not consider Fedora to be a fully free (libre) GNU/Linux distribution. [35]

Strategic projects

From the mid-1990s onward, with many companies investing in free software development, the Free Software Foundation redirected its funds toward the legal and political support of free software development. Software development from that point on focused on maintaining existing projects, and starting new projects only when there was an acute threat to the free software community. One of the most notable projects of the GNU Project is the GNU Compiler Collection, whose components have been adopted as the standard compiler system on many Unix-like systems.

The copyright of most works by the GNU Project is owned by the Free Software Foundation.[ citation needed ]

GNOME

The GNOME desktop effort was launched by the GNU Project because another desktop system, KDE, was becoming popular but required users to install Qt, which was then proprietary software. To prevent people from being tempted to install KDE and Qt, the GNU Project simultaneously launched two projects. One was the Harmony toolkit. This was an attempt to make a free software replacement for Qt. Had this project been successful, the perceived problem with the KDE would have been solved. The second project was GNOME, which tackled the same issue from a different angle. It aimed to make a replacement for KDE that had no dependencies on proprietary software. The Harmony project didn't make much progress, but GNOME developed very well. Eventually, the proprietary component that KDE depended on (Qt) was released as free software. [40] GNOME has since dissociated itself from the GNU Project and the Free Software Foundation; and is now independently managed by the GNOME Project.

GNU Enterprise

GNU Enterprise (GNUe) is a meta-project started in 1996, [41] and can be regarded as a sub-project of the GNU Project. GNUe's goal is to create free "enterprise-class data-aware applications" (enterprise resource planners, etc.). GNUe is designed to collect Enterprise software for the GNU system in a single location (much like the GNOME project collects Desktop software).

Recognition

In 2001, the GNU Project received the USENIX Lifetime Achievement Award for "the ubiquity, breadth, and quality of its freely available redistributable and modifiable software, which has enabled a generation of research and commercial development". [42]

See also

Related Research Articles

<span class="mw-page-title-main">Free software</span> Software licensed to preserve user freedoms

Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

The free software movement is a social movement with the goal of obtaining and guaranteeing certain freedoms for software users, namely the freedoms to run the software, to study the software, to modify the software, and to share copies of the software. Software which meets these requirements, The Four Essential Freedoms of Free Software, is termed free software.

<span class="mw-page-title-main">GNU</span> Free software collection

GNU 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. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

<span class="mw-page-title-main">GNU Hurd</span> Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

BitKeeper is a software tool for distributed revision control of computer source code. Originally developed as proprietary software by BitMover Inc., a privately held company based in Los Gatos, California, it was released as open-source software under the Apache-2.0 license on 9 May 2016. BitKeeper is no longer being developed.

<i>Revolution OS</i> 2001 documentary film

Revolution OS is a 2001 documentary film that traces the twenty-year history of GNU, Linux, open source, and the free software movement.

<span class="mw-page-title-main">GNU/Linux naming controversy</span> Issues of what to call a system with the GNU toolchain and the Linux kernel

Within the free software and the open-source software communities there is controversy over whether to refer to computer operating systems that use a combination of GNU software and the Linux kernel as "GNU/Linux" or "Linux" systems.

<span class="mw-page-title-main">FOSDEM</span> Annual event in Brussels centered on free and open source software development

Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and open-source software movement. It aims to enable developers to meet and to promote the awareness and use of free and open-source software.

<span class="mw-page-title-main">Richard Stallman</span> American free software activist and GNU Project founder (born 1953)

Richard Matthew Stallman, also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to use, study, distribute, and modify that software. Software that ensures these freedoms is termed free software. Stallman launched the GNU Project, founded the Free Software Foundation (FSF) in October 1985, developed the GNU Compiler Collection and GNU Emacs, and wrote the GNU General Public License.

Tivoization is the practice of designing hardware that incorporates software under the terms of a copyleft software license like the GNU General Public License, but uses hardware restrictions or digital rights management (DRM) to prevent users from running modified versions of the software on that hardware. Richard Stallman coined the term in reference to TiVo's use of GNU GPL licensed software on the TiVo brand digital video recorders (DVR), which actively blocks users from running modified software on its hardware by design. Stallman believes this practice denies users some of the freedom that the GNU GPL was designed to protect. The Free Software Foundation refers to tivoized hardware as "tyrant devices".

<span class="mw-page-title-main">Linux</span> Family of Unix-like operating systems

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name "GNU/Linux" to emphasize the importance of GNU software, causing some controversy.

GNU variants are operating systems based upon the GNU operating system. According to the GNU project and others, these also include most operating systems using the Linux kernel and a few others using BSD-based kernels.

<span class="mw-page-title-main">History of free and open-source software</span> Aspect of history

In the 1950s and 1960s, computer operating software and compilers were delivered as a part of hardware purchases without separate fees. At the time, source code, the human-readable form of software, was generally distributed with the software providing the ability to fix bugs or add new functions. Universities were early adopters of computing technology. Many of the modifications developed by universities were openly shared, in keeping with the academic principles of sharing knowledge, and organizations sprung up to facilitate sharing. As large-scale operating systems matured, fewer organizations allowed modifications to the operating software, and eventually such operating systems were closed to modification. However, utilities and other added-function applications are still shared and new organizations have been formed to promote the sharing of software.

License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine source code from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into proprietary software. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.

Linux began in 1991 as a personal project by Finnish student Linus Torvalds: to create a new free operating system kernel. The resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.15 version in 2018 with more than 23.3 million lines of source code, not counting comments, under the GNU General Public License v2.

The following outline is provided as an overview of and topical guide to free software and the free software movement:

<span class="mw-page-title-main">Free-software license</span> License allowing software modification and redistribution

A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as the copyright law recognizes both forms.

<span class="mw-page-title-main">Copyleft</span> Practice of mandating free use in all derivatives of a work

Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, freedoms refers to the use of the work for any purpose, and the ability to modify, copy, share, and redistribute the work, with or without a fee. Licenses which implement copyleft can be used to maintain copyright conditions for works ranging from computer software, to documents, art, scientific discoveries and even certain patents.

<span class="mw-page-title-main">GNU General Public License</span> Series of free software licenses

The GNU General Public License is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use and was originally written by the founder of the Free Software Foundation (FSF), Richard Stallman, for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition. These GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License and even further distinct from the more widely used permissive software licenses BSD, MIT, and Apache.

The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft terms, such as with its own GNU General Public License. The FSF was incorporated in Boston, Massachusetts, US, where it is also based.

References

  1. "A Bold GNU Head" . Retrieved November 30, 2014. We thank Aurelio A. Heckert...for donating this graphic to us.
  2. "A GNU Head" . Retrieved November 30, 2014. This graphic was drawn by Etienne Suvasa
  3. "What is GNU?". The GNU Operating System. Free Software Foundation. September 4, 2009. Retrieved 2009-10-09. 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.
  4. 1 2 "The GNU Manifesto". Free Software Foundation. July 21, 2007. Retrieved 2015-10-08.
  5. Torvalds, Linus Benedict (August 1991). "comp.os.minix" . Retrieved 2009-09-06.
  6. "z-archive of Linux version 0.99". kernel.org. December 1992. Archived from the original on 2017-01-30.
  7. Balsa, Andrew D. "The linux-kernel mailing list FAQ". The Linux Kernel Archives. Kernel.org. Archived from the original on 2012-10-01. Retrieved 2013-06-13. ...we have tried to use the word "Linux" or the expression "Linux kernel" to designate the kernel, and GNU/Linux to designate the entire body of GNU/GPL'ed OS software,... ...many people forget that the linux kernel mailing list is a forum for discussion of kernel-related matters, not GNU/Linux in general...
  8. Mark Shuttleworth (14 February 2014). "Losing graciously". Archived from the original on 22 March 2014. Retrieved 27 April 2014. today our focus is on the cloud and on mobile, and we are quite clearly leading GNU/Linux on both fronts
  9. Richard Stallman. "new Unix implementation".
  10. Stallman, Richard (2022). "How I do my computing" . Retrieved January 31, 2023.
  11. Wardrip-Fruin, Noah; and Nick Montfort. "The GNU Manifesto." The NewMediaReader. Cambridge, Massachusetts: MIT, 2003. pp.545–550.
  12. "GNU's Bulletin, vol. 1 no. 3". gnu.org. June 1987.
  13. Stallman, Richard (March 1985). "The GNU Manifesto – GNU Project – Free Software Foundation (FSF)". gnu.org. GNU Project. Retrieved 2011-10-18.
  14. Weber, S. (2004). The Success of Open Source. Cambridge: Harvard University Press.
  15. Helping the GNU Project and the Free Software Movement – GNU Project – Free Software Foundation. gnu.org. Retrieved on 2013-07-17.
  16. "Ncurses". wiki.freedesktop.org. Retrieved 2019-03-18. It is one of the few GNU files not distributed under the GNU General Public License or GNU Lesser General Public License; it is distributed under a license like the X11 License
  17. "Why you shouldn't use the Lesser GPL for your next library". GNU. There are reasons that can make it better to use the Lesser GPL in certain cases.
  18. "GNU's Bulletin Volume 1 No.1". February 1986.
  19. "Richard Stallman: Freedom". Radio New Zealand . August 9, 2008.
  20. Linus Benedict Torvalds (August 26, 1991). "What would you like to see most in minix?". comp.os.minix.
  21. The Kernel Development Community. "Building Linux with Clang/LLVM". The Linux Kernel Docs.
  22. "GNU Hurd/ hurd/ status". GNU Operating System. Free Software Foundation. Retrieved 2018-04-15. It may not be ready for production use, as there are still some bugs and missing features.
  23. 1 2 "All GNU packages". gnu.org.
  24. 1 2 GNU @ Free Software Directory (fsf.org)
  25. POSIX – The GNU C Library
  26. GNU C Library#A temporary fork
  27. GCC Architectures
  28. The Linux Kernel Archives
  29. Release Notes for Linux v0.12
  30. Should the GNU/name convention be applied to all programs that are GPL'ed? GNU/Linux FAQ by Richard Stallman
  31. Why do you write “GNU/Linux” instead of “GNU Linux”? GNU/Linux FAQ by Richard Stallman
  32. Isn't it wrong for us to label Linus Torvalds' work as GNU? GNU/Linux FAQ by Richard Stallman
  33. Does Linus Torvalds agree that Linux is just the kernel? GNU/Linux FAQ by Richard Stallman
  34. Why do you call it GNU/Linux and not Linux?
  35. 1 2 3 "Explaining Why We Don't Endorse Other Systems". gnu.org.
  36. "Guidelines for Free System Distributions". gnu.org.
  37. "Avoiding Ruinous Compromises". gnu.org.
  38. "List of Free GNU/Linux Distributions – GNU Project – Free Software Foundation". gnu.org. Retrieved 2014-08-18.
  39. "Free System Distribution Guidelines (GNU FSDG) – GNU Project". gnu.org. publisher. Retrieved 2014-06-07. We would like to thank the Fedora Project for their help in focusing these policies, and allowing us to use their own distribution license guidelines as a basis for this document.
  40. Stallman, Richard (September 5, 2000). "Stallman on Qt, the GPL, KDE, and GNOME". Linux Today. Retrieved 2005-09-09.
  41. "GNU Enterprise Project History – GNU Enterprise". 2013-01-16. Archived from the original on 2013-01-16. Retrieved 2019-02-18.
  42. "USENIX Lifetime Achievement Award ("The Flame")". USENIX. Retrieved 2007-12-05.