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

Table des matières
1. Qu'est-ce qu'un logiciel OpenSource ?
1.1. La compilation
1.2. Les logiciels propriétaires et les logiciels OpenSource
2. Le projet GNU
2.1. Les logiciels libres
2.2. La licence GPL
3. Qu'est-ce que Linux ?
3.1. Un noyau
3.2. Une distribution Linux
3.3. Un peu d'histoire

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

1.1. La compilation

Un programme informatique, que ce soit un noyau ou un logiciel, est constitué de nombreuses lignes de code, écrites dans un langage de programmation (le langage C dans le cas du noyau Linux). Ce code n'est pas utilisable en tant que tel. Il faut passer par la phase de compilation qui transforme le code source en programme exécutable, souvent appelé binaire. Il suffit d'avoir le binaire pour utiliser le programme ; on n'a pas besoin des sources du programme.

Il n'existe pas de moyen de remonter aux sources du programme à partir du seul binaire. Quand on achète un logiciel (Office par exemple) ou un système d'exploitation (Windows par exemple), on a un CD qui contient le binaire, mais pas les sources. Il est donc impossible de savoir comment le programme est conçu. Par conséquent, on ne peut pas modifier le programme. On peut seulement l'utiliser et éventuellement le copier à l'identique.

1.2. Les logiciels propriétaires et les logiciels OpenSource

Les logiciels propriétaires sont donc les logiciels pour lesquels on n'a accès qu'aux binaires. Généralement, on doit acheter le logiciel, ce qui nous donne le droit d'utiliser les binaires dans la limite des termes du contrat de licence. Certains logiciels propriétaires sont gratuits, on les appelle freeware.

Les logiciels OpenSource sont les logiciels pour lesquels on a accès au code source (d'où le terme OpenSource).

2. Le projet GNU

2.1. Les logiciels libres

Le projet GNU démarre en 1983 sous l'impulsion de Richard Stallman. Scandalisé par les restrictions de libertés imposées par les logiciels propriétaires, il lance ce projet pour accélérer le développement des logiciels libres, qui étaient très peu nombreux à l'époque. L'histoire raconte que c'est une histoire de driver d'imprimante qui lui a fait prendre conscience du danger de la logique propriétaire.

Il fonde alors une association, la Free Software Foundation, et écrit le GNU Manifesto, 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) :

  • 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.

Note

Il ne faut pas confondre les logiciels libres et les logiciels OpenSource : les logiciels libres garantissent les quatre libertés fondamentales décrites ci-dessus, alors que les logiciels OpenSource ne garantissent a priori que le droit d'accès au code source. Dans la pratique, l'adjectif OpenSource est souvent employé à la place de libre.

2.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.

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 (VideoLAN 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.

3. Qu'est-ce que Linux ?

3.1. Un noyau

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

Figure 1-1. Logo 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 multiples 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 mail, 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 et multi-tâches et de fonctionner sur de nombreuses plates-formes (Intel, Apple, 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.

3.2. Une distribution 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 vient donc à l'intérieur de distributions.

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

  • un noyau Linux,

  • des programmes, en majorité libres (un navigateur Web, un lecteur de Mail, un serveur FTP, etc...),

  • 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 Linux.

Il existe de nombreuses distributions Linux, comme par exemple RedHat, Mandriva, SuSE, ou Debian (celle que je vous propose 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 CDs librement sur Internet. On peut également acheter des boîtes contenant les CDs dans le commerce. Les prix vont d'une dizaine d'euros pour couvrir les frais de presse des CDs à plusieurs dizaines d'euros quand il y a une documentation abondante et un support technique pendant une certaine durée.

3.3. 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 de la philosophie 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, mais aussi par la présence de nombreuses distributions Linux qui facilitent l'installation du système et des programmes. Il 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, je vous conseille le livre qu'il a écrit intitulé Just for fun - History of an accidental revolution.