Jump to content

GNU Project: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Gronky (talk | contribs)
reinstate the two edits of Hnfiurgds that I clobbered when I was editing
Reverted to revision 527854320 by Edward: back to last stable version; serious POV issues with the rewrite. (TW)
Line 1: Line 1:
{{Use dmy dates|date=August 2012}}
{{Use dmy dates|date=August 2012}}
[[Image:Heckert GNU white.svg|thumb|200px|The GNU logo, by Etienne Suvasa]]
[[Image:Heckert GNU white.svg|thumb|300px|The GNU logo, by Etienne Suvasa]]
The '''GNU Project''' {{IPAc-en|audio=En-gnu.ogg|ɡ|n|uː}}<ref>{{cite web|url=http://www.gnu.org/ |title= What is GNU?| work = The GNU Operating System |date=4 September 2009 |publisher=[[Free Software Foundation]] |accessdate=9 October 2009 |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''.}}</ref><!-- /gnu:/ is not a possible English pronunciation-->
The '''GNU Project''' {{IPAc-en|audio=En-gnu.ogg|ɡ|n|uː}}<ref>{{cite web|url=http://www.gnu.org/ |title= What is GNU?| work = The GNU Operating System |date=4 September 2009 |publisher=[[Free Software Foundation]] |accessdate=9 October 2009 |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''.}}</ref><!-- /gnu:/ is not a possible English pronunciation-->
is a [[free software]], [[mass collaboration]] project, announced on 27 September 1983, by [[Richard Stallman]] at [[Massachusetts Institute of Technology|MIT]]. It initiated [[GNU]] [[operating system]] development in January, 1984. The founding goal of the project was, in the words of its initial announcement, to develop "''a sufficient body of free software [...] to get along without any software that is not free.''"<ref name="manifesto">{{cite web |url=http://www.gnu.org/gnu/manifesto.html |title=The GNU Manifesto |date=21 July 2007 |publisher=[[Free Software Foundation]] |accessdate=2007-11-10}}</ref>
has the aim to give computer users freedom and control in their use of their computers and computing devices, by collaboratively developing and providing software that is based on the following freedom rights: users are free to run the software, share it (copy, distribute), study it and modify it. GNU software guarantees these freedom-rights legally (via its license), and is therefore [[free software]]; the use of the word "free" always being taken to refer to freedom.
To make this happen, the GNU Project began working on an operating system called [[GNU]] ("GNU" is a [[recursive acronym]] that stands for "GNU's Not [[Unix]]"). This goal of making a free software operating system was achieved in 1992 when the last gap in the GNU system, a [[Kernel (computing)|kernel]], was filled by the third-party [[Linux kernel]] being released as Free Software, under version 2 of the GNU [[GNU General Public License|GPL]].<ref>http://www.gnu.org/gnu/linux-and-gnu.html</ref>


Current work of the GNU Project includes software development, awareness building, political campaigning and sharing of the new material.
The GNU project was announced on 27 September 1983, by [[Richard Stallman]] at [[Massachusetts Institute of Technology|MIT]] and development began in January 1984.<ref name="manifesto">{{cite web |url=http://www.gnu.org/gnu/manifesto.html |title=The GNU Manifesto |date=21 July 2007 |publisher=[[Free Software Foundation]] |accessdate=2007-11-10}}</ref>

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 written. Stallman decided to call this operating system '''[[GNU]]''' (a humorous [[recursive acronym]] meaning "'''G'''NU's '''n'''ot '''U'''nix"), basing its design on that of [[Unix]]; however, in contrast to Unix which was [[proprietary software]], GNU was to be freedom-respecting software ([[free software]]) that users can use, share, study and modify.

The historic develpment of the GNU project<ref>[http://www.gnu.org/gnu/gnu-history.html Overview of the GNU System] (gnu.org)</ref><ref>[http://www.gnu.org/gnu/the-gnu-project.html The GNU Project] (gnu.org)</ref> can be traced via GNU's Bulletins<ref>[http://www.gnu.org/bulletins/#NoLongerPublished GNU's Bulletins]</ref> starting from February 1986, showing the status of various software in development and completed software, and people involved: e.g. by June 1987 the project had accumulated and developed free software for an assember, an almost finished portable optimizing C compiler ([[GNU Compiler Collection|GCC]]), an editor ([[Emacs|GNU Emacs]]), utilities (ls, grep, awk, make, ld), etc.<ref>[http://www.gnu.org/bulletins/bull3.html#SEC11 GNU's Bulletin, vol. 1 no. 3 (June 1987)] (gnu.org)</ref> The GNU system was to have its own freedom-respecting (source available) C compiler and tools, so that these also had to be developed.

==GNU/Linux==

Today a stable version (or variant) of GNU can be run by combining the GNU packages with the [[Unix-like]] kernel Linux. The GNU project calls this GNU/Linux, and the defining features are the combination of:
* GNU packages<ref name=gnu_packages>[http://www.gnu.org/software/software.html#allgnupkgs All GNU packages] (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 consists of numerous operating system tools and utilities ([[Bash (Unix shell)|shell]], [[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>[http://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>
* [[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 architectures|variety of computer-architectures]].<ref>[http://www.kernel.org/#whatislinux The Linux Kernel Archives]</ref> [[Linus Torvalds]] released the [[Linux kernel|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>[http://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>[http://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>[http://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>[http://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>
*non-GNU programs
**This consists of programs that the GNU project has selected as being meant for use with the GNU system and are listed on the gnu.org website<ref>[http://ftp.gnu.org/non-gnu/ http://ftp.gnu.org/non-gnu/]</ref> These programs were already available as [[free software]], and thus did not have to be written by the GNU project (these programs have ''terms of use and distribution'' that are compatible with GNU's freedom goals). Examples include the [[X Window System]].<ref>[http://ftp.gnu.org/non-gnu/X11.README http://ftp.gnu.org/non-gnu/X11.README]</ref> A complete listing of non-GNU programs under free licenses (including programs not mentioned at gnu.org) is maintained by the FSF<ref>[http://directory.fsf.org/wiki?title=Special:SearchByProperty&offset=0&limit=10000&property=Is+GNU&value=false Non-GNU programs at the FSF directory]</ref>. Examples include [[Boost (C++ libraries)|Boost]].<ref>[http://directory.fsf.org/wiki/Boost Boost at the FSF directory]</ref>
The packaging of GNU tools, together with the Linux kernel and other programs, is termed a GNU/Linux [[Linux distribution|distro]] (distribution) and many different distros exist. Most distros call the combination simply "[[Linux]]", while the GNU project uses the name GNU/Linux and recommends this name,<ref>[http://www.gnu.org/gnu/gnu-linux-faq.html#why Why do you call it GNU/Linux and not Linux?] GNU/Linux FAQ by Richard Stallman</ref> since numerous users of the system don't even know that they are using GNU packages and are unaware of the freedoms that are the motivation for why the widely-used GNU packages exist.<ref>[http://www.gnu.org/gnu/gnu-users-never-heard-of-gnu.html GNU Users Who Have Never Heard of GNU] (gnu.org)</ref> The GNU project also states that calling the entire system only "Linux", promotes only the views of Linux organizations, Linus Torvalds, and various distros (views that emphasize system's popularity, stability, robustness and usability),<ref>[http://www.gnu.org/gnu/gnu-linux-faq.html#whycare Why is the name important?] GNU/Linux FAQ by Richard Stallman</ref><ref>[http://www.gnu.org/gnu/gnu-linux-faq.html#helplinus Why not call the system “Linux” anyway, and strengthen Linus Torvalds' role [...] for our community?] GNU/Linux FAQ by Richard Stallman</ref> while demoting and sidelining the philosophy and ideas behind the actual creation of GNU packages itself, namely the freedom rights of users (viewed as an important social, political and ethical ideology/concern); hence the GNU project's request of mentioning the name GNU: GNU/Linux.<ref>[http://www.gnu.org/gnu/linux-and-gnu.html Linux and the GNU System] (gnu.org)</ref>

Today most distros combine GNU packages with a Linux kernel which contains ''proprietary'' [[binary blobs]] and a number of ''proprietary'' programs (e.g. gratis but without availability of source code, thus non-free). They are free to do so, but it goes directly against the freedom goals of the GNU project; these freedom goals being the reason why the GNU project was started in the first place.

The GNU project itself only endorses distros,<ref>[http://www.gnu.org/distros/free-distros.html Free GNU/Linux distributions] (gnu.org)</ref> that are a combination of GNU packages with a [[Linux-libre]] kernel (a modified Linux kernel, that removes proprietary binary blobs) and consist only of free software (eschewing proprietary software entirely);<ref>[http://www.gnu.org/distros/free-system-distribution-guidelines.html Guidelines for Free System Distributions] (gnu.org)</ref> these distros are usually based on modifications of the [[Debian]] distro<ref>[http://www.gnewsense.org/FAQ#Will_gNewSense_3.0_be_based_on_Debian_instead_of_Ubuntu.2C_and_why.3F gNewSense FAQ]</ref>, making it completely free of proprietary software availability. It is possible to obtain an ''entirely'' free (freedom-respecting) system using other distros such as Debian itself, however since these distros include e.g. an online package database that also includes nonfree software (i.e. zero-price, but without source), the GNU project does not endorse them, since it maintains that this may guide users towards nonfree software.<ref>[http://www.gnu.org/philosophy/compromise.html Avoiding Ruinous Compromises] (gnu.org)</ref><ref>[http://www.gnu.org/distros/common-distros.html#Debian Explaining Why We Don't Endorse Other Systems] (gnu.org)</ref>

Current work of the GNU Project includes software development, awareness building, political campaigning and sharing of new material.


==Origins of the project==
==Origins of the project==
Line 41: Line 23:


==Free software==
==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 software could be provided to the programmer from friends or over the Internet, or the company a programmer works for may purchase the software. Proceeds from purchases support the GNU project.
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. Proceeds from purchases support the GNU project.
GNU has four kinds of freedom for the software:

GNU has four kinds of freedom, as described in [[The Free Software Definition]]:
*Freedom to run the program
*Freedom to run the program
*Freedom to access the program's [[source code]] and modify it
*Freedom to access the code
*Freedom to redistribute the program to anyone
*Freedom to redistribute the program to anyone
*Freedom to distribute improvements you have made<ref>{{cite web |url=http://www.gnu.org/ |title=The GNU Operating System}}</ref>
*Freedom to improve the software<ref>{{cite web |url=http://www.gnu.org/ |title=The GNU Operating System}}</ref>


==Copyleft==
==Copyleft==
Line 93: Line 74:
== External links ==
== External links ==
* [http://www.gnu.org/ GNU Website]
* [http://www.gnu.org/ GNU Website]
* [http://www.gnu.org/gnu/initial-announcement.html The initial announcement]
;History and Goals
* [http://www.gnu.org/gnu/gnu-history.html Overview of the GNU System]
* [http://www.gnu.org/gnu/the-gnu-project.html The GNU Project] (a detailed essay about the GNU Project)
* [http://www.gnu.org/gnu/initial-announcement.html Initial announcement]
* [http://www.gnu.org/bulletins/ The "GNU's bulletins"], a discontinued newsletter containing much now-historical information
;Philosophy
* [http://www.gnu.org/philosophy/philosophy.html The GNU philosophy pages]
* [http://www.gnu.org/philosophy/philosophy.html The GNU philosophy pages]
* [http://www.gnu.org/gnu/manifesto.html The GNU Manifesto]
* [http://www.gnu.org/gnu/manifesto.html The GNU Manifesto]
* [http://www.gnu.org/gnu/the-gnu-project.html A detailed essay about the GNU Project]
;Presentations
* [http://www.gnu.org/bulletins/ The "GNU's bulletins"], a discontinued newsletter containing much now-historical information
* [http://audio-video.gnu.org/video/ Video] and [http://audio-video.gnu.org/audio/ Audio] presentations on the GNU project and related topics ([http://audio-video.gnu.org/ toplevel link])
;Software
*[http://www.gnu.org/software/software.html Download GNU] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://www.gnu.org/distros/free-distros.html GNU/Linux distributions] (endorsed by the GNU Project)
*[http://www.gnu.org/software/software.html#allgnupkgs All GNU packages] (gnu.org) &nbsp; &nbsp; &nbsp; [http://directory.fsf.org/wiki/GNU GNU software @ Free Software Directory] (fsf.org)



{{Free Software Foundation}}
{{Free Software Foundation}}

Revision as of 12:56, 3 January 2013

The GNU logo, by Etienne Suvasa

The GNU Project /ɡn/ [1] is a free software, mass collaboration project, announced on 27 September 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984. The founding goal of the project was, in the words of its initial announcement, to develop "a sufficient body of free software [...] to get along without any software that is not free."[2] To make this happen, the GNU Project began working on an operating system called GNU ("GNU" is a recursive acronym that stands for "GNU's Not Unix"). This goal of making a free software operating system was achieved in 1992 when the last gap in the GNU system, a kernel, was filled by the third-party Linux kernel being released as Free Software, under version 2 of the GNU GPL.[3]

Current work of the GNU Project includes software development, awareness building, political campaigning and sharing of the new material.

Origins of the project

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".[4] 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.[2]

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 development: 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.[5] To implement these freedoms, users needed full access to code. To ensure code remained free and provide it to the public, Stallman created the General Public License (GPL), which allowed software and the future generations of code derived from it to remain free for public use. Some complications arose, however, when certain software was grandfathered in the law of GPL because of code it derived from.[5]

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,[6] the majority of which were authored by Richard Stallman.

Participation

Within the GNU website a list of projects are 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.[7]

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. Proceeds from purchases support the GNU project. GNU has four kinds of freedom for the software:

  • Freedom to run the program
  • Freedom to access the code
  • Freedom to redistribute the program to anyone
  • Freedom to improve the software[8]

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 program's 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 FSF 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 permissive free software licence.

Operating system development

GNU Hurd live CD

The first goal of the GNU project was to create a whole free-software operating system. By 1992, the GNU project had completed all of the major operating system components except for their kernel, GNU Hurd. The Linux kernel, started independently by Linus Torvalds in 1991, filled the last gap, and Linux version 0.12 was released under the GPL in 1992. Together, Linux and GNU formed the first completely free-software operating system. Though the Linux kernel is not part of the GNU project, it was developed using GCC and other GNU programming tools.[9]

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; see High Priority Free Software Projects. One of the most notable projects of the GNU Project is the GNU Compiler Collection, whose components have been adopted as the standard compiler(s) on many Unix and Unix-like systems.

GNOME

One example is the GNOME desktop. This development effort was launched by the GNU Project because another desktop system, KDE, was becoming popular but required users to install certain proprietary software. To prevent people from being tempted to install that proprietary software, the GNU Project simultaneously launched two projects. One was the Harmony toolkit. This was an attempt to make a free software replacement for the proprietary software that KDE depended on. Had this project been successful, the problem with 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.[10]

Gnash

Another example is Gnash, software able to play content distributed in the Adobe Flash format. This has been marked as a priority project by GNU because it was seen that many people were installing a free software operating system and using a free software web-browser, but were then also installing the proprietary software plug-in from Adobe.

Recognition

See also

References

  1. ^ "What is GNU?". The GNU Operating System. Free Software Foundation. 4 September 2009. Retrieved 9 October 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. ^ a b "The GNU Manifesto". Free Software Foundation. 21 July 2007. Retrieved 10 November 2007.
  3. ^ http://www.gnu.org/gnu/linux-and-gnu.html
  4. ^ Wardrip-Fruin, Noah; and Nick Montfort. "The GNU Manifesto." The NewMediaReader. Cambridge, Massachusetts: MIT, 2003. pp.545-550.
  5. ^ a b Weber, S. (2004). The Success of Open Source. Cambridge: Harvard University Press.
  6. ^ "Philosophy of the GNU Project".
  7. ^ "How you can help the GNU Project".
  8. ^ "The GNU Operating System".
  9. ^ Linus Benedict Torvalds (26 August 1991). "What would you like to see most in minix?". comp.os.minix.
  10. ^ Richard Stallman (5 September 2000). "Stallman on Qt, the GPL, KDE, and GNOME". Linux Today. Retrieved 9 September 2005.
  11. ^ "USENIX Lifetime Achievement Award ("The Flame")". USENIX. Retrieved 5 December 2007. Awarded for the ubiquity, breadth, and quality of its freely available redistributable and modifiable software, which has enabled a generation of research and commercial development.

External links