Chapitre 1. unix, Linux, GNU, logiciels libres… c'est quoi ?

1. Qu'est-ce qu'un logiciel Libre ?
2. unix et les Unix-like
3. Le projet GNU
4. Qu'est-ce que Linux ?

1. Qu'est-ce qu'un logiciel Libre ?

La notion de logiciel libre est fortement liée aux propriétés techniques du code informatique, que nous allons donc rapidement expliquer.

1.1. La compilation

Un programme informatique est constitué de nombreuses lignes de code, écrites dans un langage de programmation (le langage C dans le cas du noyau Linux). Ce code, appelé code source, n'est généralement pas utilisable en tant que tel mais doit être compilé, c'est à dire transformé en programme exécutable, souvent appelé binaire.

Le code source d'un programme est généralement nécessaire pour modifier ce programme ; en revanche le binaire seul suffit pour utiliser ce programme.

Il n'existe pas de moyen vraiment pratique pour remonter aux sources complètes d'un programme à partir du seul binaire. Quand on achète un logiciel, par exemple Microsoft Office, ou un système d'exploitation commercial comme Microsoft Windows, on reçoit un disque ou un fichier qui ne contient pas son code source mais seulement le binaire ; il est donc impossible de déterminer précisément comment le programme est conçu ou ce qu'il fait exactement : on ne peut pas étudier ou modifier ce programme, mais seulement l'utiliser et éventuellement le copier à l'identique.

1.2. Les logiciels propriétaires et les logiciels Libres

Les logiciels propriétaires sont donc les logiciels dont une licence, souvent payante, ne donne qu'un droit limité d'utilisation. On n'a la plupart du temps accès qu'aux binaires de ces logiciels. Certains logiciels propriétaires sont gratuits, on les appelle alors des freewares.

Les logiciels libres sont les logiciels que l'ont peut librement utiliser, échanger, étudier et redistribuer. Cela implique que l'on ait accès à leur code source, d'où le terme techniquement équivalent open source.

2. unix et les Unix-like

unix est un système d'exploitation, créé en 1969 par Ken Thompson et Dennis Ritchie. Sa conception a été particulièrement soignée, et apportait plusieurs innovations, notamment le choix d'utiliser plusieurs outils simples et spécialisés, plutôt que des logiciels complexes à tout faire.

Ce système a été adapté par de nombreuses entreprises, qui ont ainsi développé des dérivés d'unix ou Unices, par exemple : xenix de Microsoft, AIX d'IBM ou Solaris de Sun Microsystems.

D'autres systèmes d'exploitation ont ensuite été conçus en s'inspirant des principes d'unix, voire même en recherchant une compatibilité complète avec unix. Le nom unix étant une marque de certification, on parle alors plutôt d'Unix-like. Parmi ces systèmes, les plus connus sont GNU/Linux, les systèmes BSD, Minix ou encore Mac OS X.

3. Le projet GNU

3.1. Le logiciel libre

Scandalisé par les restrictions imposées par les logiciels propriétaires, Richard Stallman lance, en 1983, le projet GNU (logo Figure 1.1), qui a pour but de développer un système d'exploitation libre complet et inspiré d'unix, afin de contrer le développement croissant des logiciels propriétaires. L'histoire raconte que c'est une histoire de pilote d'imprimante qui lui a fait prendre conscience du danger de la logique propriétaire.

Figure 1.1. Un GNU méditatif

Un GNU méditatif

Il fonde alors une association, la Free Software Foundation, (Figure 1.2) et écrit le Manifeste GNU, dans lequel il décrit les quatre libertés fondamentales que doit respecter un logiciel pour être qualifié de logiciel libre (free software en anglais). Ces quatre libertés constituent la définition du logiciel libre :

  • la liberté d'exécution : tout le monde a le droit de lancer le programme, quel qu'en soit le but ;

  • la liberté de modification : tout le monde a le droit d'étudier le programme et de le modifier, ce qui implique un accès au code source ;

  • la liberté de redistribution : tout le monde a le droit de rediffuser le programme, gratuitement ou non ;

  • la liberté d'amélioration : tout le monde a le droit de redistribuer une version modifiée du programme.

Figure 1.2. La fondation pour le logiciel libre

La fondation pour le logiciel libre

3.2. La licence GPL

Pour donner un cadre juridique aux logiciels du projet GNU, il écrit une licence, la GNU General Public License alias GPL (il existe une traduction française non officielle). Cette licence reprend les quatre libertés fondamentales citées précédemment et impose pour la liberté d'amélioration que les versions modifiées d'un logiciel sous licence GPL ne peuvent être redistribuées que sous cette même licence. Richard Stallman invite alors tous les logiciels libres à adopter la licence GPL (le logo de cette licence est présenté en Figure 1.3).

Figure 1.3. Le logo de la licence publique générale

Le logo de la licence publique générale

Très tôt, Linus Torvalds adopte la licence GPL pour son noyau Linux. Aujourd'hui, de très nombreux logiciels libres sont distribués sous Licence GPL (VLC media player par exemple). Mais la licence GPL n'est pas la seule licence utilisée pour les logiciels libres. Par exemple, il existe aussi la licence BSD, qui diffère de la licence GPL par le fait qu'une version modifiée d'un logiciel sous Licence BSD peut être redistribuée sous une autre licence, même propriétaire.

4. Qu'est-ce que Linux ?

4.1. Un noyau

Linux désigne au sens strict un noyau de système d'exploitation.

Figure 1.4. Tux, la mascotte de Linux

Tux, la mascotte de Linux

Le noyau est la couche de base d'un système d'exploitation. C'est le noyau qui gère la mémoire, l'accès aux périphériques (disque dur, carte son, carte réseau, etc.), la circulation des données sur le bus, les droits d'accès, les processus qui correspondent aux multiples tâches que l'ordinateur doit exécuter en même temps, etc.

Par contre, le noyau ne gère pas le courrier, l'affichage des pages Web, ou encore le traitement du texte. Ce sont des programmes ou applications qui s'en chargent. Ces programmes viennent se greffer sur le noyau, et ils doivent être adaptés à celui-ci.

Ce noyau de système d'exploitation a l'originalité d'être multi-utilisateurs, multi-tâches et de fonctionner sur de nombreuses plates-formes (Intel, PowerPC, Sparc, etc.). Il est conforme à la norme posix et est distribué sous licence GPL. Il a la réputation d'être fiable, stable et sécurisé. Son appartenance au monde du libre garantit une correction rapide des erreurs qui pourraient être découvertes.

4.2. Un peu d'histoire

Linux naît en 1991 dans la chambre d'un étudiant finlandais, Linus Torvalds. Il développe un noyau en s'inspirant des principes du système d'exploitation unix. Son but initial est de s'amuser et d'apprendre les instructions Intel 386. Quand son noyau commence à marcher, il le met en libre téléchargement sur Internet en demandant aux gens de l'essayer et de lui dire ce qui ne marche pas chez eux.

De nombreuses personnes se montrent intéressées et l'aident à développer son noyau. Dès la version 0.12, il choisit de mettre Linux sous licence GPL. Quelques années plus tard, d'autres bénévoles commencent à créer des distributions Linux.

Aujourd'hui, le succès de Linux s'explique par la qualité technique du noyau, par la présence de nombreuses distributions Linux qui facilitent l'installation du système et des programmes, mais s'explique surtout par son appartenance au monde du Libre qui lui apporte une grande rapidité et qualité de développement. Le nombre d'utilisateurs de Linux est aujourd'hui estimé à plusieurs millions !

Si vous voulez en savoir plus sur l'histoire de Linux et de son père fondateur, Linus Torvalds, vous pouvez lire son livre Just for fun - History of an accidental revolution.

4.2.1. Une distribution GNU/Linux

Comme nous venons de le voir, Linux ne se suffit pas à lui-même. Avec un simple noyau, on ne peut rien faire ! Le noyau Linux est donc fourni à l'intérieur de distributions.

Une distribution GNU/Linux, c'est un ensemble cohérent de plusieurs choses :

  • un noyau Linux ;

  • un ensemble de logiciels de base issus du projet gnu ;

  • d'autres programmes, en libres (un navigateur Web, un lecteur de courrier, un serveur FTP, etc…), issus d'autres projets ;

  • éventuellement, quelques logiciels propriétaires ;

  • une méthode pour installer et désinstaller facilement ces programmes ;

  • un programme d'installation du système d'exploitation.

Le noyau Linux ne se suffit donc pas à lui-même, mais on fait souvent un abus de langage en désignant par le terme Linux ce qui est en fait une distribution GNU/Linux.

Il existe de nombreuses distributions GNU/Linux : comme par exemple Red Hat, Mandriva, SUSE, Ubuntu ou Debian (celle que nous vous proposons d'installer).

La plupart des distributions sont gratuites, car constituées exclusivement de logiciels libres ou de programmes propriétaires gratuits. On peut donc télécharger les images d'installation librement sur Internet. On peut également se procurer des boîtes contenant des DVD auprès de marchands plus ou moins spécialisés, ou plus simplement acheter un des multiples magazines relatifs aux systèmes GNU/Linux, qui sont souvent fournis avec le DVD d'une distribution.