On appelle paquet GNU, prononcé en français , un paquet logiciel maintenu par le projet GNU et soutenu par la Free Software Foundation. Ces programmes sont destinés à être utilisés dans le cadre du système d'exploitation GNU et de ses variantes, notamment GNU/Linux, bien qu'ils puissent très souvent être utilisés sur d'autres plateformes. Ces logiciels sont tous des logiciels libres, le système GNU ayant été précisément créé dans le but de fournir un équivalent libre au système Unix.

En , les paquets GNU sont au nombre de 383, tandis que 73 anciens paquets sont aujourd'hui signalés comme déclassés. Ils sont fédérés au sein de la forge GNU Savannah. Le projet GNU a été fondé par Richard Stallman, auteur du premier paquet, GNU Emacs.

Définition

Un logiciel est un paquet GNU lorsque son développeur et le projet GNU « conviennent que « le programme fait partie du projet GNU, qu'il est diffusé sous l'égide de GNU » – et l'indiquent dans le programme. ».. Le programme reste paquet GNU jusqu'à ce que le projet GNU décide de le déclasser.

Cela implique un certain nombre de conditions : Le programme est distribué sur ftp.gnu.org (il est possible de le référencer sur un autre site FTP à la demande du mainteneur si celui-ci est en accès libre) ; Le site officiel du projet doit être sur le site de GNU, à l'exception de sujets secondaires (documentation pour développeurs, gestion des bases de données), et à moins d'une raison impérieuse ; Le développeur s'engage à veiller au bon fonctionnement de son programme avec les autres logiciels GNU ; La documentation doit être au format Texinfo ou un format facilement convertible en Texinfo ; Si le programme accepte des extensions, il doit utiliser Guile dans la mesure du possible ; Le programme doit être distribué sous la licence recommandée par le projet GNU (dans la plupart des cas la GNU GPL version 3) ; Le programme ne doit pas recommander n'importe quel logiciel non libre, ou renvoyer vers de la documentation non-libre d'un logiciel libre ; Le mainteneur doit utiliser pour son programme la terminologie recommandée par GNU, à savoir parler de GNU/Linux et non de Linux pour le système d'exploitation complet, et de logiciel libre plutôt que d ; Le mainteneur doit rester en contact avec le projet GNU pour discuter des éventuels problèmes du paquet et corriger les erreurs de compatibilité.

Il est possible de transférer le copyright à la pour qu'elle se charge de faire respecter la licence, mais ce n'est pas une obligation.

Le projet GNU choisit comme mainteneur(s) du projet la (les) personne(s) acceptant de le développer au nom du projet GNU. Si les développeurs démissionnent, le projet GNU se charge de trouver des remplaçants.

Historique

thumb|Richard Stallman, « Chief GNUisance » et fondateur du projet GNU.

Le projet GNU naît le lorsque Richard Stallman annonce sur Usenet son intention de développer un système d'exploitation entièrement libre compatible avec Unix dénommé GNU (pour GNU's not Unix - GNU n'est pas Unix, façon de rendre crédit au système de référence tout en indiquant qu'il s'agit d'un nouveau système).. Stallman, alors hacker au MIT, est spécialiste en systèmes d'exploitation, notamment l'ITS, apprécié au MIT, et le système d'exploitation des machines Lisp, mais il est surtout pour l'éditeur de texte Emacs. Le but de Stallman est de recréer un système communautaire, basé sur le partage, après l'effondrement de la communauté hacker dont la plupart des membres ont rejoint les entreprises de logiciel propriétaire.. D'un point de vue technique, GNU se démarque d'Unix notamment par une grande utilisation de Lisp.

Stallman commence par chercher un compilateur libre existant, puis sa recherche n'aboutissant pas, se résout à le développer soi-même, mais devant les problèmes successifs qu'il rencontre, préfère reporter la tâche à plus tard.. À la place, il écrit une version GNU d'Emacs, et en 1985, GNU Emacs devient le premier paquet GNU. La même année, il écrit le manifeste GNU qui précise ce qui avait été annoncé en , et crée la Free Software Foundation (Fondation pour le logiciel libre) pour soutenir le développement de GNU.

En 1985, Stallman avait publié GNU Emacs sous une licence dite licence publique générale.. Afin de permettre d'utiliser cette licence sur tout logiciel libre, notamment le débogueur GDB qui occupe alors Stallman, le texte est modifié pour donner naissance à la licence publique générale GNU ( - très souvent abrégée GNU GPL).

En 1991, le système GNU est presque prêt, à l'exception de son noyau, le Hurd. Linus Torvalds, un étudiant finlandais, crée le noyau Linux, et l'année suivante, le publie sous licence libre. L'association de GNU et Linux, connue sous les termes de GNU/Linux ou simplement Linux (cette dernière appellation, de loin la plus courante, étant rejetée par le projet GNU), permet donc d'utiliser un système d'exploitation entièrement libre, 9 ans après le lancement de GNU.

Dans les années 1990, en s'appuyant sur le succès du modèle hautement personnalisable d'Emacs, Tom Lord crée GEL ( - Langage d'extension GNU), qui sera renommé Guile, une implémentation de Scheme, une variante de Lisp. Lord convainc Stallman d'en faire le langage d'extension officiel de GNU, Scheme ayant l'avantage d'une syntaxe plus propre et moderne qu'Emacs Lisp. Guile a ainsi permis l'utilisation du modèle Emacs pour tous les logiciels du projet GNU.

En 2012 est lancé le projet de gestionnaire de paquets purement fonctionnel basé sur Guile Guix ; le projet aboutit à la création d'une distribution GNU officielle dénommée GuixSD (Guix System Distribution)...

En , le logiciel libre d'amorçage Libreboot devient paquet GNU.. Mais survient une polémique en lorsque Leah Rowe, fondatrice du projet, accuse la Free Software Foundation de transphobie (ce que la fondation nie.) et le retire du projet GNU. En , le projet GNU retire officiellement Libreboot de la liste officielle de ses paquets.. En , Leah Rowe s'excuse de son comportement, qu'elle explique par des problèmes personnels., et avance la possibilité d'un retour de Libreboot au sein de GNU., mais, en , ni le projet GNU, ni Libreboot ne l'indiquent..

En , le projet GNOME annonce quitter le projet GNU. .. En , GNOME et GTK sont retirés de la liste officielle des paquets GNU.

Propos préliminaire à la liste

La liste utilisée comme référence est celle présente sur la page d'accueil de la section « Logiciels » du site du projet GNU. Celle-ci répertorie, en , maintenus et déclassés..

GNU Telephony est un méta-projet destiné au développement et l'utilisation de logiciels libres dans la téléphonie. Il n’est pas identifié comme un paquet, contrairement au projet GNUnited Nations, lequel est utilisé pour la traduction du site gnu.org. Par ailleurs l'expression (chaîne de compilation GNU) ne fait pas référence à un paquet en particulier mais à un ensemble de paquets destinés au développement logiciel.

On retrouve par ailleurs le préfixe GNU dans la dénomination de logiciels aucunement liés au projet. C’est notamment le cas de Gnuplot, un programme distribué dès 1986, soit deux ans après le lancement du projet GNU, ou encore , mais tous deux peuvent fonctionner sous GNU.

Liste

Coordination du projet

Icône Nom Code Description Licence Création Lien Organisation de GNU gnustandards La coordination du projet GNU (normes de codage et informations de maintenance pour les développeurs) est classée comme paquet GNU.. - - Site officiel GNU Hello hello GNU Hello est une distribution du programme minimaliste Hello world destiné à servir de modèle aux standards de codage GNU. . 1992. Site officiel GNU Web Translation Coordination trans-coord Le GNU Web Translation Coordination (en abrégé : « trans-coord ») est un projet d'organisation de la traduction du site officiel de GNU, classé comme paquet.. - - Site officiel GNU womb womb GNU womb est un dépôt collectif pour les travaux pas encore prêts à former un paquet, ou destinés à rejoindre un paquet existant.. - - Site officiel

Logiciels système

Icône Nom Code Description Licence Création Lien GNU Mach gnumach GNU Mach est la version GNU du micro-noyau Mach. Il sert de base GNU Hurd, le noyau de GNU.. . 1997. Site officiel 50px GNU GRUB grub GRUB (GRand Unified Bootloader) est un chargeur d'amorçage () gérant le .. Son rôle est, au démarrage de l'ordinateur, de charger un noyau, par exemple le Hurd ou Linux ; le noyau initialisant ensuite le reste du système. 1995.Paquet GNU depuis 1999 Site officiel 50px GNU Hurd hurd GNU Hurd est le noyau du système d'exploitation GNU.. Il est basé sur le micro-noyau GNU Mach. Son développement continue avec l'ambition d'en faire un noyau plus puissant que Linux.. , une seule distribution fonctionnelle, Debian GNU/Hurd, propose d'utiliser Hurd plutôt que Linux, mais d'autres sont en développement.. 1990 Site officiel GNU C Library libc La GNU C Library (bibliothèque C GNU), souvent appelée glibc, fournit les bibliothèques de base pour le systèmes GNU ou GNU/Linux, mais également pour de nombreux autres systèmes basés sur le noyau Linux.. . 1988 Site officiel 50px Linux-libre linux-libre GNU Linux-libre est un dérivé du noyau Linux qui supprime tout de code non libre à l'aide de scripts dédiés.. Il est destiné à être utilisé par les distributions GNU/Linux 100 % libres. . 2009Paquet GNU depuis 2012 Site officiel GNU MIG mig MIG ( - « générateur d'interfaces Mach ») est un compilateur d'interface description language.. Son utilisation est nécessaire pour compiler GNU Mach et GNU Hurd, ainsi que glibc dans le cadre d'une utilisation par Hurd.. 1997 (en tant que partie de GNU Mach)1998 (en tant que paquet séparé). Site officiel GNU Shepherd shepherd GNU Shepherd (anciennement GNU dmd) est un gestionnaire de services qui veille au bon fonctionnement de l'ensemble des services systèmes. Il permet de remplacer le traditionnel programme init sous Unix. Il est destiné à être utilisé par GNU/Hurd, mais peut servir à n'importe quel système POSIX utilisant Guile. Il est notamment utilisé par la distribution Guix System. 2003. Site officiel

Développement logiciel

Implémentations de langages, compilateurs et interpréteurs