GNU facts for kids
![]() |
|
Debian GNU/Hurd with Xfce4 and web browser Midori
|
|
Company / developer | Community |
---|---|
Programmed in | Various languages (notably C and assembly language) |
OS family | Unix-like |
Working state | Current |
Source model | Free software |
Marketing target | Personal computers, mobile devices, embedded devices, servers, mainframes, supercomputers |
Supported platforms | IA-32 (with Hurd kernel only) and Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, Itanium, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa, RISC-V (with Linux-libre kernel only) |
Kernel type | Microkernel (GNU Hurd) or Monolithic kernel (GNU Linux-libre, fork of Linux) |
Userland | GNU |
License | GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDG |
GNU (i/ɡnuː/ gnoo) is a huge collection of free software programs. Think of it as a big toolbox filled with many different computer tools. These tools can be used together to create a complete operating system. An operating system is the main software that makes your computer work.
Many people use GNU tools along with another important part called the Linux kernel. This combination is often called Linux. Most of GNU's software uses special rules called the GPL. These rules make sure the software stays "free."

GNU is also where the idea of "free software" first began. Richard Stallman, who started the GNU project, believes that software should be free for everyone. This means people should be able to use, share, study, and change the software. It's about making sure computer users have control over their technology.
Contents
What Does "GNU" Mean?
The name GNU is a clever recursive acronym. This means the first letter of "GNU" stands for "GNU" itself! So, GNU stands for "GNU's Not Unix!".
This name was chosen because GNU works a lot like another older operating system called Unix. However, GNU is different because it is completely free software. It also doesn't use any of Unix's original code. Richard Stallman picked the name with some fun wordplay, even thinking of a song called "The Gnu".
How Did GNU Start?
The Beginning of the GNU Project
The GNU software project was started by Richard Stallman. He began working on it while at a lab at MIT. He announced the GNU Project to the public on September 27, 1983.
Software development officially began on January 5, 1984. Stallman left his job at MIT so that the lab couldn't claim ownership of his work. This was important to make sure GNU components could be shared as free software.
Why Free Software?
The main goal was to create a computer operating system that was entirely free. Stallman wanted computer users to have four important freedoms:
- The freedom to study how the software works.
- The freedom to share the software with others.
- The freedom to change the software to make it better.
- The freedom to share their changed versions of the software.
This idea was written down in a document called the GNU Manifesto in March 1985.
Building the System
Richard Stallman had experience with an older operating system that stopped working when its special computer became old. Because of this, he decided GNU needed to work on many different types of computers. So, GNU was built using programming languages like C and Lisp. It was also designed to be similar to Unix, which was a popular system at the time.
Many parts of GNU had to be written from scratch. But some existing free software was also used. For example, the TeX system for making documents and the X Window System for computer graphics.
Most of GNU has been created by volunteers. Some worked in their free time, while others were paid by companies or schools. In October 1985, Stallman started the Free Software Foundation (FSF). This group hired developers to help write the software needed for GNU.
As GNU became more well-known, some businesses started helping with its development. They also sold GNU software and offered technical help. One of the most famous companies was Cygnus Solutions.
What Are GNU's Main Parts?
GNU is made up of many different programs, often called "packages." Some of the most important basic parts include:
- The GNU Compiler Collection (GCC): This is like a translator that turns computer code into programs your computer can understand.
- The GNU C library (glibc): This is a collection of basic functions that many programs use.
- GNU Core Utilities (coreutils): These are essential tools for managing files and running commands on your computer.
Other important GNU tools are the GNU Debugger (GDB), which helps fix computer programs, and the GNU Bash shell, which is a way to give commands to your computer. Many GNU programs are also used on other operating systems like macOS and Microsoft Windows.
As of June 2024, there are hundreds of GNU packages available on the official GNU website.
GNU as a Computer Operating System
An operating system is a set of programs that controls a computer's hardware and manages tasks. The very core part of an operating system is often called a kernel. The GNU project works on two of its own kernels. This allows for creating pure GNU operating systems. However, GNU's tools are also used with other kernels.
GNU Kernels
GNU maintains two main kernels:
GNU Hurd
The original kernel for the GNU Project is called the GNU Hurd. This was the first focus of the Free Software Foundation (FSF).
As of April 2015, a version of Debian GNU/Hurd was released. This means GNU now has all the parts needed to make a complete operating system that users can install. However, the Hurd kernel is still being developed. It's not yet considered ready for everyday use, but it's a good base for future work.
Linux-libre
In 2012, a special version of the Linux kernel became an official part of the GNU Project. This is called Linux-libre. It's a version of Linux where all parts that are not "free" have been removed.
The GNU Project supports using Linux-libre with GNU tools. Some operating systems that use Linux-libre include Trisquel, Parabola GNU/Linux-libre, PureOS, and GNU Guix System.
Using GNU with Other Kernels
Because the Hurd kernel is still in development, GNU is often used with other kernels. The most common one is the Linux kernel. It is also sometimes used with FreeBSD.
There is a discussion about what to call systems that combine GNU tools with the Linux kernel. The FSF believes that these systems should be called GNU/Linux. This is because the GNU tools make the Linux kernel into a full, usable operating system. Many large Linux systems, like Debian, also call themselves Debian GNU/Linux.
Copyright and GNU Licenses
The GNU Project suggests that people who contribute to GNU programs give their copyright to the Free Software Foundation. This helps the FSF make sure the software stays free.
Richard Stallman created a special set of rules called the GNU General Public License (GPL). He wrote this license to make sure users always have the freedom to share and change free software. This idea is often called copyleft. It means that anyone who gets a program with a GPL license has the right to run, copy, change, and share it. They cannot add new rules that take away these freedoms.
The GPL is now used by most GNU software. It's also used by many other free software projects, including the Linux kernel.
In 1991, another license was created called the GNU Lesser General Public License (LGPL). This one allows some parts of GNU software to be used with non-free software. In 2000, the GNU Free Documentation License (FDL) was created for documentation. In 2007, the GPL and LGPL were updated to protect users even more.
The GNU Logo
The logo for GNU is a picture of a gnu head. The first version was drawn by Etienne Suvasa. Now, a simpler and bolder version designed by Aurelio Heckert is usually used. You can see this logo on GNU software and in documents about the GNU Project. It's also used by the Free Software Foundation.
There was also a special version of the logo made in September 2013. This was to celebrate the 30th anniversary of the GNU Project.
See also
In Spanish: GNU para niños
- Free software movement
- History of free and open-source software
- List of computing mascots