Le concept même de logiciel n’est pas évident. Comme le rappelait Marion Créhange, la première titulaire d’un doctorat en informatique en France, la manière d’influencer le comportement des premiers ordinateurs était de changer le branchement des câbles. Un programme était littéralement un plan de câblage qui nécessitait de s’arracher les mains sur des fils.
Petit à petit, les premiers informaticiens ont amélioré la technologie. Ils ont créé des ordinateurs « programmables » qui pouvaient être modifiés si on leur fournissait des programmes au format binaire, généralement des trous sur des cartes en carton qui étaient insérées dans un ordre précis. Il fallait bien évidemment comprendre exactement comment fonctionnait le processeur pour programmer la machine.
Les processeurs ont ensuite été améliorés pour comprendre des instructions simples, appelées « assembleur ». Les informaticiens pouvaient réfléchir avec ce langage qui donnait des instructions directes au processeur. Cependant, ils utilisaient d’autres formalismes qu’ils appelèrent « langage de programmation ». Les programmes étaient écrits sur papier dans ce langage puis, grâce à des tableaux, traduits en assembleur.
Vint alors l’idée de concevoir un programme qui effectuerait cette traduction. Le premier de ces programmes fut appelé « Traducteur de formules », « Formula Translator », abrégé en « FORTRAN ». Les traducteurs de formules furent rapidement renommés « compilateurs ». Avec un compilateur, il n’était plus nécessaire de comprendre ce que faisait le processeur. Il devenait possible de créer un programme dans un langage dit « de haut niveau » et de le donner à la machine.
Il faut cependant insister sur le fait qu’à l’époque, chaque ordinateur vient avec son propre système logiciel qui est extrêmement complexe et particulier. Faire tourner un programme requiert d’apprendre l’ordinateur en question. Faire tourner le même programme sur plusieurs ordinateurs différents n’est même pas envisagé.
Vu le prix élevé d’un ordinateur, comparables à celui d’une luxueuse villa, ceux-ci sont rares et partagés entre des dizaines d’utilisateurs, le plus souvent au sein des universités. L’un des gros problèmes informatiques de l’époque est de rentabiliser l’ordinateur. Il est possible d’interagir directement avec un ordinateur à travers un télétype : un gros clavier relié à un système électrique avec une bande de papier fournissant les résultats. Le problème du télétype c’est que lorsque l’utilisateur lit les résultats et réfléchit, l’ordinateur attend sans rien faire. Un peu comme si vous achetiez une voiture à 50.000€ pour la laisser 95% du temps dans son garage (ce qui est le cas, soi dit en passant).
Pour cette raison, l’interaction directe est découragée au profit des « batch » de cartes perforées. Le programmeur créé des cartes perforées contenant toutes les instructions qu’il veut effectuer (son « programme »), les donne dans une boîte au centre de calcul qui les insère dans l’ordinateur lorsque celui-ci est inoccupé. Le résultat est imprimé est envoyé au programmeur, parfois le lendemain ou le surlendemain.
Apparait l’idée de permettre de connecter plusieurs télétypes à un ordinateur pour donner une apparence d’interactivité tout en faisant en sorte que l’ordinateur traite séquentiellement les requêtes. Un projet est mis sur pieds pour faire de ce rêve une réalité : Multics. Multics est un projet à gros budget qui fait se collaborer une grande entreprise, General Electrics, une université, le MIT, et un laboratoire de recherche dépendant d’AT&T, le Bell Labs.
Multics possède les bons programmeurs et les bonnes idées. Mais une collaboration à une telle échelle nécessite beaucoup de managers, de politiciens, d’administratif, de paperasse. Bref, au bout de 5 ans, le projet est finalement considéré comme un échec. Les managers et les administrateurs vont voir ailleurs.
La première grande collaboration
Sans s’en rendre compte tout de suite, le défunt Multics laisse désœuvrés quelques programmeurs. Parmi eux, Ken Thompson vient d’avoir un enfant. L’anecdote est importante, car son épouse lui annonce partir un mois avec le bébé pour le présenter à sa famille, qui vit de l’autre côté du pays. Thompson se retrouve quatre semaines tout seul et décide de profiter de ce temps pour mettre en place une version simplifiée de Multics qu’il a en tête. Par dérision, il l’appelle Unics. Qui deviendra Unix. Au départ écrit en assembleur, il inventera le langage B qui sera utilisé par son pote Ritchie pour inventer le langage C avec lequel sera réécrit Unix en 1973.
Thompson et Ritchie sont également les premiers prototypes des geeks de l’informatique : barbe mal entretenu, cheveux en bataille, t-shirt trop large (à une époque où même la jeunesse rebelle n’imagine pas s’afficher autrement qu’en vestes de cuir cintrées), séances de programmation jusqu’à l’aube, arrivées au laboratoire vers 13h du matin, etc.
Dans ses réflexions, Thompson n’a qu’un mot à la bouche : « simplicité ». C’est d’ailleurs lui qui va pousser Ritchie à ce que le langage « C » s’appelle ainsi. Une lettre, c’est simple, efficace. Cette idée de simplicité sous-tend toute l’architecture d’Unix : plutôt que de faire un énorme système hyper complexe qui fait tout, on va faire des petits programmes et leur permettre de s’utiliser l’un l’autre. L’idée est révolutionnaire : un programme peut utiliser un autre pour obtenir une fonctionnalité. Arrive même l’idée du « pipe » qui permet à l’utilisateur de construire ses propres chaines de programmes. Cela semble évident aujourd’hui, mais c’est un progrès énorme à une époque où les concepteurs de systèmes d’exploitation tentent de faire un énorme programme capable de tout faire en même temps. Cette simplicité est d’ailleurs encore aujourd’hui ce qui fait la puissance des systèmes inspirés d’Unix. C’est également ce qui va permettre une vague de collaboration sans précédent : chaque individu peut désormais créer un petit outil qui va accroitre exponentiellement les capacités du système global.
Ritchie et Thompson présentent le résultat de leur travail lors d’une conférence en 1973. À la même époque vient justement d’apparaitre le concept non pas de connecter des ordinateurs directement entre eux, ce qui existait déjà, mais de leur permettre de servir de relais. Deux ordinateurs peuvent désormais se parler sans être connectés directement. Cela dessine un réseau, appelé ARPANET et qui deviendra INTERNET, l’interconnexion des réseaux.
Certains historiens estiment qu’environ la moitié des personnes connectées à ARPANET à l’époque était dans la salle lors de la présentation d’Unix.
Le concept est tout de suite un véritable succès.
Une chose importante est de savoir que le Bell Labs, où a été inventé Unix, faisait partie d’AT&T. Et qu’AT&T était, à ce moment-là, sous le coup d’un procès antitrust et n’avait pas le droit de faire autre chose que de vendre de l’équipement téléphonique. L’état américain voyait d’un très mauvais œil qu’une entreprise privée puisse devenir trop puissante. Dès que c’était le cas, dès qu’une position de monopole se dessinait, l’état intervenait rapidement.
AT&T commercialisait des lignes téléphoniques. L’objectif du Bell Labs était de développer des technologies qui nécessitaient l’utilisation de lignes téléphoniques afin d’en encourager l’usage. Mais AT&T ne cherchait pas à commercialiser directement ces technologies. Le procès antitrust rendait cela beaucoup trop risqué.
Pas du tout préoccupée par l’aspect mercantile, l’équipe UNIX se met à collaborer avec les universités, les chercheurs de tout bord. À l’université de Berkeley, tout particulièrement, on se met à améliorer les fonctionnalités. On s’échange du code source, des astuces. On se connecte directement aux ordinateurs de l’un et l’autre pour comprendre les problèmes. Bref, on collabore sans réellement réfléchir à l’aspect financier.
En Australie, le professeur John Lions enseigne Unix à ses étudiants en leur donnant… l’entièreté du code source à lire. Code source qu’il commente abondamment. Son syllabus fait rapidement le tour du monde comme un outil indispensable, le tout avec la bénédiction de Ken Thompson.
Petit à petit, Unix prend de l’importance et, chez AT&T, les juristes commencent un peu à se dire qu’il y’aurait des sous à se faire. La marque UNIX est déposée. Qu’à cela ne tienne, le « UNIX USER GROUP » est renommé « Usenix ». On demande à Ritchie et Thompson de ne plus partager leur travail. Qu’à cela ne tienne, celui-ci « oublie » malencontreusement des sacs remplis de bandes magnétiques dans un parc où, justement, se promenait un ami de Berkeley.
Ça vous donne un peu l’idée du niveau de collaboration et d’esprit frondeur qui anime l’ensemble. Ils ont peut-être des barbes et des t-shirts larges. Ils n’en restent pas moins intelligents et frondeurs. Ce sont des « hackers », le terme qu’ils se donnent et qui est encore utilisé aujourd’hui.
La première confiscation
En 1980, un changement politique se fait en occident avec l’élection de Margaret Thatcher au Royaume-Uni et de Ronald Reagan aux États-Unis. Leur doctrine pourrait se résumer en « faire passer les intérêts des entreprises avant ceux des individus ». La recherche, la collaboration, le partage et l’empathie sont devenus des obstacles sur la route de la recherche de profit. Plusieurs grandes mesures vont voir le jour et avoir une importance extrêmement importante, tant sur l’industrie du logiciel que sur notre avenir.
Le terme « propriété intellectuelle », un concept inventé en 1967 et jusque là à peu près ignoré, va devenir une stratégie essentielle des entreprises pour faire du profit. Historiquement, le concept de propriété permet d’asseoir le droit de jouir d’un bien sans se le faire enlever. Mais comment peut-on « voler » une propriété intellectuelle ? Cela semble absurde, mais c’est pourtant très simple : il suffit de convaincre la population que tout concept, toute œuvre possède un propriétaire et que le simple fait d’en jouir ou de l’utiliser est une atteinte aux intérêts économiques de l’auteur. Historiquement, les brevets offraient aux inventeurs un monopole limité dans le temps sur une invention en échange du fait que cette invention deviendrait publique une fois le brevet expiré. Bien que luttant contre les monopoles, l’état savait en offrir un temporaire en échange d’un bénéfice futur pour la société. L’idéologie du profit avant tout permet d’écarter complètement cette composante de l’équation. Le terme « propriété intellectuelle » permet d’étendre les monopoles temporaires, tant en termes de temporalité que de droits. Le propriétaire de la propriété intellectuelle ne doit plus rien à la société qui n’a plus qu’une fonction : préserver ses profits bien mérités.
Grâce à près de trente années de campagnes intensives, le concept de propriété intellectuelle est tellement ancré dans les mœurs que les écoles n’osent plus faire chanter leurs enfants sans s’assurer de payer des droits auprès d’un organisme quelconque qui, bien évidemment, ne demande que ça. La propriété intellectuelle est, intellectuellement, une escroquerie. Elle sonne également le glas de la collaboration et des grands progrès académiques. Même les universités, aujourd’hui, cherchent à préserver leurs propriétés intellectuelles. Par réflexe et en dépit de leur mission première.
Les concepts de collaboration et de bien-commun sont eux immolés sur l’autel de l’anticommunisme. Faire du profit à tout prix devient un devoir patriotique pour lutter contre le communisme. Cela a tellement bien fonctionné que malgré l’écroulement total du communisme, le concept du bien commun est rayé du vocabulaire. Plus de 30 ans après la chute du mur de Berlin, les gouvernements et les institutions publiques comme les universités doivent encore justifier leurs choix et leurs investissements en termes de rentabilités et de profits futurs.
Cette évolution des mentalités se fait en parallèle à la complexification du concept de logiciel. Graduellement, le logiciel est passé d’une série d’instructions à un véritable travail, une véritable œuvre. Il peut logiquement être commercialisé. La commercialisation d’un logiciel se fait via une innovation légale : la licence. La licence est un contrat entre le fournisseur du logiciel et l’utilisateur. Le fournisseur du logiciel impose ses conditions et vous devez les accepter pour utiliser le logiciel. Grâce à la propriété intellectuelle, le logiciel reste la propriété du fournisseur. On n’achète plus un bien, on achète le droit de l’utiliser dans un cadre strictement défini.
Notons que cette innovation commerciale découle en droite ligne de l’importance morale accordée aux profits. Si l’utilisateur ne peut plus acheter, stocker, réparer et réutiliser un bien, il doit payer à chaque utilisation. L’utilisateur est clairement perdant par rapport au cas d’usage où il achèterait le logiciel comme un bien dont il peut disposer à sa guise.
Aujourd’hui, chaque logiciel que nous utilisons est muni d’une licence et dépend le plus souvent d’autres logiciels également munis de leurs propres licences. Il a été démontré qu’il est matériellement impossible de lire tous les contrats que nous acceptons quotidiennement. Pourtant, la fiction légale prétend que nous les avons acceptés consciemment. Que nous devons nous plier aux conditions qui sont décrites. Chaque fois que nous cliquons sur « J’accepte », nous signons littéralement un chèque en blanc sur notre âme, en espérant que jamais le Malin ne vienne réclamer son dû.
Pour perpétuer l’esprit UNIX initial, cet esprit frondeur et hacker, l’université de Berkeley met au point la licence BSD. Cette licence dit, en substance, que vous pouvez faire ce que vous voulez avec le logiciel, y compris le modifier et le revendre, à condition de citer les auteurs.
Le livre de John Lions est lui interdit, car contenant la propriété intellectuelle d’AT&T. Il circule désormais sous le manteau, photocopié par des générations d’étudiants qui ne cherchent pas à le moins du monde à faire de l’ombre à AT&T, mais à simplement mieux comprendre comment fonctionne ou pourrait fonctionner un ordinateur.
L’apparition des ordinateurs personnels
Les ordinateurs sont de moins en moins chers. Et de plus en plus variés. L’entreprise IBM est le plus gros fournisseur d’ordinateurs, certains sont des mastodontes, d’autres ont à peine la taille d’une grosse valise (les « mini-ordinateurs »).
IBM a l’idée de créer des ordinateurs assez petits pour tenir sur un bureau : un micro-ordinateur. Il serait bon marché, peu puissant. Son nom ? Le « personal computer », le PC.
Seulement, comme AT&T auparavant, IBM est sous le coup d’un procès antitrust. Diplomatiquement, il serait dangereux de se lancer dans un nouveau marché. Pour éviter cela, IBM va tout d’abord concevoir le PC avec une architecture ouverte, c’est-à-dire des composants que n’importe qui peut acheter ou copier (contrairement aux concurrents comme Amiga, Commodore, Atari, etc.). Le système d’exploitation, le logiciel qui fera tourner la machine, est considéré comme l’un de ces composants. Problème : les systèmes Unix sont très chers et conçus avec des fonctionnalités très complexes comme le fait d’héberger plusieurs utilisateurs. Ils ne sont donc pas adaptés à un « personal computer ». IBM travaille bien sur son propre operating system (OS2), mais, en attendant, pourquoi ne pas sous-traiter la tâche ?
Un riche et important avocat d’affaires, William Gates, qui travaille, entre autres, pour IBM, entend parler de cette histoire et annonce que son fils vient justement de lancer une entreprise d’informatique. Le fils en question, appelé également William Gates, mais surnommé Bill, n’a jamais programmé d’operating system mais il propose à IBM d’en faire un à condition d’être payé pour chaque personal computer vendu. Tant qu’il y est, il ajoute dans le contrat qu’IBM est forcé d’installer son OS sur chaque PC vendu. Empêtré dans son procès antitrust et ne voyant pas un grand avenir pour une solution bon marché comme le PC, IBM accepte ces conditions qui sont pourtant étranges.
Bill Gates n’a jamais programmé d’OS, mais il connait un jeune informaticien de 22 ans, Tim Paterson, qui a fait ce qu’il appelle un « Quick and Dirty OS », QDOS. Un truc amateur et minimaliste qui n’a même pas les fonctionnalités qu’avait Unix 15 ans auparavant. Mais ce n’est pas grave. Bill Gates propose 50.000$ pour QDOS, qu’il rebaptise PC-DOS puis MS-DOS.
À cette même époque, un conseiller du président Reagan, un certain Robert Bork, se rend compte que s’il y’a bien un truc qui empêche de maximiser les profits des entreprises, ce sont les lois antimonopoles. Pauvre AT&T, pauvre IBM. Ces entreprises américaines auraient pu coloniser le monde et faire le bonheur de leurs actionnaires. Ces entreprises pourraient affaiblir économiquement le bloc soviétique. Au lieu de cela, les Américains eux-mêmes leur ont mis des bâtons dans les roues.
Il propose donc de tout simplement autoriser les monopoles. Bien sûr, ça se verrait un peu trop si on le dit comme ça du coup il propose de n’empêcher que les monopoles dont on peut démontrer qu’ils entrainent une hausse significative du prix pour le consommateur final. Cela permet de prétendre que l’on protège le consommateur final tout en faisant oublier que, premièrement, il est impossible de démontrer qu’un prix est trop haut et que, deuxièmement, les monopoles infligent bien d’autres problèmes à la société qu’une seule augmentation des prix.
L’impact de Robert Bork est primordial. Grâce à lui, Microsoft, la société de Bill Gates, s’arroge le monopole sur les systèmes d’exploitation tournant sur les ordinateurs personnels, qui deviennent, à la grande surprise d’IBM, un énorme succès au point d’éclipser les supercalculateurs. Il faut dire qu’IBM, par peur de devenir un monopole, a permis à d’autres constructeurs de se mettre à fabriquer leur propre PC : Dell, Compaq, etc. Et rien n’empêche Microsoft de fournir DOS à ces concurrents tout en les obligeant à ne fournir leurs ordinateurs qu’avec DOS, rien d’autre. En quelques années, le terme « PC » devient synonyme de micro-ordinateur et de… « Microsoft ». Les Atari, Armstrad, Commodore et autres Amiga disparaissent complètement malgré leur avance technologique indéniable.
Il faut dire que ce DOS merdique arrange pas mal de monde : il permet aux véritables informaticiens de rester en dehors de la plèbe avec leurs supercalculateurs et aux fournisseurs de véritables ordinateurs de continuer à pratiquer des prix délirants. Le PC avec DOS n’est qu’un jouet, pas un truc professionnel.
La résistance s’organise
Tous ces événements sonnent le glas de du premier âge d’or de l’informatique. L’informatique était jusque là un domaine de passionnés qui collaboraient, elle devient un domaine extrêmement lucratif qui cherche à contrôler autant que possible ses clients pour en tirer le maximum d’argent.
Richard Stallman, un chercheur en Intelligence Artificielle du MIT se rend compte que, graduellement, tous ses collègues se font embaucher par des entreprises privées. Une fois embauchés, ceux-ci ne peuvent plus collaborer avec lui. Ils emportent avec eux leurs codes, leurs recherches. Ils continuent à utiliser les codes disponibles sous licence BSD, mais ne partagent plus rien.Pire : ils ne peuvent même plus discuter du contenu de leur travail.
Richard, qui ne vit que pour l’informatique, en est très triste, mais la goutte d’eau viendra d’une imprimante. En effet, Richard avait modifié le logiciel tournant sur l’imprimante de tout le département pour éviter les bourrages et pour envoyer un email à la personne ayant initié l’impression une fois celle-ci terminée. Cependant, l’imprimante est ancienne et est remplacée. Richard Stallman ne se pose pas trop de questions et décide d’implémenter les mêmes fonctionnalités pour la nouvelle imprimante. À sa grande surprise, il ne trouve pas le code source des programmes de celle-ci. Il fait la demande au fabricant et se voit rétorquer que le code source appartient au fabricant, que personne ne peut le consulter ou le modifier.
Richard Stallman voit rouge. L’université a payé pour l’imprimante. De quel droit le fabricant peut-il empêcher un client de faire ce qu’il veut avec son achat ? De quel droit peut-il empêcher un « hacker » de comprendre le code qui tourne dans son propre matériel. Avec une grande prescience, il comprend que si la pratique se généralise, c’est tout simplement la fin du mouvement hacker.
Ni une ni deux, RMS démissionne du MIT, où il gardera néanmoins un bureau, pour lancer la Free Software Foundation, la fondation pour le logiciel libre. Son idée est simple : l’industrie vient de confisquer aux informaticiens la liberté de faire tourner les logiciels de leur choix. Il faut récupérer cette liberté.
Il théorise alors les quatre grandes libertés du logiciel libre :
- 1. Le droit d’utiliser un logiciel pour n’importe quel usage
- 2. Le droit d’étudier un logiciel pour le comprendre
- 3. Le droit de modifier un logiciel
- 4. Le droit de partager un logiciel et/ou ses modifications
Aujourd’hui, on considère « libre » un logiciel qui permet ces quatre libertés.
Il semble évident qu’un logiciel sous licence BSD est libre. Mais Stallman se rend compte d’un problème : les logiciels sont bien libres, mais les personnes les modifiant dans des entreprises privées ne partagent jamais leurs améliorations.
Il met alors au point la licence GPL. Celle-ci, comme toute licence, est un contrat et stipule que l’utilisateur d’un logiciel a le droit de réclamer les sources, de les étudier, les modifier et les redistribuer. Par contre, s’il redistribue le logiciel, il est obligé de conserver la licence GPL.
Si les licences propriétaires restreignent au maximum les libertés des utilisateurs et les licences apparentées à BSD donnent le maximum de libertés aux utilisateurs, la GPL restreint une seule liberté : celle de restreindre la liberté des autres.
La GPL définit donc une forme de bien commun qu’il n’est pas possible de privatiser.
Notons que, comme toute licence, la GPL est un contrat entre le fournisseur et l’utilisateur. Seul l’utilisateur peut demander le code source d’un logiciel sous licence GPL. Un logiciel GPL n’est donc pas nécessairement public. De même, rien n’interdit de faire payer pour un logiciel GPL. Richard Stallman lui-même gagnera un temps sa vie en vendant le logiciel libre qu’il développe, l’éditeur Emacs.
Stallman, RMS pour les intimes, ne s’arrête pas là. Puisque les systèmes d’exploitation UNIX sont des myriades de petits logiciels coopérants entre eux, il va les réécrire un par un pour créer un système entièrement sous licence GPL : GNU. GNU est l’acronyme de « GNU is Not Unix ». C’est récursif, c’est de l’humour de geek.
RMS travaille d’arrache-pied et le projet GNU est bien lancé. Il ne manque qu’un composant pourtant essentiel : le noyau ou « kernel » en anglais. Le noyau est la partie de code centrale qui fait l’interface entre la machine et tous les outils UNIX ou GNU.
La deuxième grande collaboration
En parallèle du travail de Richard Stallman, un tremblement de terre a lieu dans le monde Unix : l’entreprise AT&T s’est soudainement réveillée et s’est rendu compte qu’elle est le berceau d’un système d’exploitation devenu très populaire et surtout très rémunérateur.
Elle attaque alors en justice l’université de Berkeley pour diffusion illégale du code source UNIX sous le nom « Berkeley Software Distribution », BSD.
La distribution de BSD est un temps interrompue. Le futur de BSD semble incertain. Il apparaîtra que le code de BSD avait bien été écrit par les chercheurs de Berkeley, ceux-ci ayant graduellement amélioré le code source UNIX original au point de le remplacer complètement, dans une version moderne du mythe du bateau de Thésée. Seuls 6 fichiers seront identifiés par le juge comme appartenant à AT&T, 6 fichiers qui seront donc remplacés par des nouvelles versions réécrites.
Mais, en 1991, cette conclusion n’est pas encore connue. Le système GNU n’a pas de noyau, le système BSD est dans la tourmente. Un jeune étudiant finlandais vient, de son côté, d’acquérir un nouvel ordinateur et rêve de faire tourner UNIX dessus. Comme les UNIX propriétaires sont vraiment trop chers, il télécharge les outils GNU, qui sont gratuits et, s’appuyant dessus, écrit un mini-noyau qu’il partage sur Usenet.
Si Internet existe, le web, lui, n’existe pas encore. Les échanges se font sur le réseau Usenet, l’ancêtre des forums web et le repaire des passionnés de n’importe quel domaine.
Le noyau de Linus Torvalds, notre jeune finlandais, attire rapidement l’attention de passionnés de Unix qui le nomment du nom de son créateur : Linux. Très vite, ils envoient à Linus Torvalds des améliorations, des nouvelles fonctionnalités que celui-ci intègre pour produire de nouvelles versions.
Influencé par les outils GNU, Linus Torvalds a mis sa création sous licence GPL. Il est donc désormais possible de mettre en place un système Unix sous licence GPL : c’est GNU/Linux. Enfin, non, ce n’est pas Unix. Car Gnu is Not Unix. Mais ça y ressemble vachement…
Bon, évidemment, installer le noyau Linux et tous les outils GNU n’est pas à la portée de tout le monde. Des projets voient le jour pour faciliter l’installation et permettent d’empaqueter tous ces composants hétéroclites. Ce sont les « Distributions Linux ». Certaines offrent des versions commerciales, comme Red Hat alors que d’autres sont communautaires, comme Debian.
Outre le noyau Linux, Linus Torvalds invente une nouvelle manière de développer des logiciels : tout le monde peut étudier, critiquer et contribuer en soumettant des modifications (des « patchs »). Linus Torvalds choisit les modifications qu’il pense utiles et correctes, refuse les autres avec force discussions. Bref, c’est un joyeux bazar. Sur Usenet et à travers les mailing-lists, les hackers retrouvent l’esprit de collaboration qui animait les laboratoires Unix des débuts. Des années plus tard, Linus Torvalds inventera même un logiciel permettant de gérer ce bazar : git. Git est aujourd’hui l’un des logiciels les plus répandus et les plus utilisés par les programmeurs. Git est sous licence GPL.
La « non-méthode » Torvalds est tellement efficace, tellement rapide qu’il semble évident que c’est la meilleure manière de développer des bons logiciels. Des centaines de personnes lisant un code source sont plus susceptibles de trouver des bugs, d’utiliser le logiciel de manière imprévue, d’apporter des touches de créativité.
Eric Raymond théorisera cela dans une conférence devenue un livre : « La cathédrale et le bazar ». Avec Bruce Perens, ils ont cependant l’impression que le mot « Free Software » ne fait pas professionnel. En anglais, « Free » veut dire aussi bien libre que gratuit. Les « Freewares » sont des logiciels gratuits, mais propriétaires, souvent de piètre qualité. Eric Raymond et Bruce Perens inventent alors le terme « open source ».
Techniquement, un logiciel libre est open source et un logiciel open source est libre. Les deux sont synonymes. Mais, philosophiquement, le logiciel libre a pour objectif de libérer les utilisateurs là où l’open source a pour objectif de produire des meilleurs logiciels. Le mouvement open source, par exemple, accepte volontiers de mélanger logiciels libres et propriétaires là où Richard Stallman affirme que chaque logiciel propriétaire est une privation de liberté. Développer un logiciel propriétaire est, pour RMS, hautement immoral.
Les deux noms désignent cependant une unique mouvance, une communauté grandissante qui se bat pour regagner la liberté de faire tourner ses propres logiciels. Le grand ennemi est alors Microsoft, qui impose le monopole de son système Windows. La GPL est décrite comme un « cancer », le logiciel libre comme un mouvement « communiste ». Apple, une entreprise informatique qui n’est à cette époque plus que l’ombre de son glorieux passé va piocher dans les logiciels libres pour se donner un nouveau souffle. En se basant sur le code de FreeBSD, qui n’est pas sous licence GPL, ils vont mettre au point un nouveau système d’exploitation propriétaire : OSX, renommé ensuite MacOS. C’est également de cette base qu’ils vont partir pour créer un système embarqué : iOS, initialement prévu pour équiper l’iPod, le baladeur musical lancé par la firme.
La seconde confiscation
Pour fonctionner et donner des résultats, un logiciel a besoin de données. Séparer le logiciel des données sur lesquelles il tourne permet de réutiliser le même logiciel avec différente données. Puis de vendre des logiciels dans lesquels les utilisateurs vont entrer leurs propres données pour obtenir des résultats.
L’un des arguments pour souligner l’importance du logiciel libre est justement l’utilisation de ces données. Si vous utilisez un logiciel propriétaire, vous ne savez pas ce qu’il fait de vos données, que ce soit de données scientifiques, des données personnelles, des documents dans le cadre du travail, des courriers. Un logiciel propriétaire pourrait même envoyer vos données privées aux concepteurs sans votre consentement. L’idée paraissait, à l’époque, issue du cerveau d’un paranoïaque.
Outre les données, un autre des nombreux combats libristes de l’époque est de permettre d’acheter un ordinateur sans Microsoft Windows préinstallé et sans payer la licence à Microsoft qui s’apparente alors à une taxe. Le monopole de Microsoft fait en effet qu’il est obligatoire d’acheter Windows avec un ordinateur, même si vous ne comptez pas l’utiliser. Cela permet à Bill Gates de devenir en quelques années l’homme le plus riche du monde.
Pour lutter contre ce monopole, les concepteurs de distributions Linux tentent de les faire les plus simples à utiliser et à installer. Le français Gaël Duval est un pionnier du domaine avec la distribution Mandrake, renommée plus tard Mandriva.
En 2004 apparait la distribution Ubuntu. Ubuntu n’est, au départ, rien d’autre qu’une version de la distribution Debian simplifiée et optimisée pour une utilisation de bureau. Avec, par défaut, un joli fond d’écran comportant des personnes nues. Ubuntu étant financé par un milliardaire, Mark Shuttleworth, il est possible de commander gratuitement des Cd-roms pour l’installer. La distribution se popularise et commence à fissurer, très légèrement, le monopole de Microsoft Windows.
L’avenir semble aux mini-ordinateurs de poche. Là encore le libre semble prendre sa place, notamment grâce à Nokia qui développe ce qui ressemble aux premiers smartphones et tourne sous une version modifiée de Debian : Maemo.
Mais, en 2007, Apple lance ce qui devait être au départ un iPod avec une fonctionnalité téléphone : l’iPhone. Suivit de près par Google qui annonce le système Android, un système d’exploitation prévu au départ pour les appareils photo numériques. L’invasion des smartphones a commencé. Plusieurs entreprises se mettent alors à collaborer avec Nokia pour produire des smartphones tournant avec des logiciels libres. Mais en 2010, un cadre de chez Microsoft, Stephen Elop, est parachuté chez Nokia dont il est nommé CEO. Sa première décision est d’arrêter toute collaboration avec les entreprises « libristes ». Durant trois années, il va prendre une série de décisions qui vont faire chuter la valeur boursière de Nokia jusqu’au moment où l’entreprise finlandaise pourra être rachetée… par Microsoft.
L’iPhone d’Apple est tellement fermé qu’il n’est, au départ, même pas possible d’y installer une application. Steve Jobs s’y oppose formellement. Les clients auront le téléphone comme Jobs l’a pensé et rien d’autre. Cependant, les ingénieurs d’Apple remarquent que des applications sont développées pour l’Android de Google. Apple fait vite machine arrière. En quelques années, les « app » deviennent tendance et les « App Store » font leur apparition, reprenant un concept initié par… les distributions Gnu/Linux ! Chaque banque, chaque épicerie se doit d’avoir son app. Sur les deux systèmes, qui sont très différents. Il faut développer pour Apple et pour Google.
Microsoft tente alors de s’imposer comme troisième acteur avant de jeter l’éponge : personne ne veut développer son app en 3 exemplaires. Dans les milieux branchés de la Silicon Valley, on se contente même souvent de ne développer des applications que pour Apple. C’est plus cher donc plus élitiste. De nombreux hackers cèdent aux sirènes de cet élitisme et se vendent corps et âmes à l’univers Apple. Qui interdit à ses clients d’installer des applications autrement que via son App Store et qui prend 30% de commission sur chacune des transactions réalisées sur celui-ci. Développer pour Apple revient donc à donner 30% de son travail à l’entreprise de Steve Jobs. C’est le prix à payer pour faire partie de l’élite. Les hackers passés à Apple vont jusqu’à tenter de se convaincre que comme Apple est basée sur FreeBSD, c’est un Unix donc c’est bien. Nonobstant le fait que l’idée même derrière Unix est avant tout de pouvoir comprendre comment le système fonctionne et donc d’avoir accès aux sources.
Ne sachant sur quel pied danser face à l’invasion des smartphones et à la fin du support de Nokia pour Maemo, le monde de l’open source et du logiciel libre est induit en erreur par le fait qu’Android est basé sur un noyau Linux. Android serait Linux et serait donc libre. Génial ! Il faut développer pour Android ! Google entretient cette confusion en finançant beaucoup de projets libres. Beaucoup de développeurs de logiciels libres sont embauchés par Google qui se forge une image de champion du logiciel libre.
Mais il y’a une arnaque. Si Android est basé sur le noyau Linux, qui est sous GPL, il n’utilise pas les outils GNU. Une grande partie du système Android est bien open source, mais les composants sont choisis soigneusement pour éviter tout code sous licence GPL. Et pour cause… Graduellement, la part d’open source dans Android est réduite pour laisser la place aux composants Google propriétaires. Si vous installez aujourd’hui uniquement les composants libres, votre téléphone sera essentiellement inutilisable et la majorité des applications refuseront de se lancer. Il existe heureusement des projets libres qui tentent de remplacer les composants propriétaires de Google, mais ce n’est pas à la portée de tout le monde et ce ne sont que des pis-aller.
En se battant pour faire tourner du code libre sur leurs ordinateurs, les libristes se sont vu confisquer, malgré leur avance dans le domaine, le monde de la téléphonie et la mobilité.
Mais il y’a pire : si les libristes se battaient pour avoir le contrôle sur les logiciels traitant leurs données, les nouveaux acteurs se contentent de traiter les données des clients sur leurs propres ordinateurs. Les utilisateurs ont perdu le contrôle à la fois du code et du matériel.
C’est ce qu’on appelle le « cloud », le fait que vos données ne sont plus chez vous, mais « quelque part », sur les ordinateurs de grandes entreprises dont le business model est d’exploiter au mieux ces données pour vous afficher le plus de publicités. Un business model qui fonctionne tellement bien que toutes ces entreprises sont, nous l’avons vu, les plus grosses entreprises mondiales.
État de la situation
Les progrès de l’informatique se sont construits en deux grandes vagues successives de collaboration. La première était informelle, académique et localisée dans les centres de recherches. La seconde, initiée par Richard Stallman et portée à son apogée par Linus Torvalds, était distribuée sur Internet. Dans les deux cas, les « hackers » évoluaient dans un univers à part, loin du grand public, du marketing et des considérations bassement matérielles.
À chaque fois, l’industrie et le business confisquèrent les libertés pour privatiser la technologie en maximisant le profit. Dans la première confiscation, les industriels s’arrogèrent le droit de contrôler les logiciels tournant sur les ordinateurs de leurs clients puis, la seconde, ils s’arrogèrent également le contrôle des données desdits clients.
Nous nous trouvons dans une situation paradoxale. Chaque humain est équipé d’un ou plusieurs ordinateurs, tous étant connectés en permanence à Internet. La puissance de calcul de l’humanité a atteint des proportions démesurées. Lorsque vous regardez l’heure sur votre montre Apple, il se fait plus de calculs en une seconde dans votre poignet que dans tous les ordinateurs du programme Appolo réunis. Chaque jour, votre téléphone transmet à votre insu presque autant de données qu’il n’y en avait dans tous les ordinateurs du monde lorsqu’Unix a été inventé.
Pourtant, cette puissance de calcul n’a jamais été aussi concentrée. Le pouvoir n’a jamais été partagé en aussi peu de personnes. Il n’a jamais été aussi difficile de comprendre comment fonctionne un ordinateur. Il n’a jamais été aussi difficile de protéger sa vie privée, de ne pas se laisser influencer dans nos choix de vie.
Les pouvoirs publics et les réseaux éducatifs se sont, le plus souvent, laissé prendre au mensonge qu’utiliser les nouvelles technologies était une bonne chose. Que les enfants étaient, de cette manière, éduqués à l’informatique.
Utiliser un smartphone ou une tablette éduque autant à l’informatique que le fait de prendre un taxi éduque à la mécanique et la thermodynamique. Une personne peut faire des milliers de kilomètres en taxi sans jamais avoir la moindre notion de ce qu’est un moteur. Voyager avec Ryanair ne fera jamais de vous un pilote ni un expert en aérodynamique.
Pour comprendre ce qu’est un moteur, il faut pouvoir l’ouvrir. L’observer. Le démonter. Il faut apprendre à conduire sur des engins simplifiés. Il faut en étudier les réactions. Il faut pouvoir discuter avec d’autres, comparer un moteur avec un autre. Pour découvrir l’aérodynamique, il faut avoir le droit de faire des avions de papier. Pas d’en observer sur une vidéo YouTube.
Ce qui nous semble évident avec la mécanique a été complètement passé sous silence avec l’informatique. À dessein, les monopoles, désormais permis, tentent de créer une expérience « magique », incompréhensible. La plupart des développeurs sont désormais formés dans des « frameworks » de manière à ne jamais avoir à comprendre comment les choses fonctionnent sous le capot. Si les utilisateurs sont les clients des taxis, les développeurs devraient, dans la vision des Google, Apple et autre Facebook, être des chauffeurs Uber qui conduisent aveuglément, sans se poser de questions, en suivant les instructions.
L’informatique est devenue une infrastructure humaine trop importante pour être laissée aux mains de quelques monopoles commerciaux. Et la seule manière de leur résister est de tenter de minimiser leur impact sur nos vies. En refusant au maximum d’utiliser leurs solutions. En cherchant des alternatives. En contribuant à leur création. En tentant de comprendre ce que font réellement ces solutions « magiques », avec nos ordinateurs, nos données et nos esprits.
L’informatique n’est pas plus compliquée ni plus ésotérique qu’un moteur diesel. Elle a été rendue complexe à dessein. Pour augmenter son pouvoir de séduction. Jusqu’aux termes « high-tech » ou « nouvelles technologies » qui renforcent, volontairement, l’idée que la plupart d’entre nous sont trop bêtes pour comprendre. Une idée qui flatte d’ailleurs bon nombre d’informaticiens ou de bidouilleurs, qui se sentent grâce à cela supérieurs alors même qu’ils aident des monopoles à étendre leur pouvoir sur eux-mêmes et leurs proches.
Le chemin est long. Il y a 20 ans, le concept d’open source m’apparaissait surtout comme philosophique. Aujourd’hui, j’ai découvert avec étonnement que je me plonge de plus en plus souvent dans le code source des logiciels que j’utilise quotidiennement pour comprendre, pour mieux les utiliser. Contrairement à la documentation ou aux réponses sur StackOverFlow, le code source ne se trompe jamais. Il décrit fidèlement ce que fait mon ordinateur, y compris les bugs. Avec l’entrainement, je me rends compte qu’il est même souvent plus facile de lire le code source des outils Unix que de tenter d’interpréter des dizaines de discussions sur StackOverFlow.
Le logiciel libre et l’open source sont la seule solution que j’envisage pour que les ordinateurs soient des outils au service de l’humain. Il y a 20 ans, les idées de Richard Stallman me semblaient extrémistes. Force est de constater qu’il avait raison. Les logiciels propriétaires ont été essentiellement utilisés pour transformer les utilisateurs en esclaves des ordinateurs. L’ordinateur n’est alors plus un outil, mais un moyen de contrôle.
La responsabilité n’en incombe pas à l’individu. Après tout, comme je l’ai dit, il est presque impossible d’acheter un téléphone sans Google. L’individu ne peut pas lutter.
La responsabilité en incombe aux intellectuels et aux professionnels, qui doivent élever la voix plutôt que d’accepter aveuglément des décisions institutionnelles. La responsabilité en incombe à tous les établissements du secteur de l’éducation qui doivent poser des questions, enseigner le pliage d’avions de papier au lieu d’imposer à leurs étudiants de se créer des comptes sur les plateformes monopolistiques pour accéder aux données affichées sur les magnifiques écrans interactifs financés, le plus souvent, par Microsoft et consorts. La responsabilité en incombe à tous les militants, qu’ils soient écologistes, gauchistes, anticapitalistes, socialistes, voire même tout simplement locaux. On ne peut pas militer pour l’écologie et la justice sociale tout en favorisant les intérêts des plus grandes entreprises du monde. On ne peut pas militer pour le local en délocalisant sa propre voix à l’autre bout du monde. La responsabilité en incombe à tous les politiques qui ont cédé le contrôle de pays, de continents entiers à quelques entreprises, sous prétexte de gagner quelques voix lors de la prochaine élection.
Je ne sais pas encore quelle forme prendra la troisième grande collaboration de l’informatique. Je sais juste qu’elle est urgente et nécessaire.