The GNU Project (/ɡnuː/ (listen)) is a free-software, mass-collaboration project, first announced on September 27, 1983 by Richard Stallman at MIT. Its aim is 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.
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. Development was initiated in January 1984. In 1991, the Linux kernel appeared, developed outside the GNU project by Linus Torvalds, and in December 1992 it was made available under version 2 of the GNU General Public License. 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.
The project's current work includes software development, awareness building, political campaigning and sharing of the new material.
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". 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
ld). 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.
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.
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. 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.
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.
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 associate members, purchases, and donations support the GNU project.
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 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 lax, push-over free software license.
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 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 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 and was released as free software under the GNU General Public License. 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 28 years ago.
Today 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, resulting in the GNU/Linux naming controversy.
Today most Linux distros combine GNU packages with a Linux kernel which contains proprietary binary blobs and a number of proprietary programs.
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 this includes 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). Distributions that have adopted the GNU FSDG includes Dragora GNU/Linux-libre, gNewSense, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, Trisquel GNU/Linux, Ututo, and a few others.
The Fedora Project distribution license guidelines were used as a basis for the FSDG.
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 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.
GNU Enterprise (GNUe) is a meta-project started in 1996, 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).
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".
We thank Aurelio A. Heckert...for donating this graphic to us.
This graphic was drawn by Etienne Suvasa
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.
...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...
today our focus is on the cloud and on mobile, and we are quite clearly leading GNU/Linux on both fronts
It may not be ready for production use, as there are still some bugs and missing features.
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.
Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been distributed widely as the default login shell for most Linux distributions and Apple's macOS (formerly OS X). A version is also available for Windows 10. It is also the default user shell in Solaris 11. Bash is a command processor that typically runs in a text window where the user types commands that cause actions. Bash can also read and execute commands from a file, called a shell script. Like all Unix shells, it supports filename globbing (wildcard matching), piping, here documents, command substitution, variables, and control structures for condition-testing and iteration. The keywords, syntax and other basic features of the language are all copied from sh. Other features, e.g., history, are copied from csh and ksh. Bash is a POSIX-compliant shell, but with a number of extensions.
The shell's name is an acronym for Bourne-again shell, a pun on the name of the Bourne shell that it replaces
and on the common term "born again".A security hole in Bash dating from version 1.03 (August 1989), dubbed Shellshock, was discovered in early September 2014 and quickly led to a range of attacks across the Internet. Patches to fix the bugs were made available soon after the bugs were identified.Electric (software)
The Electric VLSI Design System is an EDA tool written in the early 1980s by Steven M. Rubin. Electric is used to draw schematics and to do integrated circuit layout.
It can also handle hardware description languages such as VHDL and Verilog. The system has many analysis and synthesis tools, including Design rule checking, Simulation, Routing, Layout vs. Schematic, Logical Effort, and more.
Electric is currently part of the GNU project and has been developed in Java and distributed as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 3 or any later.GCompris
GCompris is a software suite comprising educational entertainment software for children aged 2 to 10. GCompris was originally written in C and Python using the GTK+ widget toolkit, but a rewrite in C++ and QML using the Qt widget toolkit is since early 2014 in process. GCompris is free and open-source software subject to the requirements of the GNU General Public License version 3 and has been part of the GNU project.The name GCompris is a pun, in the French language is pronounced the same as the phrase "I have understood", J'ai compris [ʒekɔ̃ˈpʁi].
It is available for Linux, macOS and Windows. Binaries compiled for Microsoft Windows and macOS are distributed with a restricted number of activities; it is possible to access all the activities for a fee.GNU
GNU (listen) is an operating system and an extensive collection of computer software. GNU is composed wholly of free software, most of which is licensed under the GNU Project's own General Public License (GPL).
GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code.
The GNU project includes an operating system kernel, GNU HURD, which was the original focus of the Free Software Foundation (FSF).
However, given the Hurd kernel's status as not yet production-ready, non-GNU kernels, most popularly the Linux kernel, can also be used with GNU software. The combination of GNU and Linux has become ubiquitous to the point that the duo is often referred to as just "Linux" in short, or, less frequently, GNU/Linux. (see the GNU/Linux naming controversy)
Richard Stallman, the founder of the project, views GNU as a "technical means to a social end". Relatedly Lawrence Lessig states in his introduction to the second edition of Stallman's book Free Software, Free Society that in it Stallman has written about "the social aspects of software and how Free Software can create community and social justice".GNU IceCat
GNU IceCat, formerly known as GNU IceWeasel, is a free software rebranding of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with GNU/Linux, Windows, Android and macOS.The GNU Project attempts to keep IceCat in synchronization with upstream development of Firefox while removing all trademarked artwork. It also maintains a large list of free software plugins. In addition, it features a few security features not found in the mainline Firefox browser.GNU Manifesto
The GNU Manifesto was written by Richard Stallman and published in March 1985 in Dr. Dobb's Journal of Software Tools as an explanation of goals of the GNU Project, and as a call for support and participation in developing GNU, a free software computer operating system. It is held in high regard within the free software movement as a fundamental philosophical source.The full text is included with GNU software such as Emacs, and is publicly available.GNU Scientific Library
The GNU Scientific Library (or GSL) is a software library for numerical computations in applied mathematics and science. The GSL is written in C; wrappers are available for other programming languages. The GSL is part of the GNU Project and is distributed under the GNU General Public License.GNU TeXmacs
GNU TeXmacs is a scientific word processor and typesetting component of the GNU Project. It was inspired by TeX and GNU Emacs, though it shares no code with those programs. TeXmacs does use TeX fonts. It is written and maintained by Joris van der Hoeven. The program produces structured documents with a WYSIWYG user interface. New document styles can be created by the user. The editor provides high-quality typesetting algorithms and TeX fonts for publishing professional looking documents.GNU variants
GNU variants (also called GNU distributions or distros for short) are operating systems based upon the GNU operating system (the Hurd kernel, the GNU C library, system libraries and application software like GNU coreutils, bash, GNOME, the Guix package manager etc.). 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.GNU users usually obtain their operating system by downloading GNU distributions, which are available for a wide variety of systems ranging from embedded devices (for example, LibreCMC) and personal computers (for example, Debian GNU/Hurd) to powerful supercomputers (for example, Rocks Cluster Distribution).GNUstep
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.
GNUstep features a cross-platform, object-oriented IDE. Apart from the default Objective-C interface, GNUstep also has bindings for Java, Ruby, Guile and Scheme. The GNUstep developers track some additions to Apple's Cocoa to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa: NeXTSTEP and OpenStep. GNUstep thus predates Cocoa, which emerged when Apple acquired NeXT's technology and incorporated it into the development of the original Mac OS X, while GNUstep was initially an effort by GNU developers to replicate the technically ambitious NeXTSTEP's programmer-friendly features.Guix System Distribution
Guix System Distribution (abbreviated GuixSD) is a Linux distribution built around the GNU Guix package manager. It uses the Linux-libre kernel, with support for the GNU Hurd kernel under development. On February 3, 2015, the distribution was added to the Free Software Foundation's list of free Linux distributions.Jami (software)
Jami (formerly GNU Ring, SFLphone) is a SIP-compatible softphone and SIP-based instant messenger for Linux, Microsoft Windows, OS X, iOS and Android.
Developed and maintained by the Canadian company Savoir-faire Linux, and with the help of a global community of users and contributors, Jami positions itself as a potential free Skype replacement.Jami is free and open-source software released under the GNU General Public License. In November 2016, it became part of the GNU Project.Two account types are currently available, and many of each type can be configured concurrently. Both types offer similar features including messaging, video and audio. The account types are SIP and Ring. A SIP account enables the Jami softphone to connect to a standard SIP server and a Ring account can register (or use an account set up) on the decentralised Jami network which requires no central server.
By adopting distributed hash table technology (as used, for instance, within the BitTorrent network), Jami creates its own network over which it can distribute directory functions, authentication and encryption across all systems connected to it.Packages are available for all major Linux distributions including Debian, Fedora, and Ubuntu. Separate GNOME and KDE versions are available. Documentation is available on Ring's Tuleap wiki.As of 18 December 2018, Ring was renamed to Jami.Linux-libre
Linux-libre () is an operating system kernel and a GNU package.The GNU Project attempts to keep Linux-libre in synchronization with upstream development of the Linux kernel while removing any software that does not include its source code, has its source code obfuscated, or is released under proprietary licenses.
Software components with no available source code are called binary blobs and, as such, are mostly used for proprietary firmware images in the Linux kernel. While generally redistributable, binary blobs do not give the user the freedom to audit, modify or, consequently, redistribute their modified versions.List of GNU packages
A number of notable software packages were developed for, or are maintained by, the Free Software Foundation as part of the GNU Project.Matt Lee (artist)
Matt Lee (born July 21, 1981) is a British artist, comedian, director, software freedom activist, hacker, and writer. He is a free software developer previously at GitLab and was formerly technical lead of Creative Commons, from 2014-2016. He is a speaker and webmaster for the GNU Project. He also founded the GNU social and GNU FM projects.
Between 2008 and 2012, Lee was the main contact behind the Free Software Foundation Defective by Design and Play Ogg campaigns. He also served as the chief-webmaster for the GNU Project.In 2007, Lee wrote and produced Happy Birthday to GNU starring Stephen Fry, a short film to commemorate the 25th anniversary of the GNU Project. The final product was released under a Creative Commons license. In 2015, he co-wrote and directed his first feature, Orang-U: An Ape Goes To College.Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), often known by his initials, RMS, is an American free software movement activist and programmer. He campaigns for software to be distributed in a manner such that its users receive the freedoms 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, developed the GNU Compiler Collection and GNU Emacs, and wrote the GNU General Public License.
Stallman launched the GNU Project in September 1983 to create a Unix-like computer operating system composed entirely of free software. With this, he also launched the free software movement. He has been the GNU project's lead architect and organizer, and developed a number of pieces of widely used GNU software including, among others, the GNU Compiler Collection, the GNU Debugger and the GNU Emacs text editor. In October 1985 he founded the Free Software Foundation.
Stallman pioneered the concept of copyleft, which uses the principles of copyright law to preserve the right to use, modify and distribute free software, and is the main author of free software licenses which describe those terms, most notably the GNU General Public License (GPL), the most widely used free software license.In 1989, he co-founded the League for Programming Freedom. Since the mid-1990s, Stallman had spent most of his time advocating for free software, as well as campaigning against software patents, digital rights management (which he referred to as digital restrictions management, calling the more common term misleading), and other legal and technical systems which he sees as taking away users' freedoms. This has included software license agreements, non-disclosure agreements, activation keys, dongles, copy restriction, proprietary formats and binary executables without source code.The Free Software Definition
The Free Software Definition written by Richard Stallman and published by Free Software Foundation (FSF), defines free software as being software that ensures that the end users have freedom in using, studying, sharing and modifying that software. The term "free" is used in the sense of "free speech," not of "free of charge." The earliest-known publication of the definition was in the February 1986 edition of the now-discontinued GNU's Bulletin publication of FSF. The canonical source for the document is in the philosophy section of the GNU Project website. As of April 2008, it is published there in 39 languages. FSF publishes a list of licences which meet this definition.William John Sullivan
William John Sullivan (more commonly known as John Sullivan) (born December 6, 1976) is a software freedom activist, hacker, and writer. John is currently executive director of the Free Software Foundation, where he has worked since early 2003. He is also a speaker and webmaster for the GNU Project. He also maintains the Plannermode and delicious-el packages for the GNU Emacs text editor.
Active in both the free software and free culture communities, Sullivan has a BA in philosophy from Michigan State University and an MFA in Writing and Poetics. In college, Sullivan was a successful policy debater, reaching finals of CEDA Nationals and the semifinals of the National Debate Tournament.Until 2007, John was the main contact behind the Defective by Design, BadVista and Play Ogg campaigns. He also served as the chief-webmaster for the GNU Project, until July 2006.He has served as Executive Director of the Free Software Foundation since 2011.XBoard
XBoard is a graphical user interface chessboard for chess engines under the X Window System. It is developed and maintained as free software by the GNU project. WinBoard is a port of XBoard to run natively on Microsoft Windows.