Content deleted Content added
tweak Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit |
m →Origins: "they" clearly refers to the GNU project which is already a topical entity. say "it" to remove the wikipolitics that just can't keep itself in bed |
||
(44 intermediate revisions by 39 users not shown) | |||
Line 1:
{{short description|Free software project}}
{{distinguish
{{primary sources | date=January 2013}}
Line 7:
| title = A Bold GNU Head
| access-date = November 30, 2014
| quote = We thank Aurelio A. Heckert...for donating this graphic to us.
| archive-date = December 5, 2014
| archive-url = https://web.archive.org/web/20141205022143/https://www.gnu.org/graphics/heckert_gnu.html
| url-status = live
}}</ref> (derived from a more detailed version by Etienne Suvasa)<ref>{{cite web
| url = https://www.gnu.org/graphics/agnuhead.html
| title = A GNU Head
| access-date = November 30, 2014
| quote = This graphic was drawn by Etienne Suvasa
| archive-date = July 28, 2011
| archive-url = https://web.archive.org/web/20110728023934/http://www.gnu.org/graphics/agnuhead.html
| url-status = live
}}</ref>]]
The '''GNU Project''' ({{IPAc-en|audio=En-gnu.ogg|ɡ|n|uː}} {{respell|GNOO}})<ref>{{cite web
| url = https://gnu.org/
| title = What is GNU?
| work = The GNU Operating System
| date = September 4, 2009
| publisher = [[Free Software Foundation]]
| access-date = 2009-10-09
| quote = 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''.
| archive-date = 2004-04-02 | archive-url = https://web.archive.org/web/20040402153847/http://www.gnu.org/home.hu.html | url-status = live }}</ref> 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 [[Computer hardware|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 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.
| url = https://www.gnu.org/gnu/manifesto.html
| title = The GNU Manifesto
| date = July 21, 2007
| publisher = [[Free Software Foundation]]
| access-date = 2015-10-08
| archive-date = 2018-07-14
| archive-url = https://web.archive.org/web/20180714090017/https://www.gnu.org/gnu/manifesto.html
| url-status = live
}}</ref> 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." Development was initiated in January 1984. In 1991, the [[Linux kernel]] appeared, developed outside the GNU Project by [[Linus Torvalds]],<ref name="groups.google.com">{{cite web
| url = https://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b
| title = comp.os.minix
Line 33 ⟶ 49:
| last = Torvalds
| first = Linus Benedict
| date = August 1991
| date=August 1991}}</ref> and in December 1992 it was made available under version 2 of the [[GNU General Public License]].<ref name="gpl_version">{{cite web |url=ftp://ftp.kernel.org/pub/linux/kernel/Historic/v0.99/linux-0.99.tar.Z |archive-url=https://web.archive.org/web/20170130050958/ftp://ftp.kernel.org/pub/linux/kernel/Historic/v0.99/linux-0.99.tar.Z |url-status=dead |archive-date=2017-01-30 |title=z-archive of Linux version 0.99 |website=kernel.org |date=December 1992 }}</ref> 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]].<ref>{{cite web |author=Balsa |first=Andrew D. |author2=[http://vger.kernel.org/lkml/#contributors Coauthors] |title=The linux-kernel mailing list FAQ |url=http://vger.kernel.org/lkml/#s1-1 |archive-url=https://web.archive.org/web/20121001231709/http://vger.kernel.org/lkml/#s1-1 |archive-date=2012-10-01 |access-date=2013-06-13 |work=The Linux Kernel Archives |publisher=Kernel.org |quote=...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...}}</ref><ref>{{cite web▼
| archive-date = 2013-05-09
| archive-url = https://web.archive.org/web/20130509134305/http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b
| url-status = live
▲
| title = Losing graciously
| url = http://www.markshuttleworth.com/archives/1316
Line 48 ⟶ 68:
== Origins ==
Richard Stallman announced his intent to start coding the GNU Project in a [[Usenet]] message in September 1983.<ref>{{cite web | url = https://groups.google.com/forum/#!msg/net.unix-wizards/8twfRPM79u0/1xlglzrWrU0J | title = new Unix implementation | author = Richard Stallman | access-date = 2013-09-27 | archive-date = 2011-01-22 | archive-url = http://arquivo.pt/wayback/20110122130054/https://groups.google.com/forum/#!msg/net.unix-wizards/8twfRPM79u0/1xlglzrWrU0J | url-status = live }}</ref> 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".<ref>{{cite web |url=https://stallman.org/cgi-bin/showpage.cgi?path=/stallman-computing.html&term=unix&type=norm&case=0 |title=How I do my computing |author=Stallman, Richard |date=2022 |access-date=January 31, 2023 |archive-date=January 31, 2023 |archive-url=https://web.archive.org/web/20230131153156/https://stallman.org/cgi-bin/showpage.cgi?path=/stallman-computing.html&term=unix&type=norm&case=0 |url-status=live }}</ref>
When the GNU
| url = https://www.gnu.org/bulletins/bull3.html#SEC11
| title = GNU's Bulletin, vol. 1 no. 3
| date = June 1987
| work = gnu.org
| access-date = 2014-04-18
| archive-date = 2015-11-25
| archive-url = https://web.archive.org/web/20151125053210/https://www.gnu.org/bulletins/bull3.html#SEC11
| url-status = live
}}</ref> They{{Who|date=May 2025}} had an initial kernel that needed more updates.
Once the [[Kernel (operating system)|kernel]] and the compiler were finished, GNU was able to be used for [[Software development process|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
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 <kbd>describe-gnu-project</kbd>.) It is the same detailed history as at their web site.
Line 64 ⟶ 87:
== GNU Manifesto ==
{{Main
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.<ref name="GNU Manifesto">{{cite web
Line 75 ⟶ 98:
| publisher = GNU Project
| date = March 1985
| access-date = 2011-10-18
| access-date = 2011-10-18}}</ref><ref name="weber">Weber, S. (2004). ''The Success of Open Source''. Cambridge: Harvard University Press.</ref> To implement these freedoms, users needed full access to the [[Source code|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.▼
| archive-date = 2018-07-14
| archive-url = https://web.archive.org/web/20180714090017/https://www.gnu.org/gnu/manifesto.html
| url-status = live
▲
== Philosophy and activism ==
Line 85 ⟶ 112:
== Free software ==
The GNU
== Funding ==
Proceeds from [[Free Software Foundation]] associate members, purchases, and donations support the GNU Project.<ref>[https://www.gnu.org/help/help.html#funds Helping the GNU Project and the Free Software Movement – GNU Project – Free Software Foundation] {{Webarchive|url=https://web.archive.org/web/20151225192237/http://www.gnu.org/help/help.html#funds |date=2015-12-25 }}. gnu.org. Retrieved on 2013-07-17.</ref>
== Copyleft ==
Line 97 ⟶ 124:
[[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.<ref>{{Cite web|url=https://wiki.freedesktop.org/www/Ncurses/|title=Ncurses|website=wiki.freedesktop.org|access-date=2019-03-18|quote=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|archive-date=2021-03-22|archive-url=https://web.archive.org/web/20210322075235/https://wiki.freedesktop.org/www/Ncurses/|url-status=live}}</ref><ref>{{Cite web|url=https://www.gnu.org/licenses/why-not-lgpl.html|title=Why you shouldn't use the Lesser GPL for your next library|website=GNU|quote=There are reasons that can make it better to use the Lesser GPL in certain cases.|access-date=2019-03-18|archive-date=2007-11-26|archive-url=https://web.archive.org/web/20071126020249/http://www.gnu.org/licenses/why-not-lgpl.html|url-status=live}}</ref>
== Operating system development ==
Line 104 ⟶ 131:
{{main|GNU}}
The first goal of the GNU
| url = https://www.gnu.org/bulletins/bull1.txt
| title = GNU's Bulletin Volume 1 No.1
| date = February 1986
| date = February 1986}}</ref> it was decided it would be a Unix-like operating system. Richard Stallman later commented that he considered MS-DOS "a toy".<ref>{{cite web▼
| access-date = 2020-08-16
| archive-date = 2015-06-23
| archive-url = https://web.archive.org/web/20150623180723/http://www.gnu.org/bulletins/bull1.txt
| url-status = live
▲
| url = https://www.rnz.co.nz/national/programmes/saturday/audio/1699424/richard-stallman-freedom
| title = Richard Stallman: Freedom
| website = [[Radio New Zealand]]
| date = August 9, 2008
| access-date = August 16, 2020
| archive-date = October 31, 2020
| archive-url = https://web.archive.org/web/20201031195307/https://www.rnz.co.nz/national/programmes/saturday/audio/1699424/richard-stallman-freedom
| url-status = live
}}</ref>
By 1992, the GNU
| url = https://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b
| title = What would you like to see most in minix?
| author = Linus Benedict Torvalds
| publisher = comp.os.minix
| date = August 26, 1991
| date = August 26, 1991}}</ref> 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.<ref>{{Cite web▼
| access-date = July 28, 2016
| archive-date = April 30, 2013
| archive-url = https://web.archive.org/web/20130430234536/http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b
| url-status = live
▲
| url = https://www.kernel.org/doc/html/v5.8/kbuild/llvm.html
| title = Building Linux with Clang/LLVM
| author = The Kernel Development Community
| publisher = The Linux Kernel Docs
| access-date = 2022-10-08
| archive-date = 2022-09-27
| archive-url = https://web.archive.org/web/20220927180305/https://www.kernel.org/doc/html/v5.8/kbuild/llvm.html
| url-status = live
}}</ref>
As of present, the GNU
== 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
* GNU packages<ref name=gnu_packages>{{cite web
| url = https://www.gnu.org/software/software.html#allgnupkgs
| title = All GNU packages
| work = gnu.org
| work = gnu.org}}</ref><ref name=gnu_packages_fsf>[http://directory.fsf.org/wiki/GNU GNU @ Free Software Directory] (fsf.org)</ref> (except for GNU Hurd) <br />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>[https://www.gnu.org/software/libc/manual/html_node/POSIX.html POSIX – The GNU C Library]</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>▼
| access-date = 2014-04-18
* [[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>[https://www.kernel.org/#whatislinux The Linux Kernel Archives]</ref> [[Linus Torvalds]] released the [[Linux kernel]] under the [[GNU General Public License]] in 1992;<ref name=linux_free>[http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.12 Release Notes for Linux v0.12]</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?] 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”?] 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?] 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?] GNU/Linux FAQ by Richard Stallman</ref>▼
| archive-date = 2015-12-25
| archive-url = https://web.archive.org/web/20151225191933/http://www.gnu.org/software/software.html#allgnupkgs
| url-status = live
▲
▲* [[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>
* 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]].
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
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>
Most Linux distros combine GNU packages with a Linux kernel which contains proprietary [[binary blobs]].<ref name=":0" />
Line 145 ⟶ 197:
=== GNU Free System Distribution Guidelines ===
{{Anchor|Free System Distribution Guidelines (GNU FSDG)|GNU FSDG|FSDG}}
The GNU Free System Distribution Guidelines (GNU FSDG) is a system distribution commitment
| url = https://www.gnu.org/distros/free-system-distribution-guidelines.html
| title = Guidelines for Free System Distributions
| work = gnu.org
| access-date = 2014-04-17
| archive-date = 2015-12-08
| archive-url = https://web.archive.org/web/20151208205726/https://www.gnu.org/distros/free-system-distribution-guidelines.html
| work = gnu.org}}</ref><ref name=":0">{{cite web |title=Explaining Why We Don't Endorse Other Systems |url=https://www.gnu.org/distros/common-distros.html |work=gnu.org}}</ref> 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.<ref name="gnu">{{cite web▼
| url-status = live
▲ }}</ref><ref>{{cite web |title=Avoiding
| url = https://www.gnu.org/distros/free-distros.html
| title = List of Free GNU/Linux Distributions – GNU Project – Free Software Foundation
| work = gnu.org
| access-date = 2014-08-18
| archive-date = 2014-12-16
| archive-url = https://web.archive.org/web/20141216063244/http://www.gnu.org/distros/free-distros.html
| url-status = live
}}</ref>
The Fedora Project's distribution license guidelines were used as a basis for the FSDG.<ref>{{cite web
Line 165 ⟶ 223:
| work = gnu.org
| access-date = 2014-06-07
| quote = 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.
| archive-date = 2015-12-08 | archive-url = https://web.archive.org/web/20151208205726/https://www.gnu.org/distros/free-system-distribution-guidelines.html | url-status = live }}</ref> The Fedora Project's own guidelines, however, currently do not follow the FSDG, and thus the GNU Project does not consider [[Fedora Linux|Fedora]] to be a fully free (libre) GNU/Linux distribution.<ref name=":0" /> == Strategic projects ==
Line 173 ⟶ 235:
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.<ref>{{
=== 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 (toolkit)|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
=== {{anchor | GNU Enterprise}}GNU Enterprise ===
'''GNU Enterprise''' ('''GNUe''')
== Recognition ==
Line 187 ⟶ 249:
| title = USENIX Lifetime Achievement Award ("The Flame")
| publisher = USENIX
| access-date = 2007-12-05
| archive-date = 2007-12-28
| archive-url = https://web.archive.org/web/20071228023853/http://www.usenix.org/directory/flame.html
| url-status = live
}}</ref>
== See also ==
Line 205 ⟶ 271:
* {{official website}}
* [
* [https://www.gnu.org/software/gnue/
{{GNU}}
|