Aller au contenu

GNU

Un article de Wikipédia, l'encyclopédie libre.

GNU
Logo
Image illustrative de l’article GNU

Famille Type Unix
Langues Multilingue
Type de noyau Micronoyau
État du projet Actif
Plates-formes IA-32 (avec le noyau Hurd seulement) et 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 (avec le noyau Linux-libre seulement)
Entreprise /
Fondateur
Richard StallmanVoir et modifier les données sur Wikidata
Entreprise /
Développeur
Projet GNU
Licence GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDG[1]
États des sources Logiciel libre
Première version Voir et modifier les données sur Wikidata
Méthode de mise à jour Telechargement
Gestionnaire de paquets GNU GuixVoir et modifier les données sur Wikidata
Site web www.gnu.org/home.en.html, www.gnu.org/home.fr.html et www.gnu.org/home.it.htmlVoir et modifier les données sur Wikidata

GNUÉcouter est un système d’exploitation libre créé en 1983 par Richard Stallman, maintenu par le projet GNU. Il reprend les concepts et le fonctionnement d’UNIX[n 1].

Les logiciels qui composent GNU sont généralement utilisés en association avec des logiciels libres[2] issus d'autres projets tels que le noyau Linux.

Son symbole est un gnou, bovidé vivant en Afrique[n 2].

Logo du trentième anniversaire du projet GNU.

Le , Richard Stallman dévoile dans la pure tradition hacker son projet de développer un système d’exploitation compatible UNIX appelé GNU — acronyme récursif qui signifie en anglais « GNU’s Not UNIX » (littéralement, « GNU n’est pas UNIX ») —[3], en invitant la communauté hacker à le rejoindre et participer à son développement. Cette annonce succède à la « guerre » déclarée par Symbolics au laboratoire d’intelligence artificielle du MIT et à la disparition de la communauté hacker Lisp[4]. Il annonce que le système pourra être utilisé et partagé librement par tous comme ce fut le cas avec Emacs[5]. Concrètement il relate l’effort à accomplir, dont on distingue déjà en 1985 certaines pièces maîtresses : le compilateur GCC finalisé dès [5], une version emacs compatible UNIX, etc.

L’effort sera opiniâtrement poursuivi, et, au début des années 1990, le projet GNU possède une version utilisable de tous les éléments nécessaires à la construction d’un système d’exploitation. Il développe, outre ceux cités précédemment, un shell, des bibliothèques, les composants de base, les outils de développement… Exception faite du plus central : le noyau.

Le projet GNU initie alors en 1990 le projet de production d'un noyau nommé Hurd[6].

Selon Thomas Bushnell, l’architecte initial du projet Hurd, l’idée initiale était d’adapter le noyau BSD 4.4-lite[7], et avec le recul « il est parfaitement clair pour moi que celui-ci aurait magnifiquement réussi et la face de l’informatique en aurait été changée »[8],[7]. Stallman confirmera plus tard que l’université de Californie travaillait à combler les parties manquantes pour transformer BSD en un système d’exploitation complet et librement redistribuable[9]. Malgré une collaboration étroite avec les hackers de Berkeley et leur meneur Keith Bostic[9], le code propriétaire d’AT&T mélangé au code BSD n’est pas supprimé[9], si bien que Stallman décide, à la place, d’utiliser le micro-noyau Mach, qui s’avérera extrêmement pénible à faire progresser.

Hurd ne dépassera jamais réellement le stade de curiosité de laboratoire de recherche, en revanche, le travail réalisé a permis de finaliser une variante du système GNU basée sur le noyau Linux[10]. Une querelle sémantique a, pour cette raison, éclaté ces dernières années concernant l’appellation GNU/Linux afin de faire référence au système dans son intégralité[11].

GNU a fêté son trentième anniversaire au MIT de Cambridge (Massachusetts) en .

Influence grandissante

[modifier | modifier le code]

Alors que la réputation de GNU grandissait, des entreprises intéressées ont commencé soit à contribuer au développement, soit à revendre les logiciels du projet GNU et à offrir de l'assistance technique. La principale de ces sociétés est Cygnus Solutions, qui fait maintenant partie de Red Hat.

À partir de 1990, le système GNU dispose de son propre éditeur de texte (Emacs), d’un compilateur très performant (GCC), d’un Débogueur (GDB) d’un langage de script (Bash), et de la plupart des bibliothèques système (comme glibc) d’une distribution Unix standard, le principal composant encore manquant étant le noyau, qui sera finalement amené de l’extérieur par le projet linux.

GNU est toujours incomplet, notamment parce que son noyau GNU Hurd, une pièce essentielle du système d'exploitation reste immature et certains des composants GNU sont même incompatibles avec ce dernier. Les logiciels du GNU sont utilisés depuis longtemps, mais habituellement avec le noyau tiers Linux.

Philosophie

[modifier | modifier le code]

Esprit hacker et projet GNU

[modifier | modifier le code]
Logo GNU.

Ce système est né du besoin de maintenir intactes les traditions hacker de partage dans un monde de plus en plus marqué par l’empreinte du droit d'auteur. Stallman travaillait encore au laboratoire d’intelligence artificielle du MIT au lancement du projet. Il démissionnera en 1984 pour se consacrer entièrement à la création de ce système et, d’après ses mots, « ramener l’esprit de coopération qui prévalait dans la communauté hacker dans les jours anciens ». Il n’était pas question alors de « propriété intellectuelle », et tous les codes sources, distincts, s’échangeaient librement.

Cette pratique était la règle dans les premiers temps des mainframes, dont les sources étaient fournies sur simple demande et librement modifiables par les clients jusqu’au début des années 1980[12].

On ne peut pas réellement comprendre la nature de ce projet sans en saisir les motivations, qui relèvent de l’éthique et de la philosophie politique. Il vise en effet à ne laisser l’homme devenir ni l’esclave de la machine et de ceux qui auraient l’exclusivité de sa programmation, ni de cartels monopolisant des connaissances en fonction de leurs seuls intérêts. Le projet GNU œuvre pour une libre diffusion des connaissances, ce qui n’est pas sans implications politiques, éthiques, philosophiques et sociales, ou sociétales. Il s’agit d’ailleurs du modèle de coopération qui a toujours été celui des universités.

Philosophie du logiciel libre et FSF

[modifier | modifier le code]

Stallman introduit alors la notion de copyleft, et formalise ainsi celle de logiciel libre. Il crée la Free Software Foundation en 1985 pour assurer la protection légale du projet, dont la mission, plus générale, représente un projet proprement politique. La FSF commence par financer des programmeurs pour accélérer les premiers développements, mais la construction communautaire se nourrit de contributions bénévoles. À ce titre, des communautés universitaires ou scientifiques, américaines et internationales, contribuent énormément à la viabilité de ces projets.

En janvier 2004, l’UNESCO élève le logiciel libre au rang de patrimoine mondial de l’humanité et confère à GNU la valeur symbolique de « Trésor du monde »[13].

Caractéristiques

[modifier | modifier le code]
GNU en lévitation par Nevrax Design Team

Au début de la création de GNU, le système d’exploitation UNIX était déjà largement répandu et son architecture considérée comme suffisamment robuste par les universitaires et les ingénieurs. GNU fut donc conçu pour être compatible avec ce système, par l’implémentation du code source UNIX en logiciel libre et l’écriture de nouveaux composants, afin d’obtenir un équivalent libre. GNU se définit dès l’origine comme une plate-forme universelle dédiée à tous les logiciels libres, pas seulement ceux maintenus par le projet GNU.

«  Le système GNU comprend des programmes qui ne sont pas des logiciels GNU, ce sont des programmes qui ont été développés par d’autres, dans le cadre d’autres projets, pour leurs buts propres, mais qu’on peut réutiliser, car ce sont des logiciels libres[14]. »

Le système GNU avec le noyau Hurd reste cependant à l’état de projet (bien que la plupart du système soit fonctionnel pour les développeurs et utilisateurs). On peut pourtant le découvrir en symbiose avec des projets connexes (comme Debian), ou concurrents d’une partie (comme Linux).

Différences avec UNIX

[modifier | modifier le code]

GNU Guile est le langage d’extension officiel du système. GNU est en effet orienté Lisp depuis son annonce en 1983. Le système est toutefois construit et compilé en C pour assurer sa compatibilité avec UNIX. Texinfo est le format de documentation officiel du projet. On peut citer aussi des améliorations faites à plusieurs logiciels libres alternatifs à ceux d’UNIX : bash, coreutils, bibliothèque C, compilateursetc. Enfin, l’architecture du noyau, Le Hurd, constitué d’un réseau de serveurs distribués fonctionnant sur un GNU Mach.

Toutes les commandes UNIX ont par ailleurs été ré-implémentées et sont maintenues dans le cadre du projet. On lui doit également divers standards innovants, tels que les options longues[n 3]. Les développements répondent enfin aux normes de codage GNU.

Les distributions UNIX étaient pour la plupart propriétaires. GNU est un système libre. La licence publique générale GNU a été créée à cet effet. La nature même du logiciel libre a favorisé une plus large diffusion des programmes.

Composants du système

[modifier | modifier le code]

Le système GNU est composé exclusivement de logiciels libres. Ces composants se présentent sous la forme de paquets logiciels maintenus et distribués par le projet GNU.

Parmi la liste des paquets GNU, on retrouve la collection de compilateurs GNU, le débogueur GDB, les outils binaires GNU, le shell Bash, la bibliothèque C GNU, les outils de base GNU, l’assembleur GNU ou le noyau Hurd.

Distribution

[modifier | modifier le code]

Distributions utilisant Hurd

[modifier | modifier le code]

Il existe à ce jour deux distributions du système d’exploitation GNU :

GNU est aujourd’hui utilisé par des millions de personnes avec GNU/Linux. On retrouve aussi quelques-unes de ses composantes dans les systèmes FreeBSD, NetBSD et OpenBSD.

Variantes du système

[modifier | modifier le code]
GNU et Tux

GNU/Linux (souvent appelé[15] Linux) est une variante du système d'exploitation GNU fonctionnant avec le noyau Linux[10]. Le projet GNU avait originellement prévu le développement du noyau Hurd pour compléter le système, mais au début des années 1990, Hurd ne fonctionnait pas encore et son développement rencontrait encore des difficultés. L’arrivée du noyau Linux permit l’utilisation du système GNU sur les ordinateurs animés par des microprocesseurs de la famille Intel x86, en favorisant sa large diffusion par la complémentarité des projets.

Distributions soutenues par la FSF
[modifier | modifier le code]

Les distributions du système d’exploitation GNU/Linux constituées exclusivement de logiciels libres sont peu nombreuses. Le fait de n’offrir aucun logiciel propriétaire dans la distribution standard n’est pas suffisant, la FSF demande également de ne pas faciliter leur installation. Les dépôts liés à la distribution ne doivent pas en contenir et la documentation diffusée par la distribution ne doit pas inciter à l’installation de tels logiciels.

Ces distributions sont soutenues par la FSF lorsque ces critères sont respectés[16], parmi elles, on retrouve PureOS, GNU Guix, gNewSense, Trisquel, Ututo, Venenux, BLAG, Musix GNU+Linux, Dragora, Dynebolic et Parabola.

Toutes ces variantes utilisent aujourd’hui le noyau GNU Linux-libre.

GNU avec un noyau BSD

[modifier | modifier le code]

Debian a créé deux versions modifiées de GNU, qui plutôt qu'utiliser le noyau Linux, utilisent le noyau d'une distribution BSD, dans un cas FreeBSD, dans l'autre NetBSD. Cela a donné naissance aux distributions Debian GNU/kFreeBSD et Debian GNU/NetBSD.

Notes et références

[modifier | modifier le code]
  1. Certains composants restent cependant inspirés des environnements Lisp avec GNU Guile, le langage d’extension officiel du projet, ou GNU Emacs, le 1er projet du système GNU.
  2. Le logo a été dessiné par Étienne Suvasa.
  3. Une option d’une lettre normalement invoquée avec un tiret (comme « -h ») peut aussi être appelée par une chaîne de caractères précédée de deux tirets (comme « --help »), ce qui est plus explicite et donc plus facile à apprendre ;

Références

[modifier | modifier le code]
  1. « GNU Licenses ».
  2. « gnu.org », sur www.gnu.org (consulté le )
  3. (en) « new UNIX implementation », net.unix-wizards, 27 septembre 1983.
  4. (en) « My Lisp Experiences and the Development of GNU Emacs », International Lisp Conference - Discours de Richard Stallman, 28 octobre 2002.
  5. a et b (en) « Personal Note from Richard Stallman », Préface du manuel d’utilisation de la machine Lisp du MIT, juin 1984.
  6. « gnu.org », sur www.gnu.org (consulté le ).
  7. a et b « The Daemon, the Gnu, and the Penguin - Peter H. Salus », Reed Media Services, 2008.
  8. (en) groklaw.net met en ligne une déclaration de Thomas Bushnell sur le noyau GNU.
  9. a b et c « Richard Stallman et la révolution du logiciel libre », forge.framabook.org, 21 janvier 2010.
  10. a et b (en) FAQ officielle du noyau Linux, tux.org, 17 octobre 2009, [lire en ligne], « Today, Linux-based variants of the GNU system, based on the kernel Linux developed by Linus Torvalds, are in widespread use. There are estimated to be over 10 million users of GNU/Linux systems today ».
  11. (en) FAQ officielle du noyau Linux, tux.org, 17 octobre 2009, [lire en ligne], « In this FAQ, we have tried to use the word "Linux" or the expression "Linux kernel" to designate the kernel, and GNU/Linux to designate the entire body of GNU/GPL'ed OS software, as found in the various distributions. We prefer to call a cat, a cat, and a GNU, a GNU. ;-) »
  12. Linux Handbook: A Guide to IBM Linux Solutions and Resources, SG24-7000-01, IBM Redbooks, 2005.
  13. (en) GNU et le logiciel libre : deux trésors de l’humanité selon l’UNESCO.
  14. Citation de Richard Stallman dans Le projet GNU.
  15. Pourquoi GNU/Linux ? Par Richard Stallman.
  16. Liste des distributions GNU/Linux entièrement libres.

Sur les autres projets Wikimedia :

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]