Aller au contenu

Les pionniers de la liberté - Le gnou contre l’imprimante

Saviez-vous qu'avoir des problèmes avec votre imprimante pouvait vous motiver à changer le monde ? Dans ce deuxième article consacré à l'histoire du logiciel libre, nous allons assister à l'évolution de ce mouvement vers la forme légale et structurée d'aujourd'hui.

Le GNU contre l'imprimante

Nous sommes en 1983.
Notre moitié du monde a adopté le consumérisme comme mode de vie. Un marché unique commence à se créer quelque part en Europe et les gens ne parlent que d’ET et d’Indiana Jones. Certains "nerds" parlent même entre eux de Pac-Man tandis que les hits de l’album Thriller inondent les radios.

Durant cette période et de manière plus ou moins discrète, la culture hackeur se répand au fur et à mesure des innovations technologiques, alliant détournement de matériel, reprogrammation de logiciel existants et partage de ces découvertes auprès de la communauté.

Mais c’est surtout cette année-là que le système d’exploitation UNIX libre (ou assimilé) dont l'histoire a commencé dans cet article, va subir une actualité impactante.

https://cdn.pixabay.com/photo/2016/04/13/21/07/background-1327686_1280.png
Remember me ?

🎼Sweet Dreams Are Made of This🎙️🎸♫

C'est en effet en 1983, suite à une décision de justice que la société American Telephone & Telegraph est démembrée pour avoir été reconnue responsable d’une situation de monopole.

Or, si Ken Thompson et Dennis Ritchie, créateurs du système d'exploitation UNIX, continuaient à envoyer des copies des versions de UNIX à quiconque le demandait, il est important de noter que ces derniers travaillaient au sein des laboratoires Bell … appartenant à American Telephone & Telegraph.

Ce démembrement judiciaire mena à la création de la société AT&T (les personnes en charge de la création du nom devaient être en panne d'inspiration) qui commença à commercialiser “son” système d'exploitation UNIX.
Voulant se démarquer de ses contemporains, AT&T a établi comme stratégie commerciale de considérer le logiciel comme un produit ayant une valeur commerciale.

Contrairement aux décennies précédentes, le logiciel n’était plus une étape obligatoire pour que les utilisateurs puissent utiliser (et donc acheter) le matériel mais bien un produit à part entière, pouvant générer une plus-value financière.
À l’origine faire-valoir du hardware, le software commençait à occuper une importance centrale !

Une conséquence de cette stratégie moderne à été la commercialisation et la mise sous licence propriétaire d’une nouvelle version de UNIX : System V.
Basée sur la version précédente, cette version avait donc indirectement bénéficiée des contributions de chercheurs universitaires voire d’étudiants au fil des ans. Or, en passant le système sous une licence commerciale, le système d’exploitation devenait payant pour l’ensemble des utilisateurs… y compris ceux qui avaient participé à son développement !

Du libre partage et de la co-construction d’un outil déjà largement utilisé dans les universités, on passait à un outil propriétaire, commercial et donc au code source inaccessible.
Cette annonce mis en émoi plus d’un contributeur, spécialement dans la culture hackeur, et notamment un chercheur du MIT particulièrement têtu : Richard Stallman.

🎼Remember my name. Fame !🎙️🎸♫

Fichier:Richard Stallman - Fête de l'Humanité 2014 - 010.jpg
Richard Stallman ©Wikipedia

Travaillant au sein du département de recherche en intelligence artificielle (hé oui, déjà !) du Massachusetts Institute of Technology (ou MIT) depuis 1971, Richard Stallman est un fan de l’éthique des hackeurs et particulièrement de son aspect “anarchie et refus de l’autorité”.

En constatant le virage commercial pris par le monde du développement logiciel vers le modèle propriétaire, il décide d’y mener une opposition opiniâtre au point de quotidiennement réimplémenter seul, sur base des spécifications, des fonctionnalités propriétaires ajoutées par des dizaines de développeurs "concurrents".

Mais en 1980, Richard Stallman est confronté à un défi particulier ayant traversé les décennies et qui subsiste aujourd’hui : il n'arrive pas à faire fonctionner son imprimante.
Plus exactement, les imprimantes de son département au MIT étant sujettes aux erreurs, il avait pour habitude de modifier le code source du driver afin que ce dernier notifie les utilisateurs en cas de blocage.

Cette année-là cependant, l'accès au code source du driver de la nouvelle imprimante est refusé aux hackers du MIT. Le code source du driver étant devenu propriétaire (et donc inaccessible), les informaticiens n’avaient plus la possibilité d’améliorer le driver existant en l’adaptant à leur cas d’utilisation. 

Du fait que l’imprimante était située à un étage différent du sien et qu’il était donc probable qu’il se déplace entre les étages pour ne trouver qu’une imprimante bloquée, l’impossibilité d’ajouter cette fonctionnalité de notification fut considérée comme un inconvénient majeur par Stallman.
Plus largement, cet exemple finit de le convaincre que l’éthique et le mode de vie des hackeurs étaient à terme condamnés par cette mouvance du code propriétaire qui touchait de plus en plus leurs outils quotidiens.

Stallman estima, dès cet époque, que le droit à la modification d’un logiciel par ses utilisateurs est une nécessité absolue.

https://images.unsplash.com/photo-1594415156128-af1d8788db6c?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
Selon Stallman, il est impératif d'avoir la possibilité de modifier les logiciels que l'on utilise.

De plus en plus convaincu au fil des années de la nécessité du caractère libre des logiciels, Richard Stallman reçoit la nouvelle de la mise sous licence propriétaire de UNIX avec effroi.

Excédé par la mise sous licence propriétaire de cet outil qu'il estimait être un bien commun, Stallman annonce sa volonté de recréer entièrement UNIX par et pour sa communauté d’utilisateurs-développeurs avec la promesse que ce clone restera libre et donc accessible et modifiable par quiconque le désire.

Pour ce faire, il lance fin 1983 le projet GNU. Cet acronyme récursif s'impose clairement en opposition à l'évolution de UNIX. En effet, GNU signifie Gnu’s Not Unix.

https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Heckert_GNU_white.svg/langfr-390px-Heckert_GNU_white.svg.png
Mascotte du projet GNU

Le projet consiste à créer un système d’exploitation, appelé GNU, en réimplémentant à partir de zéro les concepts utilisés dans les systèmes UNIX.
Pour mener à bien cette tâche titanesque, Stallman va suivre les principes suivants: 

  • Les commandes d’administration resteront les mêmes (cat, ls, mkdir, chown, etc.) afin de faciliter l’adoption du système GNU par les habitués de UNIX;
  • Chaque composant du système UNIX sera entièrement réécrit un à un afin d’éviter tout problème de propriété intellectuelle du code;

Fort heureusement, la structure même du système UNIX consistant en une multitude de composants interdépendants va permettre de migrer chacun d'entre eux individuellement. Ce découpage naturel des tâches va permettre une participation collective à ce projet qui rencontrera un engouement auprès des anciens contributeurs de UNIX.

Stallman lui-même va être un contributeur majeur du projet en écrivant des librairies majeures telles que l’éditeur de code Emacs ainsi que le compilateur gcc (GNU Compiler Collection).

Ce UNIX libre n’est pas le même que cet autre UNIX libre

En parallèle du travail technique que consiste cette réécriture de UNIX, Stallman s’interroge sur un moyen de garantir le caractère libre de ce nouveau projet et de ne pas subir une dérive similaire ou un détournement des valeurs originales.
Ainsi, afin de garantir des bases légales solides au projet GNU, il va créer la Free Software Foundation (ou FSF).

Parmi ses premières réalisations, la FSF a défini les quatre règles fondamentales du logiciel libre qui perdurent encore aujourd’hui :

  1. La liberté d'exécuter le programme, pour tous les usages;
  2. La liberté d'étudier le fonctionnement du programme, et de l'adapter à ses besoins;
  3. La liberté de redistribuer des copies du programme;
  4. La liberté d'améliorer le programme et de distribuer ces améliorations au public, pour en faire profiter toute la communauté.

En plus de cette définition, la FSF va définir une licence légale et contraignante qui sera appliquée au sein du projet GNU : la GNU General Public License ou simplement GPL.

Cette dernière impose que tout travail dérivé d’un code sous licence GPL soit lui-même tenu à être sous une licence GPL ou équivalente. Cette contrainte considérée comme "virale" empêche de facto l’appropriation d’une base de code libre. 
En effet, lorsque vous modifiez ou utilisez un logiciel libre (sous licence GPL), votre logiciel doit également être libre !

La réponse au caractère extrême de la privatisation et confiscation de UNIX par AT&T est ainsi une licence dont la viralité est également considérée comme extrême par ses détracteurs.

Depuis lors, la Free Software Foundation dont la mission est la promotion du logiciel libre et la défense des utilisateurs veille au respect des conditions de cette licence.

D’un système d’exploitation à un plaidoyer politique et social

Au-delà des aspects techniques et légaux d’une implémentation libre de UNIX par le projet GNU et la FSF, le mouvement lancé par Richard Stallman promeut le développement et l’utilisation des logiciels libres par et pour le plus grand nombre.
Les valeurs cardinales de partage, de transparence, de libre utilisation et de modification de nos outils informatiques ont su trouver de nouveaux messages à porter au fur et à mesure des innovations technologiques et de nos habitudes de consommation numérique.
Par exemple, le caractère libre d'un logiciel est souvent un argument utilisé comme garantie concernant le respect de la vie privée de ses utilisateurs.

Cependant, si le projet technique continua d’avancer durant plusieurs années, il allait se frotter à un blocage de taille : le développement d’un noyau (ou kernel) en tant que cœur du système d’exploitation GNU.

🎼How Am I Supposed to Live Without You🎙️🎸♫

Si, au début des années 1990, le projet GNU possède presque tous les éléments (sous licence libre) d’un système d’exploitation, il manque néanmoins un composant : le noyau.

Pourtant, le noyau d’un système d’exploitation est véritablement un élément central et fondamental de ce système.
C’est en effet lui qui permet aux différents composants (tant matériels que logiciels) de communiquer entre eux et de se coordonner pour répondre aux demandes de l’utilisateur. Pour ce faire, il est responsable de la gestion des ressources matérielles à un niveau très bas (demande d’allocation mémoire, gestion des inputs physiques (clavier & souris), etc.) et de l’attribution de ces ressources aux logiciels et processus qui lui en demandent.

À ce titre, vous pouvez considérer le noyau d’un système d’exploitation comme à la fois son Gardien et son Grand Coordinateur… et GNU n’en avait pas !
Pour combler ce manque, le projet GNU va lancer la création de son noyau dénommé Hurd.

Cependant, la tâche est ardue.
La programmation est dite de bas niveau car au plus proche du matériel (et utilisant du code assembleur ou C), la gestion de la mémoire doit être minutieuse et il faut tenir compte des spécificités de chacune des principales architectures matérielles.
Au vu de la complexité de cette tâche, il n’était pas envisagé d’avoir un noyau fonctionnel pour GNU avant le début des années 2000 soit plus de 10 ans de développement… si tout allait bien.

Arrivé dans une impasse, le projet GNU allait heureusement recevoir un coup de main d’un manchot qui deviendra célèbre.

A SUIVRE.

Dernier