Il existe des milliers de distributions Linux , dont beaucoup sont basées directement ou indirectement sur d'autres distributions ; parmi les distributions Linux populaires figurent Debian , Fedora Linux , Linux Mint , Arch Linux et Ubuntu , tandis que les distributions commerciales incluent Red Hat Enterprise Linux , SUSE Linux Enterprise et ChromeOS . Les distributions Linux sont fréquemment utilisées sur les plateformes serveur. De nombreuses distributions Linux utilisent le mot « Linux » dans leur nom, mais la Free Software Foundation utilise et recommande le nom « GNU/Linux », afin de souligner l'utilisation et l'importance des logiciels GNU dans de nombreuses distributions. Ce choix fait l'objet de controverses . Outre le noyau Linux, les composants clés qui constituent une distribution peuvent inclure un serveur d'affichage (système de fenêtrage) , un gestionnaire de paquets , un chargeur d'amorçage et un shell Unix .
Linux est l'un des exemples les plus marquants de collaboration en matière de logiciels libres et open source . Le noyau Linux est considéré par beaucoup comme le plus grand projet open source. Initialement développé pour les ordinateurs personnels x86 , il a depuis été porté sur plus de plateformes que tout autre système d'exploitation et est utilisé sur une grande variété d'appareils, notamment les ordinateurs personnels, les stations de travail , les ordinateurs centraux et les systèmes embarqués . Linux est le système d'exploitation prédominant pour les serveurs et est également utilisé sur les 500 supercalculateurs les plus rapides au monde . Combiné à Android , qui utilise un noyau basé sur Linux et est conçu pour les smartphones , il forme la plus grande base installée de tous les systèmes d'exploitation généralistes .
Linus Torvalds , suite à l'absence d'un noyau fonctionnel pour GNU , un système d'exploitation compatible Unix entièrement composé de logiciels libres et développé depuis 1983 par le projet GNU , dirigé par Richard Stallman . Un système Unix fonctionnel appelé Minix a été publié ultérieurement, mais sa licence n'était pas entièrement libre à l'époque et il était destiné à des fins éducatives. Le premier Unix entièrement libre pour ordinateurs personnels, 386BSD , n'est apparu qu'en 1992, date à laquelle Torvalds avait déjà compilé et publié la première version du noyau Linux sur Internet . À l'instar de GNU et 386BSD, Linux ne contenait aucun code Unix, étant une réimplémentation originale, et a ainsi évité les problèmes juridiques avec AT&T . Les distributions Linux ont gagné en popularité dans les années 1990 et ont rendu les technologies Unix accessibles aux particuliers sur leurs ordinateurs personnels, alors qu'auparavant elles étaient réservées aux stations de travail sophistiquées .Les distributions Linux pour ordinateurs de bureau incluent un système de fenêtrage tel que X11 ou Wayland et un environnement de bureau tel que KDE Plasma , GNOME ou Xfce . Les distributions destinées aux serveurs peuvent être dépourvues d' interface graphique ou inclure une pile logicielle comme LAMP .
Le code source de Linux peut être utilisé, modifié et distribué à des fins commerciales ou non commerciales par quiconque, conformément aux termes de ses licences respectives, telles que la Licence Publique Générale GNU (GPL). Cette licence permet à tous de créer de nouvelles distributions , ce qui est plus simple que pour un système d'exploitation comme macOS ou Microsoft Windows . Le noyau Linux, par exemple, est distribué sous licence GPLv2, à l'exception des appels système : le code qui appelle le noyau via des appels système n'est pas soumis à la GPL
Du fait de la domination d' Android , basé sur Linux, sur les smartphones , Linux, y compris Android, possède la plus grande base installée de tous les systèmes d'exploitation généralistes ordinateurs de bureau . Le Chromebook , qui fonctionne sous ChromeOS , un système d'exploitation basé sur le noyau Linux , domine le marché américain de l'éducation primaire et secondaire et représente près de 20 % des ventes d'ordinateurs portables à moins de 300 $ aux États-Unis. Linux est le système d'exploitation dominant sur les serveurs (plus de 96,4 % des systèmes d'exploitation du million de serveurs web les plus utilisés fonctionnent sous Linux), domine également d'autres systèmes informatiques de grande envergure tels que les ordinateurs centraux , et est utilisé sur les 500 supercalculateurs les plus rapides au monde ( des systèmes embarqués , c'est-à-dire des appareils dont le système d'exploitation est généralement intégré au micrologiciel et hautement adapté au système. Cela inclut les routeurs , les systèmes de contrôle domotique , les appareils de maison connectée , les consoles de jeux vidéo , les téléviseurs ( téléviseurs connectés Samsung et LG ) , les automobiles (Tesla, Audi, Mercedes-Benz, Hyundai et Toyota) et les engins spatiaux ( fusée Falcon 9 , capsule Dragon et hélicoptère Ingenuity pour la mission martienne)
Histoire
Le système d'exploitation Unix a été conçu et implémenté en 1969, aux Bell Labs d' AT&T aux États-Unis, par Ken Thompson , Dennis Ritchie , Douglas McIlroy et Joe Ossanna . Lancé en 1971, Unix était entièrement écrit en langage assembleur , comme c'était l'usage à l'époque. En 1973, dans une démarche novatrice, Dennis Ritchie l'a réécrit en langage C (à l'exception de certaines routines matérielles et d'entrée/sortie). La disponibilité d'une implémentation d'Unix en langage de haut niveau a facilité son portage sur différentes plateformes informatiques.
Suite à une action antitrust de 1956 interdisant à AT&T de se lancer dans le secteur informatique , AT&T a fourni le code source du système d'exploitation Unix à toute personne qui en faisait la demande. De ce fait, l'utilisation d'Unix s'est rapidement développée et le système a été largement adopté par les établissements universitaires et les entreprises. En 1984, AT&T s'est séparée de ses filiales régionales et a été libérée de son obligation de ne pas se lancer dans le secteur informatique ; affranchie de cette obligation, Bell Labs a commencé à vendre Unix comme un produit propriétaire , dont les utilisateurs n'étaient pas autorisés à le modifier légalement
Onyx Systems a commencé à vendre les premières stations de travail Unix basées sur des micro-ordinateurs en 1980. Plus tard, Sun Microsystems , fondée à partir d'un projet étudiant de l'université de Stanford , a également commencé à vendre des stations de travail de bureau sous Unix en 1982. Bien que les stations de travail Sun n'utilisaient pas de matériel PC standard, pour lequel Linux a été initialement développé ultérieurement, elles ont représenté la première tentative commerciale réussie de distribution d'un micro-ordinateur principalement destiné à un seul utilisateur et fonctionnant sous un système d'exploitation Unix.
Face à la dépendance croissante d'Unix à un modèle propriétaire, le projet GNU , lancé en 1983 par Richard Stallman , visait à créer un système logiciel complet compatible Unix, composé exclusivement de logiciels libres . Les travaux ont débuté en 1984. Plus tard, en 1985, Stallman a fondé la Free Software Foundation et rédigé la licence publique générale GNU (GNU GPL) en 1989. Au début des années 1990, la plupart des programmes nécessaires à un système d'exploitation (bibliothèques, compilateurs , éditeurs de texte , interpréteur de commandes et système de fenêtrage ) étaient finalisés, bien que les éléments de bas niveau, tels que les pilotes de périphériques , les démons et le noyau (appelé GNU Hurd ), soient encore au point mort et incomplets.
Minix a été créé par Andrew S. Tanenbaum , professeur d'informatique , et publié en 1987. Ce système d'exploitation minimal de type Unix était destiné aux étudiants et à toute personne souhaitant apprendre les principes des systèmes d'exploitation. Bien que le code source complet de Minix fût disponible gratuitement , les conditions de licence l'empêchaient d'être un logiciel libre jusqu'à la modification de ces licences en avril 2000.
Création
À l'automne 1990, alors qu'il étudiait à l' Université d'Helsinki , Torvalds s'inscrivit à un cours d'Unix. Ce cours utilisait un mini-ordinateur MicroVAX fonctionnant sous Ultrix , et l'un des ouvrages obligatoires était *Operating Systems: Design and Implementation* d' Andrew S. Tanenbaum . Ce manuel incluait une copie du système d'exploitation Minix de Tanenbaum . C'est dans le cadre de ce cours que Torvalds découvrit Unix. En 1991, il se passionna pour les systèmes d'exploitation. Frustré par la licence de Minix, qui à l'époque limitait son utilisation à l'enseignement, il commença à travailler sur son propre noyau de système d'exploitation, qui deviendrait par la suite le noyau Linux.
Le 3 juillet 1991, afin d'implémenter les appels système Unix , Linus Torvalds tenta, sans succès, d'obtenir une copie numérique de la documentation des normes POSIX en s'adressant au groupe de discussion comp.os.minix . N'ayant pas trouvé la documentation POSIX, Torvalds se tourna initialement vers la documentation SunOS de l'université pour déterminer les appels système nécessaires à l'exploitation de son serveur Sun Microsystems . Il apprit également certains appels système grâce à l'ouvrage de Tanenbaum sur Minix.
Torvalds a commencé le développement du noyau Linux sur Minix, et les applications écrites pour Minix étaient également utilisées sous Linux. Plus tard, Linux a gagné en maturité et le développement du noyau Linux s'est poursuivi sur les systèmes Linux. Les applications GNU ont également remplacé tous les composants Minix, car il était avantageux d'utiliser le code libre du projet GNU avec ce système d'exploitation naissant ; le code sous licence GNU GPL peut être réutilisé dans d'autres programmes informatiques, à condition qu'ils soient également diffusés sous la même licence ou une licence compatible. Torvalds a initié la transition de sa licence d'origine, qui interdisait la redistribution commerciale, vers la GNU GPL. Les développeurs ont travaillé à l'intégration des composants GNU au noyau Linux, créant ainsi un système d'exploitation libre et pleinement fonctionnel.
Bien que sa sortie ait été retardée jusqu'en 1992 en raison de complications juridiques , le développement de 386BSD , dont sont issus NetBSD , OpenBSD et FreeBSD , est antérieur à celui de Linux. Linus Torvalds a déclaré que si le noyau GNU ou 386BSD avait été disponible en 1991, il n'aurait probablement pas créé Linux.
Droit d'auteur, marques de commerce et dénomination
Le noyau Linux est distribué sous la licence publique générale GNU (GPL), version 2. La GPL exige que toute personne distribuant un logiciel basé sur le code source sous cette licence mette le code source original (et toute modification) à la disposition du destinataire selon les mêmes conditions. D'autres composants essentiels d'une distribution Linux typique sont également principalement distribués sous la GPL, mais ils peuvent utiliser d'autres licences ; de nombreuses bibliothèques utilisent la licence publique générale limitée GNU (LGPL), une variante plus permissive de la GPL, et l' implémentation X.Org du système X Window utilise la licence MIT .
Torvalds affirme que le noyau Linux ne passera pas de la version 2 de la GPL à la version 3. Il désapprouve notamment certaines dispositions de la nouvelle licence qui interdisent l'utilisation du logiciel dans la gestion des droits numériques . Il serait également impossible d'obtenir l'autorisation de tous les détenteurs de droits d'auteur, qui se comptent par milliers.
Une étude de 2001 portant sur Red Hat Linux 7.1 a révélé que cette distribution contenait 30 millions de lignes de code source . À l'aide du modèle de coût constructif , l'étude a estimé que cette distribution avait nécessité environ huit mille années-personnes de développement. Selon cette étude, si l'ensemble de ce logiciel avait été développé par des moyens propriétaires conventionnels, son développement aurait coûté environ C++ , Lisp , l'assembleur, Perl, Python, Fortran et divers langages de script shell . Un peu plus de la moitié des lignes de code étaient sous licence GPL. Le noyau Linux à lui seul représentait 2,4 millions de lignes de code, soit 8 % du total.
Dans une étude ultérieure, la même analyse a été effectuée pour la version 4.0 de Debian (etch, sortie en 2007). Cette distribution contenait près de 283 millions de lignes de code source, et l'étude a estimé qu'il aurait fallu environ soixante-treize mille années-hommes et un coût de Linux Mark Institute (LMI). Torvalds a déclaré avoir déposé la marque uniquement pour empêcher quiconque de l'utiliser. Le LMI facturait initialement des frais de sous-licence minimes pour l'utilisation du nom Linux dans le cadre de marques déposées, mais a par la suite opté pour une sous-licence mondiale, gratuite et perpétuelle. La Free Software Foundation (FSF) préfère l'appellation GNU/Linux pour désigner le système d'exploitation dans son ensemble, car elle considère les distributions Linux comme des variantes du système d'exploitation GNU initié en 1983 par Richard Stallman , président de la FSF. La fondation n'a aucune objection quant à l'utilisation du nom Android pour le système d'exploitation Android, qui est également un système d'exploitation basé sur le noyau Linux, car GNU n'en fait pas partie. Une minorité de personnalités publiques et de projets logiciels autres que Stallman et la FSF, notamment les distributions composées uniquement de logiciels libres, telles que Debian (qui avait été sponsorisée par la FSF jusqu'en 1996), utilisent également GNU/Linux lorsqu'ils font référence au système d'exploitation dans son ensemble. La plupart des médias et l'usage courant, cependant, désignent cette famille de systèmes d'exploitation simplement sous le nom de Linux , tout comme de nombreuses distributions Linux importantes (par exemple, SUSE Linux et Red Hat Enterprise Linux ). lignes de code de la distribution Linux Ubuntu (version « Natty ») sont constituées de composants GNU (cette proportion dépend de la manière dont GNOME est considéré comme faisant partie de GNU) ; quant au noyau Linux, 6 % de ce code est occupé par le noyau, un pourcentage qui passe à 9 % en incluant ses dépendances directes. Pour faciliter le développement, les fichiers ont été téléchargés sur le serveur FTP de FUNET en septembre 1991. Ari Lemmke, collègue de Torvalds à l' Université de technologie d'Helsinki (HUT) et administrateur bénévole du serveur FTP à l'époque, jugeait le nom « Freax » peu judicieux et a donc nommé le projet « Linux » sur le serveur sans consulter Torvalds. Plus tard, Torvalds a cependant accepté le nom « Linux ». Selon un message publié par Torvalds dans un groupe de discussion le mot « Linux » devrait se prononcer ( ⓘ Aujourd'hui, les systèmes Linux sont omniprésents en informatique, des systèmes embarqués à la quasi-totalité des supercalculateurs , et se sont imposés dans les installations serveur, notamment au sein de la populaire pile logicielle LAMP . L'utilisation des distributions Linux sur les ordinateurs personnels et professionnels est en constante augmentation Les distributions Linux sont également devenues populaires sur le marché des netbooks , de nombreux appareils étant livrés avec des distributions Linux personnalisées préinstallées, et Google ayant lancé son propre ChromeOS conçu pour les netbooks. Le plus grand succès de Linux sur le marché grand public réside peut-être dans le marché des appareils mobiles, Android étant le système d'exploitation dominant sur les smartphones et très populaire sur les tablettes et, plus récemment, sur les objets connectés et les véhicules. Le jeu sous Linux est également en plein essor, Valve ayant démontré son soutien à Linux en lançant SteamOS , sa propre distribution Linux dédiée au jeu, qui a ensuite été intégrée à sa plateforme Steam Deck . Les distributions Linux ont également gagné en popularité auprès de divers gouvernements locaux et nationaux, comme le gouvernement fédéral du Brésil . De nombreuses études quantitatives sur les logiciels libres et open source se concentrent sur des sujets tels que les parts de marché et la fiabilité, et plusieurs d'entre elles examinent spécifiquement Linux. Le marché de Linux est en pleine croissance et sa taille devrait augmenter de 19,2 % d'ici 2027, pour atteindre 15,64 milliards de dollars, contre 3,89 milliards en 2019. Les analystes prévoient un taux de croissance annuel composé (TCAC) de 13,7 % entre 2024 et 2032, ce qui devrait porter la taille du marché à 34,90 milliards de dollars américains d'ici 2032. Les analystes et les partisans de Linux attribuent son succès relatif à sa sécurité, sa fiabilité, son faible coût et son indépendance vis-à-vis des fournisseurs . mot-valise formé à partir de « free », « freak » et « x » (en référence à Unix). Au début de son travail sur le système, certains fichiers make du projet incluaient le nom « Freax » pendant environ six mois. Torvalds a envisagé le nom « Linux », mais l'a finalement écarté, le jugeant trop prétentieux.
Adoption commerciale et populaire
Développement
Usage
![]()
![]()
![]()
![]()
StatCounter fonctionnaient sous Android. Android est également un système d'exploitation populaire pour les tablettes, représentant plus de 60 % des ventes de tablettes iOS en détient 28 % et le 1 % restant est attribué à diverses plateformes de niche.
Un système basé sur Linux est un système d'exploitation modulaire de type Unix, dont la conception de base s'inspire largement des principes établis pour Unix dans les années 1970 et 1980. Ce système utilise un noyau monolithique , le noyau Linux, qui gère le contrôle des processus, le réseau, l'accès aux périphériques et le système de fichiers . Les pilotes de périphériques sont soit intégrés directement au noyau, soit ajoutés en tant que modules chargés pendant l'exécution du système.
L' espace utilisateur GNU est un élément clé de la plupart des systèmes basés sur le noyau Linux, Android constituant une exception notable. La bibliothèque GNU C , une implémentation de la bibliothèque standard C , sert d'interface pour les appels système du noyau Linux nécessaires à l'interface noyau-espace utilisateur. La chaîne d'outils est un ensemble complet d'outils de programmation essentiels au développement Linux (y compris les compilateurs utilisés pour compiler le noyau Linux lui-même), et les coreutils implémentent de nombreux outils Unix de base . Le projet GNU développe également Bash , un interpréteur de commandes en ligne de commande (CLI ) populaire . L' interface utilisateur graphique (GUI) utilisée par la plupart des systèmes Linux repose sur une implémentation du système X Window . Plus récemment, une partie de la communauté Linux a cherché à adopter Wayland comme protocole de serveur d'affichage, en remplacement de X11.
De nombreux autres projets de logiciels libres contribuent aux systèmes Linux.
Les composants installés d'un système Linux comprennent les éléments suivants :
- Un chargeur d'amorçage , par exemple GNU GRUB , LILO , SYSLINUX ou systemd-boot , est un programme qui charge le noyau Linux dans la mémoire principale de l'ordinateur . Il est exécuté par ce dernier lors de sa mise sous tension, après l' initialisation du firmware .
- Un programme d'initialisation , tel que le traditionnel sysvinit ou les plus récents systemd , OpenRC et Upstart , est le premier processus lancé par le noyau Linux et se situe à la racine de l'arborescence des processus. Il démarre des processus comme les services système et les invites de connexion (graphiques ou en mode terminal).
- Les bibliothèques logicielles contiennent du code utilisable par les processus en cours d'exécution. Sur les systèmes Linux utilisant des fichiers exécutables au format ELF , l' éditeur de liens dynamiques qui gère l'utilisation des bibliothèques dynamiques est appelé ld-linux.so . Si le système permet à l'utilisateur de compiler lui-même ses logiciels, des fichiers d'en-tête sont également inclus pour décrire l' interface de programmation des bibliothèques installées. Outre la bibliothèque logicielle la plus couramment utilisée sous Linux, la bibliothèque GNU C (glibc), il existe de nombreuses autres bibliothèques, telles que SDL et Mesa .
- La bibliothèque standard C est indispensable à l'exécution des programmes écrits en C sur un ordinateur. La bibliothèque GNU C est la norme. Elle fournit une implémentation de l'API POSIX, ainsi que des extensions à cette API. Pour les systèmes embarqués, des alternatives telles que musl , EGLIBC (une version dérivée de glibc autrefois utilisée par Debian) et uClibc (conçue pour uClinux ) ont été développées, bien que les deux dernières ne soient plus maintenues. Android utilise sa propre bibliothèque C, Bionic . Cependant, musl peut également être utilisé comme alternative à glibc sur les ordinateurs de bureau et portables, comme c'est le cas sur certaines distributions Linux telles que Void Linux .
- Commandes Unix de base, avec GNU coreutils comme implémentation standard. Des alternatives existent pour les systèmes embarqués, telles que BusyBox ( sous licence copyleft ) et Toybox (sous licence BSD ).
- Les bibliothèques de widgets permettent de créer des interfaces graphiques (GUI) pour les applications logicielles. De nombreuses bibliothèques de widgets sont disponibles, notamment GTK et Clutter, développés par le projet GNOME , Qt , développé par le projet Qt et dirigé par The Qt Company , et les bibliothèques de la Fondation Enlightenment (EFL), développées principalement par l' équipe Enlightenment .
- Un système de gestion de paquets , tel que dpkg ou RPM . Il est également possible de compiler les paquets à partir d'archives binaires ou de sources .
- Programmes d'interface utilisateur tels que les interpréteurs de commandes ou les environnements de fenêtrage.
interface utilisateur
L' interface utilisateur , également appelée shell , peut être une interface en ligne de commande (CLI), une interface graphique (GUI) ou des commandes intégrées au matériel, ce qui est courant pour les systèmes embarqués. Sur les ordinateurs de bureau, l'interface utilisateur par défaut est généralement graphique, bien que la CLI soit souvent accessible via des fenêtres d'émulateur de terminal ou sur une console virtuelle distincte .
Les interpréteurs de commandes en ligne de commande (CLI) sont des interfaces utilisateur textuelles qui utilisent le texte pour les entrées et les sorties. L'interpréteur de commandes dominant sous Linux est le Bourne-Again Shell (bash), initialement développé pour le projet GNU ; d'autres interpréteurs, comme Zsh, sont également utilisés. La plupart des composants bas niveau de Linux, y compris diverses parties de l' espace utilisateur , utilisent exclusivement la CLI. La CLI est particulièrement adaptée à l'automatisation des tâches répétitives ou différées et offre une communication interprocessus très simple .
Sur les systèmes de bureau, les interfaces utilisateur les plus répandues sont les shells graphiques , généralement intégrés à des environnements de bureau complets tels que KDE Plasma , GNOME , MATE , Cinnamon , LXDE , Pantheon et Xfce , bien qu'il existe d'autres interfaces. La plupart des interfaces utilisateur populaires sont basées sur le système X Window, souvent appelé simplement « X » ou « X11 ». Ce système assure la transparence réseau et permet d'afficher une application graphique exécutée sur un système sur un autre, avec lequel l'utilisateur peut interagir. Cependant, certaines extensions du système X Window ne sont pas compatibles avec le réseau. Plusieurs serveurs d'affichage X existent, l'implémentation de référence, X.Org Server , étant la plus répandue.
Il existe plusieurs types de gestionnaires de fenêtres pour X11, notamment les gestionnaires en mosaïque , dynamiques , empilés et composés . Ces gestionnaires permettent de contrôler l'emplacement et l'apparence des fenêtres d'application et d'interagir avec le système X Window. Les gestionnaires X Window les plus simples , tels que dwm , ratpoison ou i3wm, offrent des fonctionnalités minimales , tandis que les gestionnaires plus élaborés, comme FVWM , Enlightenment ou Window Maker, proposent davantage de fonctionnalités, comme une barre des tâches intégrée et des thèmes , tout en restant légers par rapport aux environnements de bureau. Ces derniers intègrent des gestionnaires de fenêtres dans leur installation standard, tels que Mutter (GNOME), KWin (KDE) ou Xfwm (xfce), mais les utilisateurs peuvent choisir un autre gestionnaire s'ils le souhaitent.
Wayland est un protocole de serveur d'affichage destiné à remplacer le protocole X11 ; V4L2 pour les flux vidéo et la radio, et l'API DVB pour la réception de la télévision numérique.
La diversité des normes matérielles et des formats de données exige une amélioration architecturale continue afin de maintenir la compatibilité entre les différentes classes de périphériques. Le développement vise à fournir des bibliothèques utilisateur robustes pour abstraire la complexité des périphériques, garantissant ainsi que les applications puissent interagir avec différents formats sans pilotes matériels spécifiques.
Développement
La principale différence entre Linux et de nombreux autres systèmes d'exploitation contemporains populaires réside dans le fait que le noyau Linux et ses autres composants sont des logiciels libres et open source. Linux n'est pas le seul système d'exploitation de ce type, bien qu'il soit de loin le plus répandu. Certaines licences de logiciels libres et open source sont basées sur le principe du copyleft , une forme de réciprocité : toute œuvre dérivée d'un logiciel sous copyleft doit elle-même être sous copyleft. La licence de logiciel libre la plus courante, la Licence Publique Générale GNU (GPL), est une forme de copyleft et est utilisée pour le noyau Linux et de nombreux composants du projet GNU.
Les distributions Linux sont conçues par les développeurs pour assurer l'interopérabilité avec d'autres systèmes d'exploitation et les normes informatiques établies. Les systèmes Linux respectent , dans la mesure du possible, les normes POSIX , SUS , LSB ( Linux Standard Base ), ISO et ANSI. À ce jour, seule une distribution Linux, Linux-FT, a obtenu la certification POSIX.1 L'Open Group a testé et certifié au moins deux distributions Linux, EulerOS et Inspur K-UX , comme étant éligibles à la marque Unix
Bien que développés de manière collaborative , les projets de logiciels libres sont souvent produits indépendamment les uns des autres. Cependant, le fait que les licences logicielles autorisent explicitement la redistribution permet de mettre en place des projets de plus grande envergure qui rassemblent les logiciels produits par des projets indépendants et les rendent disponibles simultanément sous la forme d'une distribution Linux.
De nombreuses distributions Linux gèrent une collection distante de logiciels système et d'applications disponibles au téléchargement et à l'installation via une connexion réseau. Cela permet aux utilisateurs d'adapter le système d'exploitation à leurs besoins spécifiques. Les distributions sont maintenues par des particuliers, des équipes informelles, des associations de bénévoles et des entreprises. Une distribution est responsable de la configuration par défaut du noyau Linux installé, de la sécurité générale du système et, plus généralement, de l'intégration des différents logiciels en un ensemble cohérent. Les distributions utilisent généralement un gestionnaire de paquets tel que apt , yum , zypper , pacman ou portage pour installer, supprimer et mettre à jour tous les logiciels du système à partir d'un emplacement centralisé.
Communauté
Une distribution est largement pilotée par ses communautés de développeurs et d'utilisateurs. Certains fournisseurs développent et financent leurs distributions sur une base bénévole, Debian étant un exemple bien connu. D'autres maintiennent une version communautaire de leurs distributions commerciales, comme Red Hat avec Fedora et SUSE avec openSUSE .
Dans de nombreuses villes et régions, des associations locales, appelées Groupes d'utilisateurs Linux (LUG), s'efforcent de promouvoir leur distribution Linux préférée et, par extension, les logiciels libres. Elles organisent des réunions et proposent gratuitement des démonstrations, des formations, une assistance technique et l'installation du système d'exploitation aux nouveaux utilisateurs. De nombreuses communautés Internet offrent également un soutien aux utilisateurs et développeurs Linux. La plupart des distributions et des projets de logiciels libres/open source disposent de salons de discussion IRC ou de groupes de discussion. Les forums en ligne constituent un autre moyen d'assistance, avec des exemples notables tels que Unix & Linux Stack Exchange, LinuxQuestions.org différents forums d' assistance et communautaires à chaque comme ceux d' , Fedora , Arch Linux , Gentoo , etc. Les distributions Linux hébergent des listes de diffusion ; chaque liste est généralement consacrée à un sujet spécifique, comme l'utilisation ou le développement.
Il existe plusieurs sites web technologiques axés sur Linux. Les magazines imprimés consacrés à Linux incluent souvent des disquettes contenant des logiciels, voire des distributions Linux complètes.
Bien que les distributions Linux soient généralement disponibles gratuitement, plusieurs grandes entreprises vendent, prennent en charge et contribuent au développement des composants du système et des logiciels libres. Une analyse du noyau Linux réalisée en 2017 a montré que plus de 85 % du code était développé par des programmeurs rémunérés, laissant environ 8,2 % à des développeurs non rémunérés et 4,1 % non classifiés. Parmi les principales entreprises contributrices figurent Intel , Samsung , Google , AMD , Oracle et Facebook . Plusieurs entreprises, notamment Red Hat, Canonical et SUSE, ont bâti une activité importante autour des distributions Linux.
Les licences de logiciels libres , sur lesquelles reposent les différents paquets logiciels d'une distribution construite sur le noyau Linux, autorisent et encouragent explicitement la commercialisation ; la relation entre une distribution Linux dans son ensemble et les différents fournisseurs peut être qualifiée de symbiotique . Un modèle économique courant des fournisseurs commerciaux consiste à facturer le support, notamment aux utilisateurs professionnels. Plusieurs entreprises proposent également une version professionnelle spécialisée de leur distribution, qui intègre des outils et des modules de support propriétaires pour gérer un grand nombre d'installations ou simplifier les tâches d'administration.
Un autre modèle économique consiste à distribuer gratuitement le logiciel pour vendre du matériel. Cette pratique était courante dans l'industrie informatique, avec des systèmes d'exploitation tels que CP/M , Apple DOS et les versions du Mac OS classique antérieures à la version 7.6 librement copiables (mais non modifiables). Avec la standardisation du matériel informatique dans les années 1980, il est devenu plus difficile pour les fabricants de matériel de tirer profit de cette stratégie, car le système d'exploitation fonctionnait sur n'importe quel ordinateur du même fabricant partageant la même architecture.
Programmation sous Linux
Comme tous les systèmes de type Unix, Linux intègre des langages de programmation spécialisés traditionnels dédiés à l' écriture de scripts , au traitement de texte et, plus généralement, à la configuration et à la gestion du système. Les distributions Linux prennent en charge les scripts shell , AWK , sed et make . De nombreux programmes disposent également d'un langage de programmation embarqué pour leur propre configuration ou programmation. Par exemple, les expressions régulières sont prises en charge par des programmes tels que grep et locate , le client de messagerie Unix traditionnel Sendmail possède son propre système de scripts Turing-complet , et l'éditeur de texte avancé GNU Emacs est construit autour d'un interpréteur Lisp généraliste .
La plupart des distributions Linux prennent également en charge PHP , Perl , Ruby , Python et d'autres langages dynamiques . Bien que moins fréquent, Linux prend aussi en charge C# et d'autres langages en ligne de commande (via Mono ), Vala et Scheme . Guile Scheme est un langage d'extension destiné aux utilitaires système GNU. Il vise à rendre les programmes C compilés , statiques et compacts, typiques de l'architecture Unix, rapidement et dynamiquement extensibles grâce à un système de scripts de haut niveau élégant et fonctionnel . De nombreux programmes GNU peuvent être compilés avec des liaisons Guile optionnelles à cette fin. De nombreuses machines virtuelles Java et kits de développement fonctionnent sous Linux, notamment la JVM originale de Sun Microsystems ( HotSpot ), l'environnement de recherche J2SE d'IBM et de nombreux projets open source comme Kaffe et Jikes RVM . Kotlin , Scala , Groovy et d'autres langages JVM sont également disponibles.
GNOME et KDE sont des environnements de bureau populaires qui offrent un cadre de développement d'applications. Ces projets reposent respectivement sur les bibliothèques GTK et Qt , qui peuvent également être utilisées indépendamment de leur environnement principal. Tous deux prennent en charge un large éventail de langages. De nombreux environnements de développement intégrés sont disponibles, notamment Anjuta , Code::Blocks , CodeLite , Eclipse , Geany , ActiveState Komodo , KDevelop , Lazarus , MonoDevelop , NetBeans et Qt Creator , tandis que les éditeurs Vim , nano et Emacs, bien établis, restent populaires.
Graphisme et conception graphique
Le graphisme sous Linux est un sujet de discussion récurrent. Parmi les outils graphiques et d'image les plus courants, on trouve des programmes tels que : GNU Image Manipulation Program (GIMP), Inkscape , Krita , DaVinci Resolve et Scribus .
Support matériel
Le noyau Linux est un noyau de système d'exploitation largement porté, disponible pour des appareils allant des téléphones mobiles aux supercalculateurs ; il fonctionne sur une gamme très diversifiée d' architectures informatiques , notamment les smartphones Android basés sur ARM et les mainframes IBM Z. Des distributions spécialisées et des forks du noyau existent pour des architectures moins courantes ; par exemple, le fork ELKS peut fonctionner sur les microprocesseurs 16 bits Intel 8086 ou Intel 80286 , tandis que le fork μClinux peut fonctionner sur des systèmes dépourvus d' unité de gestion de la mémoire . Le noyau fonctionne également sur des architectures initialement conçues pour utiliser uniquement un système d'exploitation propriétaire, comme les ordinateurs Macintosh (avec processeurs PowerPC , Intel et Apple Silicon ), les PDA , les consoles de jeux vidéo , les lecteurs MP3 et les téléphones mobiles.
Linux est réputé pour son excellente compatibilité avec le matériel ancien grâce au maintien de pilotes standardisés depuis longtemps. Plusieurs associations industrielles et conférences sur le matériel informatique, telles que FreedomHEC , se consacrent au maintien et à l'amélioration de la prise en charge de divers matériels sous Linux. Au fil du temps, la prise en charge de différents matériels s'est améliorée sous Linux, ce qui fait qu'un achat dans le commerce a de fortes chances d'être compatible.
En 2014, une nouvelle initiative a été lancée pour collecter automatiquement une base de données de toutes les configurations matérielles testées.