GNU Project
What is the GNU project?
The GNU project is a mass collaborative initiative for the development of free software, specifically a free operating system called GNU.
Of course, "free", in a software context, does not necessarily mean "free of cost". Rather, free refers to the freedom that users have to use, study, share and improve the software.
GNU (pronounced as g'noo) stands for GNU's not Unix, often said to be the first recursive acronym (an acronym in which one of the letters stands for the acronym itself). GNU is a free and open source software, one of many free operating systems (OSes) available today.
Development of the GNU OS started with the GNU Project in 1983 at MIT by Richard Stallman and his associates. His idea was to get around many of the restrictions that the proprietary software vendors of the era placed on their products. To do this, he tried to get software developers and users to cooperate with each other. In doing so, Stallman's goal was to democratize software development and distribution and thus create free software that anyone could run, copy, distribute, study, change and improve.
Emergence and development of the GNU project
In the early 1970s, a lot of software was freely distributed by software companies. But by the 1980s, this practice had almost disappeared and most software products available then were proprietary, with vendors placing certain restrictions on their use, distribution and sharing.
Stallman set up the GNU Project to get around these restrictions and promote the creation and adoption of open source software. In less than 10 years after kickstarting the project, Stallman and his colleagues had created a complete open source OS called GNU.
Stallman's group also combined their software with Linux. The GNU Linux project was started to create a Unix-like operating system created with source code that could be copied, modified and redistributed. Those stipulations are an implementation of Stallman's copyleft concept, a derivative of copyright law that serves "the opposite of its usual purpose: instead of a means of privatizing software, it becomes a means of keeping software free." Hence the slogan, "Copyleft: All rights reversed."
According to the GNU Linux project, the Linux OS kernel is Linux but all other elements of the system are GNU. Also, neither OS exists independently and as such Linux would more appropriately be called GNU Linux.
What is the GNU OS?
The GNU OS was designed as a complete OS, i.e., an OS with compilers, text editors, text formatters and other components. This Unix-like OS consists of programs released by the GNU Project known as "packages," as well as third-party free software, libraries and developer tools.
GNU is typically used with the Linux kernel developed by Linus Torvalds. This combination is the GNU/Linux OS. GNU also has its own kernel called Hurd. Development on the Hurd has been ongoing since 1990. It is the kernel's job to allocate machine resources, manage applications and underlying hardware, and enable users and applications to interact with the system.
GNU licenses
Two GNU licenses are available under the GNU Project: GNU GPL and LGPL.
The GNU General Public License, often shortened to GNU GPL (or simply GPL), lists the terms and conditions for copying, modifying and distributing free software. It guarantees that free software (to which the license applies) will remain free for all users. Additionally, GPL allows users to freely share, modify and distribute all versions of that program.
The GNU GPL also allows creators to charge for their programs. And anyone can ask creators for the program source code and then use the code (or parts of it) in their own free software programs.
The second type of license is called GNU Lesser General Public License or LGPL. Originally called the GNU Library General Public License, LGPL includes many of the same terms and conditions from the GPL plus some additional permissions and conditions around conveying modified versions of a software library, incorporating material from a library header file into object code, and conveying a combined works under a user's chosen terms.
Present and future direction of the GNU Project
Since its inception, the GNU Project -- and later the Free Software Foundation -- has continued to champion the open source movement. In fact, in many ways, the project is considered the forerunner of the open source movement.
Today, the GNU Project continues to provide free software, as well as other peripheral offerings like resources, documentation and books for software developers. The project also continues to promote open source software and looks for ways to deal with the biggest challenge to the open source movement: patents and (what it deems as) unfair monopolies.
The 4 pillars of free software like GNU
After setting up the GNU Project in 1983, Richard Stallman set up the Free Software Foundation in 1985 to advance knowledge about free software and to advocate for its development and use.
Today, all free software, including GNU OS, is based on four freedoms: use, study, share, improve. This means that any user has the freedom to use free software like GNU without restrictions and for any purpose; study it without having to sign nondisclosure agreements (NDA); copy and share GNU with anyone; and modify, improve and share it in any public forum.
As long as the software's license contains these four freedoms, the software is considered free. Any software whose license agreement does not contain even one of the freedoms cannot be considered free. Any software that does not appear in a list of reviewed and approved licenses maintained by the Free Software Foundation and the Open Source Initiative is also not considered free.
Learn how to troubleshoot the Linux kernel using a crash tool and why not all open source is created equal. See why developers should ask themselves if they have license to build with that (open) software and how open source license issues can stymie enterprise contributions projects. Check out 83 useful Linux commands.