GNU Project
The GNU project is a collaborative free software project with the goal of creating a completely free operating system: the GNU system. It was announced by Richard Stallman in 1983. Its goal is to give computer users freedom and control in the use of their computers and computing devices by collaboratively developing and publishing software that grants everyone the rights to freely run the software., copy and distribute it, study it and modify it. GNU software grants these rights in its license.
To ensure that all software on a computer gives its users all rights of freedom (use, share, study, modify), including the most fundamental and important part, the operating system (including all its numerous utility programs) needs to be free software. According to its manifesto, the project's founding goal is to build a free operating system and, if possible, "all the utilities that normally accompany a Unix system so that any non-free software can be dispensed with". Stallman decided to call this operating system GNU (a recursive acronym meaning "GNU is not Unix!"), basing its design on that of Unix, a proprietary operating system. Development began 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 enabled the first free software operating system, commonly known as Linux.
Current project work includes software development, awareness raising, political campaigning, and sharing new material.
Etymology
GNU is a recursive acronym that stands for GNU is Not Unix (GNU is Not Unix). Note that the "G" in turn means "GNU". Since in American English "gnu" pronounced similar to "new", Richard Stallman recommends pronouncing it with a "g" not silent to avoid suggesting that it is something new. In Spanish, it is recommended to pronounce it "ñu" as the African antelope, or phonetically as in English. In his talk Richard Stallman finally says: " It can be pronounced either way, the only mispronunciation is to call it Linux ".
History
In the 1970s UNIX was a non-free or proprietary operating system that was very popular among the small academic and industrial users of the time. Its success is attributed to its portability, then enormous; to its relatively simple architecture that has proven to be technically stable; and old liberal software distribution practices coupled with antitrust regulations, which forced its owner AT&T for a time to offer the code for free to various institutions.
Meanwhile, Stallman came from a completely different tradition of programming at MIT Labs, where other indigenous operating systems were used under the control of their users, such as the Incompatible Timesharing System. By the early 1980s, the MIT hacker community was collapsing along with its systems. Many members left to develop proprietary software for companies like Symbolics, and the new wave was replacing old MIT software that got locked into hardware architectures. Having gotten used to modifying and sharing such programs in extinction; Stallman claims that the development of a modern and portable free operating system (and with it the launch of the free software movement) was a reaction against what otherwise seemed to him an unpleasant future surrounded by proprietary software. Thus the GNU system was designed to be fully compatible with UNIX; taking advantage of both the modular and portable design and its users.
On September 27, 1983, the project was first publicly announced on the Usenet newsgroup. The original announcement was followed by other essays written by Richard Stallman such as the "GNU Manifesto", which established his motivations for carrying out the GNU project, among which "back to the spirit of cooperation that prevailed in the early days of the community of computer users". Programming began in 1984.
Stallman had been disappointed when he offered his free programs to Symbolics, but they were not accepted. Within his GNU project announcements, Stallman talks for the first time about the idea of avoiding offering his new programs in the full public domain. To ensure that the GNU software remained free for all its users regardless of distributors and intermediaries, the project had to be released under a copyright license designed to offer the freedoms while prohibiting further restrictions. The idea is known as copyleft, and is represented in the GNU General Public License (GNU GPL) among others.
In 1985, Stallman created the Free Software Foundation (FSF) which provides logistical, legal and financial support to the GNU project. The FSF also hired programmers to contribute to GNU, although a substantial portion of development is produced by volunteers. As GNU gained popularity, interested companies appeared and began to contribute to the development or commercialization of GNU products and the corresponding technical support. The most prominent and successful of these was Cygnus Solutions, now part of Red Hat.
Being compatible with the UNIX architecture means that GNU is made up of small individual pieces, some of which were already freely available, such as the TeX typographic system and the X Window graphic system that could be adapted and reused. Many others, on the other hand, had to be developed from scratch to then be freely offered. By 1990 the GNU Project had completed the rewrite of the well-known Emacs text editor, the creation of the GCC compiler, the Bash shell command interpreter, and most of the component libraries and utilities. a typical UNIX operating system. These enjoyed immediate adoption and success, but a key component was missing: the kernel in English.
In the GNU manifesto, Stallman mentions that "an initial kernel exists, but many other programs are needed to emulate Unix". He was referring to TRIX, which is a remote procedure call kernel, developed by MIT and whose authors decided that it should be freely distributed; TRIX was fully compatible with UNIX version 7. In December 1986 work had already been done to modify this kernel. However, the programmers decided that it was not initially usable, as it only worked on "some extremely complicated and expensive hardware", which is why it would have to be ported to other architectures before it could be used. Finally, in 1988, it was decided to use the Mach microkernel developed at CMU as a base. Initially, the core was named after Alix (this was the name of Stallman's girlfriend), but by decision of the programmer Michael Bushnell it was changed to Hurd. Starting programming in the early 1990s. Unfortunately, due to technical reasons and conflicts between the original programmers, the development of Hurd was greatly delayed. Hurd didn't see the light of usability until the mid-2000s. Fortunately, people didn't have to wait until then for a fully functional system; other kernels had already captured the attention of programmers and reached further maturity.
Armed with GNU tools, in 1991 then-Finnish college student Linus Torvalds began writing the Linux kernel inspired by the Minix operating system created by American computer science professor Andrew Tanenbaum. In his early public announcements, Torvalds attributed his action to frustration at not being able to use Minix commercially, and the absence of free Unix-like kernels such as GNU Hurd; or the Unix-descendant BSD, which was then purging code. original proprietary of AT&T and legally defending itself against it. Despite their disagreements over the release of Linux, both Torvalds and Tanenbaum predicted that the superior GNU kernel would eventually make Linux and Minix obsolete. In 1992 Torvalds decided to change Linux's non-commercial license to the GPL. Quickly, multiple programmers joined the development, collaborating over the Internet and gradually making Linux more serious, powerful and compatible with UNIX. Linux was combined with the rest of the GNU system, resulting in a free and fully functional operating system that continues to evolve to this day. The combination is known as "GNU/Linux" or as a "Linux distribution" and there are several variants.
It is also common to find GNU components installed on a BSD or non-free UNIX system, instead of the original UNIX programs. This is because many of the programs written by the GNU project have proven to be of higher quality. quality than their equivalent UNIX versions. These components are often referred to collectively as "GNU tools". Many of the GNU programs have also been ported to other operating systems such as Microsoft Windows and Mac OS X.
GNU Manifesto
Main article: GNU Manifesto
The GNU Manifesto was written by Richard Stallman to gain support and participation in the GNU Project. In the GNU Manifesto, Stallman lists four essential freedoms for software users:
- Freedom to execute the program for any purpose (freedom 0).
- The freedom to study how the program works, and change it to do whatever you want (free 1). Access to the source code is a necessary condition for this.
- The freedom to redistribute copies to help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to third parties (freedom 3). This allows you to offer the entire community the opportunity to benefit from the modifications. Access to the source code is a necessary condition for this.
To implement these freedoms, users needed full access to the code. To ensure that the code remains free and make it available to the public, Stallman created the GNU General Public License (GPL), which allows the software and future generations of code derived from it to remain free for public use.
Philosophy and activism
Main article: Free software movement
Although most of the GNU Project's output is technical in nature, it was launched as a social, ethical, and political initiative. In addition to producing software and licences, the GNU Project has published various writings, most of which have been written by Richard Stallman.
Free Software
The GNU Project uses software that users are free to copy, edit, and distribute. It is free in the sense that users can change the software to suit their individual needs. The way programmers get free software depends on where they get it. They can supply the software to the programmer friends or they can download it from the Internet, or the company the programmer works for can purchase the software.
Backgrounds
Proceeds from partners and donations support the GNU project.
Copyleft
Main article: Copyleft
Copyleft is what helps keep this software free to use by other programmers. Copyleft gives everyone the legal right to use, edit, and redistribute programs or the code of the programs as long as the distribution terms do not change. Consequently, any user who legally obtains the software has the same freedoms as the rest of its users.
The GNU Project and the Free Software Foundation sometimes distinguish between "strong" and "weak". "weak" they normally allow distributors to link them with non-free programs, while "strong" strictly prohibits this practice. Most of the GNU Project's output is released under strong copyleft, although some is released under a weak copyleft or lax and unproductive Free Software license.
Operating system development
Main article: GNU
The first goal of the GNU project was to create a complete free software operating system. Because UNIX was already widespread and ran on more powerful machines, compared to contemporary CP/M or MS-DOS machines of the time, it was decided that it would be a Unix-like operating system. Richard Stallman later commented that he considered MS-DOS "a toy".
By 1992, the GNU project had completed all of the major operating system utilities, but had not completed the proposed operating system kernel, GNU Hurd. With the release of the Linux kernel, pioneered independently by Linus Torvalds in 1991, and released under the GPL in version 0.12 in 1992, it became possible for the first time to run an operating system made entirely of free software. Although the Linux kernel is not part of the GNU project, it was developed using GCC and other GNU programming tools and released as free software under the GNU General Public License. So far, the GNU project has not released a version of GNU/Hurd that is suitable for production environments.
GNU/Linux
A stable version (or variant) of GNU can be run by combining the GNU packages with the Linux kernel, creating a functional Unix-like system. The GNU project calls this GNU/Linux, and the defining features are the combination of:
- GNU Packages (except GNU Hurd) - The GNU packages consist of numerous tools and utilities of the operating system (shell, choreutils, compilers, libraries, etc.), including a library implementation of all functions specified in the application program interface of the POSIX system (POSIX.1). The GCC compiler can generate machine code for a variety of computer architectures.
- Linux Kernel: implements program programming, multitasking, device drivers, memory management, etc. and allows the system to run into a variety of computer architectures. Linus Torvalds launched the Linux kernel under the GNU General Public License in 1992; however, it is not part of the GNU project.
- Programs that are not GNU: several free software packages that are not part of the GNU Project but are published under the GNU General Public License or other Free Software License approved by the FSF.
On the GNU website, there is a list of projects and all have detailed the type of developer who can perform the task required for a certain part of the GNU project. The skill level varies from project to project, but anyone with prior programming knowledge is encouraged to support the project.
The GNU toolset, along with the Linux kernel and other software, is often referred to as 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.
Most Linux distributions combine GNU packages with a Linux kernel that contains proprietary binary blobs and various proprietary programs. Although there are distributions that do not use proprietary or suspected lines of code in the Linux kernel, the term Linux Libre is often used for them. Some of them are shown on the GNU website, which are recommended by it.
GNU Free System Distribution Guidelines
The GNU Free System Distribution Guidelines (GNU FSDG) is a distribution system agreement used to explain what it means for an installable system distribution (such as a GNU/Linux distribution) to be called free and to help to the developers of the distribution to make them of quality.
Mainly includes distributions that are a combination of GNU packages with a Linux-libre kernel (a modified Linux kernel, which removes binary blobs, obfuscated code, and parts of code under proprietary licenses) and consists only of free software (avoiding free software). full owner). Distributions that have adopted the GNU FSDG include Dragora GNU/Linux-Libre, gNewSense, GNU Guix System, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, Trisquel GNU/Linux, Ututo, and a few others.
The Fedora Project distribution license was used as guidelines for FSDG.
Strategic projects
See also: FSF High priority projects
From the mid-1990s onwards, with many companies investing in free software development, the Free Software Foundation redirected its funds towards legal and political support of free software development. Software development from then on was 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, the components of which have been adopted as the standard compiler system on many Unix-like systems.
GNOME
The GNU Project released the GNOME desktop as the other desktop environment, KDE, was becoming popular but required users to install Qt, which was then proprietary software. To avoid installing KDE with Qt, the GNU Project released two projects simultaneously. One was the Harmony Library. That it was an attempt to replace Qt with free software. If this project had been successful, the problem with KDE would be over. The second project was GNOME, which tackled the same problem from a different angle. His goal was to create a replacement for KDE that did not rely on proprietary software. The Harmony project didn't make much progress, but GNOME developed very well. Finally, the proprietary component on which KDE depended (Qt) was released as free software.
GNU Company
GNU Enterprise (GNUe) is a meta-project started in 1996 and can be considered as a sub-project of the GNU Project. GNUe's goal is to create "enterprise-class data-aware applications" free (enterprise resource planning systems, etc.). GNUe is designed to collect enterprise software for the GNU system in one location (much like the GNOME project collects desktop software).
Programs developed by the GNU project
- Bison: syntactic analyzer generator designed to replace yacc.
- Bash: command interpreter.
- Bbf: library files.
- Binutils: GNU Assemblyer, GNU Linker, and related tools.
- Classpath: libraries for Java.
- DotGNU: substitute for.NET.
- Emacs: Extensible and self-documented text editor.
- GCC: optimized compiler for various languages, particularly C.
- GDB: app debugger.
- GNU Ghostscript: conjunto de aplicaciones para PostScript y PDF.
- GIMP: program editing photographic images as drawing files.
- Glibc: library for language C.
- GMP: library for calculations with arbitrary precision.
- GNOME: graphical desktop environment.
- GNUnet: software for decentralized networks of personal communications, designed to withstand unauthorized interference.
- GNUstep: implementation of the OpenStep library set, as well as tools for programming graphic applications.
- GNU MDK: a set of tools for programming in MIX.
- GSL: science library for GNU.
- Guix: purely functional package manager.
- Gzip: application and library for data compression.
- Hurd: a micronucleus and a set of servers that work the same way as the UNIX core.
- LilyPond: Music Score Editor.
- Maxima: a computer algebraic system.
- Octave: a numerical computing program similar to MATLAB.
- GNU Construction System: Set of tools designed to help create portable source packages to various Unix systems.
- Texinfo: documentation system.
The GNU project also helps with the development of other packages, such as:
- CVS - version control system for source code.
- DDD - graphical tools for detecting and debugging errors.
GNU Distributions
The few purely GNU variants use the Hurd kernel, for example Debian GNU/Hurd, although there have been no official releases so far.
Linux is the most widely used kernel with GNU, although Linux itself is not part of the GNU project (Linux-libre is, however). GNU is also used with other kernels, such as Debian GNU/kFreeBSD, Debian GNU/NetBSD, Nexenta OS or GNU-Darwin.
Currently the distributions that the FSF recommends are those that come with the Linux-libre kernel and that use exclusively free software. Some of these are Trisquel GNU/Linux, Parabola GNU/Linux among others. The complete list can be seen on the GNU website.
Contenido relacionado
Flash memory
Lisp
Commodore 64