less_retarded_wiki/gnu.md

49 lines
5.6 KiB
Markdown
Raw Normal View History

# GNU
GNU (*"GNU is Not Unix"*, a [recursive](recursion.md) acronym) is a large project started by [Richard Stallman](rms.md), the inventor of [free (as in freedom) software](free_software.md), running since 1983 with the goal of creating a completely free (as in freedom) [operating system](os.md), along with other free [software](software.md) that computer users might need. The project doesn't tolerate any [proprietary](proprietary.md) software. The project achieved its goal of creating a complete operating system when a [kernel](kernel.md) named [Linux](linux.md) became part of it in the 90s as the last piece of the puzzle -- the system is now known as GNU/Linux. However, the GNU project didn't end and continues to further develop the operating system as well as a myriad of other software projects it hosts. GNU gave rise to the [Free Software Foundation](fsf.md) and is one of the most important software projects in history of computing.
2023-04-07 17:07:39 +02:00
The mascot of GNU is literally gnu (wildebeest), it is available under a copyleft license.
2023-02-22 20:51:22 +01:00
The GNU/Linux operating system has several variants in a form of a few GNU approved "Linux" [ditributions](distro.md) such as [Guix](guix.md), [Trisquel](trisquel.md) or [Parabola](parabola.md). Most other "Linux" distros don't meet the strict standards of GNU such as not including any proprietary software. In fact the approved distros can't even use the standard version of [Linux](linux.md) because that contains proprietary [blobs](blob.md), a modified variant called [Linux-libre](linux_libre.md) has to be used.
GNU greatly prefers [GPL](gpl.md) [licenses](license.md), i.e. it strives for [copyleft](copyleft.md), even though it accepts even projects under permissive licenses. GNU also helps with enforcing these licenses legally and advises developers to transfer their [copyright](copyright.md) to GNU so that they can "defend" the software for them.
Although GNU is great and has been one of the best things to happen in software ever, it has its flaws. For example their programs are known to be kind of a [bloat](bloat.md), at least from the strictly [suckless](suckless.md) perspective. It also doesn't mind proprietary non-functional data (e.g. assets in video games) and their obsession with copyleft also isn't completely aligned with [LRS](lrs.md).
## History
2023-08-19 18:24:12 +02:00
The project officially started on September 27, 1983 by [Richard Stallman](rms.md)'s announcement titled *Free Unix!*. In it he expresses the intent to create a [free as in freedom](free_software.md) clone of the operating system [Unix](unix.md), and calls for people to join his effort (he also uses the term free software here). Unix was a good, successful de-facto standard operating system, but it was proprietary, owned by AT&T, and as such restricted by licensing terms. GNU was to be a similar system, compatible with the original Unix, but free as in freedom, i.e. freely available and allowing anyone to use it, improve it and share it.
In 1985 Richard Stallman wrote the GNU Manifesto, similar to the original project announcement, which further promoted the project and asked people for help in development. At this point the GNU team already had a lot of software for the new system: a text editor Emacs, a debugger, a number of utility programs and a nearly finished shell and [C](c.md) compiler ([gcc](gcc.md)).
At this point each program of the project still had its own custom license that legally made the software free as in freedom. The differences in details of these licenses however caused issues such as legal incompatibilities. This was addressed in 1989 by Richard Stallman's creation of a universal free software license: GNU General Public License ([GPL](gpl.md)) version 1. This license can be used for any free software project and makes these projects legally compatible, while also utilizing so called [copyleft](copyleft.md): a requirement for derived works to keep the same license, i.e. a legal mechanism for preventing people from making copies of a free project non-free. Since then GPL has become the primary license of the GNU project as well as of other unrelated projects.
## GNU Projects
GNU has developed an almost unbelievable amount of software, it has software for all basic and some advanced needs. As of writing this there are 373 software packages in the official GNU repository (at https://directory.fsf.org/wiki/Main_Page). Below are just a few notable projects under the GNU umbrella.
- [GNU Hurd](hurd.md) (OS [kernel](kernal.md), alternative to [Linux](linux.md))
- [GNU Compiler Collection](gcc.md) (gcc, compiler for [C](c.md) and other languages)
- [GNU C Library](glibc.md) (glibc, [C](c.md) library)
- [GNU Core Utilities](gnu_coreutils.md) (coreutils, basic utility programs)
- [GNU Debugger](gdb.md) (gdb, [debugger](debugger.md))
- [GNU Binary Utilities](gnu_binutils.md) (binutils, programs for working with binary programs)
- [GNU Chess](gnu_chess.md) (strong [chess](chess.md) engine)
- [GNU Go](gnu_go.md) ([go](go.md) game engine)
- [GNU Autotools](autotools.md) ([build system](build_system.md))
- [CLISP](clisp.md) (common [lisp](lisp.md) language)
- GNU Pascal ([pascal](pascal.md) compiler)
- [GIMP](gimp.md) (image manipulation program, a "free [photoshop](photoshop.md)")
- GNU Emacs ([emacs](emacs.md) text editor)
- [GNU Octave](octave.md) ([mathematics](math.md) software, "free Matlab")
- [GNU Mediagoblin](mediagoblin.md) (decentralized file hosting on the [web](web.md))
- GNU Unifont ([unicode](unicode.md) font)
- [GNU Privacy Guard](gpg.md) (gpg, OpenPGP encryption)
2023-04-07 17:07:39 +02:00
- ...
## See Also
- [Free Software Foundation](fsf.md)
- [Richard Stallman](rms.md)
- [copyleft](copyleft.md)
- [free software](free_software.md)