ArticleslgStudy

computer science

GNU

GNU is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand GNU rather than just read about it. In short: GNU ( GNOO) is an extensive collection of free software (387 packages as of June 2025), which can be used as an operating system or can be used in parts with other operating systems. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

GNU — main illustration
GNU — illustration

Key takeaways

  • GNU belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect GNU to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of GNU from memory before moving on to harder problems.

Reference excerpt

GNU ( GNOO) is an extensive collection of free software (387 packages as of June 2025), which can be used as an operating system or can be used in parts with other operating systems. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

GNU is also the project within which the free software concept originated. 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".

Name 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. Stallman chose the name by using various plays on words, including the song "The Gnu".

History Before the 1980s there existed a widespread practice of sharing software in ways similar to what is now considered free software where the participants are free to share copies of the software. Richard Stallman was a part of a group of developers at the MIT Artificial Intelligence Laboratory working on the Incompatible Timesharing System, an operating system which was effectively developed as what is now seen as free software. This community soon fell to ruin, however, as the PDP-10 platform which the operating system was developed for was discontinued. According to Stallman, what prompted him to start the GNU Project was having previously had an experience with Xerox refusing to give him access to the source code of a laser printer used at the MIT Lab, now with the realization that this community of sharing software would end and noticing the advancing spread of proprietary software which had undone the culture of sharing software that had previously existed, Richard Stallman refused to adapt by continuing with proprietary software, and he instead decided that with this skills as an operating systems programmer, he would begin the development of a new free software operating system and to recreate a community of sharing software that was lost, called GNU. Development of the GNU software was initiated by Richard Stallman while he worked at the MIT Artificial Intelligence Laboratory. It was called the GNU Project, and was publicly announced on September 27, 1983, on the net.unix-wizards and net.usoft newsgroups by Stallman. Software development began on January 5, 1984, when Stallman quit his job at the Lab so that they could not claim ownership or interfere with distributing GNU components as free software. The goal was to bring a completely free software operating system into existence. Stallman wanted computer users to be free to study the source code of the software they use, share software with other people, modify the behavior of software, and publish their modified versions of the software. This philosophy was published as the GNU Manifesto in March 1985. Richard Stallman's experience with the Incompatible Timesharing System (ITS), an early operating system written in assembly language that became obsolete due to discontinuation of PDP-10, the computer architecture for which ITS was written, led to a decision that a portable system was necessary. It was thus decided that the development would be started using C and Lisp as system programming languages, and that GNU would be compatible with Unix. At the time, Unix was already a popular proprietary operating system. The design of Unix was modular, so it could be reimplemented piece by piece. Much of the needed software had to be written from scratch, but existing compatible third-party free software components were also used such as the TeX typesetting system, the X Window System, and the Mach microkernel that forms the basis of the GNU Mach core of GNU Hurd (the official kernel of GNU). With the exception of the aforementioned third-party components, most of GNU has been written by volunteers; some in their spare time, some paid by companies, educational institutions, and other non-profit organizations. In October 1985, Stallman set up the Free Software Foundation (FSF). In the late 1980s and 1990s, the FSF hired software developers to write the software needed for GNU. As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. The most prominent and successful of these was Cygnus Solutions, now part of Red Hat.

Components

The system's basic components include the GNU Compiler Collection (GCC), the GNU C library (glibc), and GNU Core Utilities (coreutils), but also the GNU Debugger (GDB), GNU Binary Utilities (binutils), and the GNU Bash shell. GNU developers have contributed to Linux ports of GNU applications and utilities, which are now also widely used on other operating systems such as BSD variants, Solaris and macOS. Many GNU programs have been ported to other operating systems, including proprietary platforms such as Microsoft Windows and macOS. GNU programs have been shown to be more reliable than their proprietary Unix counterparts. As of June 2024, there are a total of 467 GNU packages (including decommissioned, 394 excluding) hosted on the official GNU development site.

GNU as an operating system The original kernel of GNU Project is the GNU Hurd (together with the GNU Mach microkernel), which was the original focus of the Free Software Foundation (FSF). With the April 30, 2015 release of the Debian GNU/Hurd 2015 distribution, GNU now provides all required components to assemble an operating system that users can install and use on a computer. However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.

Non-GNU kernels

Because of the development status of Hurd, GNU is usually paired with other kernels such as Linux or FreeBSD. 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:

… excerpt ends here. Continue reading the full article.

Illustrations

GNU illustration
GNU illustration
GNU: Richard Stallman, founder of the GNU project
Richard Stallman, founder of the GNU project
GNU: Parabola GNU/Linux-libre, an example of an FSF approved distribution that uses a rolling release model
Parabola GNU/Linux-libre, an example of an FSF approved distribution that uses a rolling release model
GNU: Trisquel, an example of an FSF approved distribution
Trisquel, an example of an FSF approved distribution

Worked examples

Example 1 — a first encounter with GNU

Start with the simplest possible case. Write down what GNU claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to GNU before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about GNU ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of GNU

In research
GNU appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses GNU in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
GNU is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computing acronyms, Free software operating systems, GNU Project, so understanding it makes those chapters shorter.
In everyday life
Look for GNU outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “GNU” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study GNU in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what GNU means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain GNU out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is GNU in simple terms?

GNU ( GNOO) is an extensive collection of free software (387 packages as of June 2025), which can be used as an operating system or can be used in parts with other operating systems. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

Why does GNU matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study GNU?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on GNU.

Tags

  • Computing acronyms
  • Free software operating systems
  • GNU Project
  • Mach (kernel)
  • Microkernel-based operating systems
  • Unix variants

Keep exploring