The GNU Project

The GNU Project free software; the use of the word "free" always being taken to refer to freedom.

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. 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] Stallman decided to call this operating system GNU (a recursive acronym meaning "GNU's not Unix"), 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. Development was initiated in January, 1984. The goal of making a completely free software operating system was achieved in 1992 when the third-party Linux kernel was released as free software, under version 2 of the GNU General Public License, to be used with the GNU software stack.

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

Origins

Richard Stallman announced his intent to start coding the GNU Project in a Usenet message in September 1983.[3]

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] The GNU system required its own C compiler and tools to be free software, so that 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).[5] 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

Main article: 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.[6] To implement these freedoms, users needed full access to 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. Some complications arose, however, when certain software was grandfathered in the law of GPL because of code from which it derived.[6]

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.

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.

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

Copyleft

Main article: 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 license.

Operating system development

Main article: GNU

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. With the release of the Linux kernel, started independently by Linus Torvalds in 1991 and released under the GPL 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.[8]

Linux (or 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[9][10] (except for GNU Hurd)
    The GNU packages consists of numerous operating system tools and utilities (shell, coreutils, compilers, libraries, etc.)[9][10] including a library implementation of all of the functions specified in POSIX System Application Program Interface (POSIX.1).[11][12] The GCC compiler can generate machine-code for a large variety of computer-architectures.[13]
  • Linux kernel - this implements program scheduling, multitasking, device drivers, memory management, etc. and allows the system to run on a large variety of computer-architectures.[14] Linus Torvalds released the Linux kernel under the GNU General Public License in 1992;[15] it is however not part of the GNU project.[16][17][18][19]
  • 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[20] 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[21] and Boost.[22] A complete listing of non-GNU programs under free licenses (including programs not mentioned at gnu.org) is maintained by the FSF.[23]

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

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,[25] 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);[26] these distros are usually based on modifications of the Debian distro,[27] 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, these distros include e.g. an online package database that also includes non-free software (i.e. zero-price, but without source). Therefore, the GNU project does not endorse them, since it maintains that this may guide users towards non-free software.[28][29]

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.

GNOME

The GNOME desktop 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 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.[30]

Gnash

Gnash is a software application designed 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

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

See also

Free software portal

References

External links

  • The GNU Free Software Directory
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.