Les logiciels libres et GNU/Linux, la liberté informatique

    1. Introduction
      1. GNU/Linux ?
      2. L'apport de GNU
    2. Sous le capot...
      1. Le moteur
      2. La carrosserie
    3. GNU/Linux est libre !
      1. Droits et devoirs des utilisateurs
      2. Le code source
      3. Stabilité et fiabilité
      4. Indépendance

Introduction

Les logiciels libres sont la révolution informatique la plus marquante depuis l'invention de l'ordinateur ! Comment des systèmes développés par des bénévoles inconnus à travers l'Internet tout entier font-ils pour rivaliser en efficacité et en fiabilité avec les logiciels propriétaires ? L'irresistible ascension des logiciels libres est aujourd'hui illustrée à travers l'exemple de GNU/Linux, désormais utilisé sur des millions de machines.

GNU/Linux ?

GNU/Linux est un système d'exploitation libre, compatible UNIX (UNIX est une famille de systèmes d'exploitation, dérivant tous d'un système écrit en 1971 par Ken Thompson, Dennis Ritchie, et partageant des caractéristiques techniques communes) développé initialement par un étudiant Finlandais du nom de Linus Torvalds. En 1991, Linus décide d'écrire un système d'exploitation libre et nouveau car ceux dont il dispose sont trop chers ou ne répondent pas à ses besoins. Il décide de publier le résultat de son travail sur l'Internet, et des dizaines de volontaires lui envoient rapidement leurs remarques et intègrent le projet. Peu à peu le système se perfectionne, et son succès grandissant ne semble connaître aucune limite.

Bientôt, le succès est tel que ce que Linus considérait comme un loisir est devenu un des systèmes d'exploitation les plus utilisés au monde (les estimations vont de 6 à 10 millions de machines). Aujourd'hui les éditeurs de logiciels se tournent en nombre vers ce système, et le petit système jadis réservé aux programmeurs fous est devenu un facteur de concurrence. GNU/Linux se plie désormais à toutes les utilisations.

L'apport de GNU

Aujourd'hui, GNU/Linux est devenu un système d'exploitation complet, et ceci grâce à des contributions de milliers de programmeurs. Notamment, l'apport du projet GNU a été décisif.

GNU a pour but d'écrire un système d'exploitation complet 100% libre. Lorsque Linus à commencé son système, GNU avait déjà développé de nombreux outils, mais le 'noyau' de leur système d'exploitation n'avait pas encore suffisamment avancé pour être exploitable.

Par analogie, le 'noyau' (c'est-à-dire le travail de Linus) est le moteur d'une automobile. Mais sans suspension ni boite de vitesses, un moteur est inutile. GNU avait déjà écrit ces composants, et adopta le noyau Linux comme moteur de son système. Aujourd'hui, les deux sont indissociables. C'est pourquoi le système Linux s'appelle aussi GNU/Linux. En fait, on appelle couramment le moteur Linux, et l'automobile entière GNU/Linux.

Sous le capot...

Le succès de GNU/Linux est en partie du à sa qualité et à ses prouesses techniques. GNU/Linux est un système très peu gourmand en ressources : il fonctionne correctement d'un 386 obsolète au dernier Pentium III, ainsi que sur des architectures plus exotiques.

Un des avantages du système est qu'il permet de mélanger sans accroc plusieurs niveaux d'utilisation : un utilisateur occasionnel peut exécuter de manière graphique les mêmes tâches qu'un utilisateur averti par le biais de commandes textuelles. En fait, le principe est que GNU/Linux est doté d'un moteur puissant imperméable au débutant au premier abord, mais aussi d'un ensemble de carrosseries étudiées pour lui faciliter la tâche.

Ainsi, l'utilisateur occasionnel ou pressé peut profiter de toute la puissance du logiciel de publication professionnelle TeX tout en bénéficiant de la simplicité d'utilisation d'une interface graphique telle que LyX.

Le moteur

Parmi les caractéristiques techniques de GNU/Linux, les plus importantes sont :

  • GNU/Linux est un système parfaitement multi-tâches. Sous ce nom compliqué se cache un concept simple. Plusieurs programmes peuvent être exécutés en même temps, et faire des calculs de manière simultanée. Il est courant d'effectuer des calculs importants (calculs de fractales, traitement sur des images), et de pouvoir travailler en même temps sans se rendre compte du travail fournit par la machine.
  • GNU/Linux est multi-utilisateurs. Cela signifie que plusieurs personnes peuvent travailler avec des identités différentes sur la même machine en même temps. Pour des questions de sécurité, chacun à des droits réduits, et ne peut pas détruire le travail des autres utilisateurs. Chaque utilisateur définit son propre environnement de travail.

Le caractère multi-utilisateurs de GNU/Linux nécessite une sécurité inattaquable. Sous GNU/Linux, il est pratiquement impossible à un utilisateur de pouvoir détruire les données d'un autre utilisateur ou perturber son travail. Le point clef de la sécurité sous GNU/Linux est l'algorithme de cryptage utilisé (DES), public et vieux d'une vingtaine années. Jusqu'à présent, il est très difficile de décrypter un mot de passe utilisant cet algorithme.

La carrosserie

Une ferrari sans une jolie carrosserie rouge n'est pas une ferrari. Des interfaces graphiques permettent d'utiliser le système GNU/Linux de manière visuelle, intuitive et faciles à prendre en main par l'utilisateur moyen. Tout l'intérêt est que l'utilisateur peut changer de carrosserie en peu de manipulations.

Des programmes permettent de gérer ces fenêtres selon la volonté de l'utilisateur. On les appelle 'gestionnaires de fenêtres'. Il en existe pour tous les goûts, et certains émulent l'apparence de gestionnaires de fenêtres d'autres systèmes (Macintosh, Windows 95, Next, Amiga ...).

Pour les partisants d'interfaces graphiques conviviales, GNU/Linux supporte de nombreuses applications. C'est à l'origine un système fait par des développeurs pour des développeurs. Mais le flot continu de nouveaux utilisateurs a rendu nécessaire le développement d'applications de plus en plus grand public. On peut citer :

  • Gimp, logiciel de traitement d'images de qualité professionnelle,
  • LyX, logiciel de mise en page,
  • xfig, logiciel de dessin vectoriel,
  • visual tcl, un des outil de développement d'applications graphiques,
  • FREEdraft, logiciel de CAO, plusieurs gestionnaires de fichiers,

et la liste est longue...

GNU/Linux est libre !

Droits et devoirs des utilisateurs

GNU/Linux est un ensemble de logiciels libres. La liberté d'un logiciel est la liberté des utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Mais cette liberté impose certaines restrictions: la rediffusion du code (modifié ou non) doit être libre. Ainsi les travaux effectués par l'ensemble des programmeurs sont protégés contre l'appropriation par autrui.

La liberté de GNU/Linux implique alors :

  • que chacun peut se le procurer gratuitement ou pour un coût minime,
  • que chacun peut le distribuer comme il le désire, et l'installer en toute légalité sur autant de machines qu'il le souhaite,
  • que chacun peut étudier librement son fonctionnement, et s'il des compétences techniques, modifier à sa guise son système.
  • que chacun peut modifier le programme, et redistribuer ses modifications, à partir du moment où il respecte les conditions de la 'licence'.

La licence qui régit un grande partie des logiciels libres se nomme la GNU GPL ( GNU General Public Licence ou Licence Publique Générale de GNU). C'est elle qui permet aux utilisateurs de faire l'ensemble des choses décrite précédemment, tout en protégeant l'auteur d'une réappropriation éventuelle de son code source, par le biais du copyleft (jeu de mot sur le terme copyright).

Le code source

Le code source permet la description d'un logiciel sous forme de texte lisible par un humain, à partir duquel est généré une forme exécutable par la machine. La possession du code source est obligatoire pour la compréhension du fonctionnement du programme et pour sa modification.

Quand un éditeur arrête la diffusion d'un programme, avoir le code source permettra toujours à un prestataire d'assurer la perrenité du programme (pour le passage à l'an 2000 par exemple).

Avoir le code source permet de connaitre les formats de sauvegarde d'un programme. Cela permet de transférer les données entre les différentes versions d'un même programme ou vers un programme concurrent.

La disponibilité du code source de Linux permet à un grand nombre de programmeurs d'y intégrer des idées novatrice ou des concepts éprouvés, d'améliorer ses performances ou de corriger les erreurs du programme.

Enfin, la disponibilité du code source est une preuve de fiabilité du programme, puisqu'il peut être analysé par autrui.

Stabilité et fiabilité

GNU/Linux est reconnu universellement comme étant un système fiable et éprouvé. C'est une des raisons de son succès. Comme meilleure preuve, le système GNU/Linux est choisi par la NASA pour équiper certaines de ses missions spatiales. Et pourtant, quel crédit accorder à un système développé à travers le monde par des individus qui ne se connaissent même pas ?

Cette fiabilité, ainsi que la qualité générale du système, en font le système de choix pour les postes sensibles des entreprises, tels les serveurs web (actuellement, la solution GNU/Linux et serveur web Apache est la plus utilisée à travers l'Internet).

C'est justement la force du modèle de développement libre de GNU/Linux. Chaque utilisateur peut aussi être développeur. Lorsqu'un utilisateur détecte une erreur sur un programme, il la reporte aux programmeurs. S'il a un minimum de compétences techniques, il peut même la corriger lui même en examinant le code source. Ce fonctionnement coopératif a pour conséquence une énorme rapidité dans la correction des erreurs, ainsi qu'une détection d'erreurs bien plus efficace et profonde que dans le cas d'un logiciel propriétaire.

La grande diversité des plates-formes sur lesquelles travaillent les utilisateurs de GNU/Linux a pour conséquence que les erreurs spécifiques à une configuration très précise sont corrigés alors.

Mais celà ne se limite pas à GNU/Linux : tous les outils libres bénéficient de ce mode de développement. La fiabilité de GNU/Linux est due ausso à la fiabililité des outils qui le composent.

Indépendance

Une société qui utilise des logiciels propriétaires est toujours prisonnière de ses fournisseurs, y compris des plus petits. Le logiciel libre est un bon moyen de casser les monopoles et de fournir des alternatives. Un éditeur peut décider d'arrêter un logiciel, ou de faire pression sur les utilisateurs. Avec un logiciel libre, un utilisateur est sûr d'être indépendant vis à vis des éditeurs, car sa licence interdit son détournement. On constate que si une équipe de développement d'un logiciel libre décide d'arrêter le logiciel, des volontaires se proposent toujours pour en assurer la continuité.