Les historiens vous le diront : l’Histoire, avec un grand ’H’, est bien souvent soumise à controverses. La très petite et très courte histoire du logiciel libre n’y fait pas exception : comme toutes les histoires, elle peut être vue sous plusieurs angles. Nous pourrions vous raconter l’histoire de Saint Richard devant son imprimante ou de preux Linus pourfendant la bête de Redmond. On se rendrait alors compte que l’histoire du logiciel libre ressemble de plus en plus à une mythologie... Mais ce n’est pas notre tasse de thé.
Pourtant, savoir d’où l’on vient est utile et important. Savoir où l’on va, encore plus [1].
C’est pourquoi nous vous présenterons l’écosystème -matériel, logiciel et humain- des années 80 qui a permis au logiciel libre de cristalliser presque par accident. Nous ne vous raconterons pas la formidable chevauchée du libre des années 1990 à 2000 afin de nous attarder davantage sur la période actuelle et les enjeux pour l’avenir du logiciel libre.
Et enfin, nous vous dévoilerons la Sainte Révélation de Libroscope...
L’informatique ne commence peut-être pas avec le grand public, mais l’accès de ce dernier à l’informatique a changé la donne, pour le meilleur dirons nous : en apportant une masse critique pour certains projets et en transformant chaque personne ayant déballé son premier ordinateur en un grand manitou de l’informatique... et dont certains le devinrent vraiment.
Et les utilisateurs furent
Quand un disque dur fait 8 tonnes pour stocker 10 giga-octets, et que l’énergie dissipée par l’ordinateur est suffisante pour chauffer une piscine à 28°C toute l’année, l’accès à l’informatique est dès lors restreint.
Ainsi quand Zilog sortit à la fin des années 70 son processeur 8 bits le Z80 [2], et Motorola sortit le 68000, on avait enfin les moyens d’avoir « l’ordinateur dans le clavier » [3]]. Si l’Apple II reste le précurseur de l’informatique moderne par sa modularité, les ZX81, Commodore 64, Oric Atmos, Thomson, Atari, Amiga et autres ordinateurs grand public apportèrent chacun une pierre à l’édifice de la micro-informatique moderne. La seule limitation ennuyeuse avec ce type d’appareils était la difficulté d’échanger des logiciels alors même qu’il y avait autant de systèmes d’exploitation que de machines (même pour une même marque), et que les supports amovibles « pratiques » [4] n’existaient pas encore.
On ne peut pas en vouloir aux constructeurs, l’informatique grand public étant aussi « rare » que l’ont été les premiers postes de télévision, quel était l’intérêt d’échanger ?
Les utilisateurs échangent...quand même
Avoir un ordinateur est une grande fierté, mais il ne peut y avoir de fierté sans échange, autant pour affirmer sa mâle expertise que par nécessité :
À ces différents usages correspondent différentes pratiques et différents « lieux » d’échange :
En bref, les recherches prouvent que nos ancêtres savaient communiquer et le désiraient avant l’existence d’Internet. D’ailleurs, Internet n’aurait pas servi à grand chose si nous étions tous des autistes dans l’âme.
Quand IBM a lancé les séries 701 en 1950, son cœur de métier consistait à vendre des ordinateurs, le logiciel était considéré comme accessoire.
Pire, il était considéré comme un coût puisqu’à chaque installation, les efforts étaient dupliqués : pour 17 installations d’IBM 701 différents, 18 assembleurs ont été développés. R Blair Smith, directeur
d’une agence commerciale IBM qui voulait vendre le plus d’IBM possible, vivait dans la crainte que le coût de programmation s’élève jusqu’au point où les utilisateurs auraient du mal à justifier le coût total de l’ordinateur. Il créa à cette fin le groupe SHARE (au sens de partager et nul autre) qui proposait aux utilisateurs de mutualiser leurs efforts de développement et d’échanger leurs logiciels. Les clients innovateurs finançaient les développements qui ensuite étaient accessibles à tous gratuitement. Non content de servir de bibliothèques
de programmes pour les besoins des échanges le groupe SHARE participa à l’élaboration d’un vocabulaire propre à l’informatique professionnelle, toujours en vigueur aujourd’hui. GUIDE, fondé peu après comme groupe des utilisateurs d’ordinateurs de gestion IBM, restera le plus grand groupe d’utilisateurs connu à ce jour. Il fut copié par Univac (USE) et Apple basa le succès sur la création et les bons rapports avec les communautés d’utilisateurs et de développeurs autour de ses machines.
Cette initiative eut un grand succès et satisfaisait tout le monde :
– les
utilisateurs qui économisaient ainsi de l’argent,
– et IBM qui n’avait pas à
s’occuper du développement de logiciel.
Si les communautés du logiciel
libre sont les premières à être (généralement) indépendantes d’une compagnie privée, par contre elles ne sont pas les premières du genre, et cette démarche du partage du code aussi vieille que l’informatique industrielle a déjà fait ses preuves.
La prise de conscience progressive de l’importance du coût de la
programmation va pousser le vendeur de matériel IBM à fournir du
logiciel, non par volonté de verrouiller le marché [9] mais pour rendre attrayante l’utilisation des ordinateurs. IBM va essayer de trouver des solutions pour ses clients et promouvoir auprès de ceux-ci de bonnes pratiques et des outils tel que le langage FORTRAN (1960) et OS/360 (1964) - premier système d’exploitation multi-plateforme permettant la réutilisation du code - pour que le client puisse acheter plusieurs machines différentes pouvant faire
tourner le même code source portable [10]. Cette problématique reste d’actualité [C’est le thème du livre The Mythical Man-Month de Frederic Brooks, qui est intensivement cité en référence par Eric Raymond (ESR) dans la Cathédrale et le
Bazar et dans la quasi-totalité des ouvrages
concernant l’ingénierie logicielle, malgré l’évolution des technologies.
Le succès de la démarche visant à partager connaissances entre utilisateurs de logiciel et à échanger les sources est indépendante de la licence et du contexte (commercial ou non) et est au moins aussi vieux que l’informatique. Le logiciel libre est loin d’être un nouveauté en la matière :)
Le l’UNIX (tm)
Quelques ingénieurs en logiciel fraîchement engagés aux laboratoires Bell (appartenant à AT&T à l’époque) n’ayant pas de temps de calcul mais une seule machine sans système d’exploitation décidèrent d’en développer un pour partager du temps de traitement sur une même machine.
Unix fut développé en un mois/homme mythique par Ken Thompson [11] avec l’aide de Dennis M. Ritchie. Unix ne propose pas qu’un système d’exploitation, il vient très tôt avec un langage [12] permettant le plus possible de développer indépendamment de la machine sur laquelle il se trouve.
Cette intégration marque la coupure du cordon ombilical entre les fabricants de matériel et les éditeurs de systèmes d’exploitation, non tant sur le plan de la technique que parce que l’ensemble UNIX /C sera -à la mode universitaire- très tôt normalisé [13].
Les évolutions dans le monde informatique ne sont pas que des améliorations techniques, il peut aussi s’agir de conceptions nouvelles.
Les professionnels et la peur des monopoles
Du fait d’une ordonnance de justice concernant une situation de monopole, AT&T n’ayant pas le droit de vendre de logiciel, les sources d’Unix furent données aux universités, dont Berkeley. Les sources récrites collectivement ont inspiré les BSD historiques.
D’un autre coté, si l’histoire ne retiendra pas que Mr Gay Killdal ,le créateur de CP/M [14], n’a pas fourni son système d’exploitation à IBM pour les PC afin de ne pas annuler une partie de golf, l’histoire retiendra que Bill Gates remporta cette même offre, et la peur d’un procès pour monopole inspira IBM lors des négociations : non content de négocier la vente de logiciel selon le modèle actuel (un montant forfaitaire par machine), IBM négocia surtout la non-exclusivité concernant la distribution du logiciel à IBM . Ainsi on obtint des ordinateur compatibles avec les personal computers d’IBM, potentiellement aussi attrayants que des ordinateurs professionnels. Le système d’exploitation MS-DOS pouvait aussi bien fonctionner sur un IBM PC que sur un PC Compaq. D’où l’appellation, très rapidement rentrée dans les moeurs, de compatible PC pour qualifier des machines de constructeurs différents, évolutives, pouvant faire fonctionner les mêmes logiciels et dont les prix vont baisser de façon drastique.
Ainsi, la créativité des constructeurs-cloneurs et autres va enfin se libérer. Si un système d’exploitation multi-plateforme grand public ne vous semble pas si important, songez à la période où Apple a toléré les clones...
Quand on regarde la situation du microcosme informatique de la fin des années 80, on s’aperçoit que de nombreux éléments vont permettre le cristallisation du logiciel libre. L’un des points les plus importants étant le début d’une plus grande convergence entre le monde de l’informatique professionnelle et celui de l’informatique grand public. Dans ce contexte, les utilisateurs se retrouvent prisonniers d’un système où les enjeux économiques prennent le dessus sur beaucoup d’autres considérations. Cependant, pour voir le logiciel libre cristalliser, il manque une prise de conscience, des concepts, un moteur, une vision.
Des hommes
Ce sont un certain nombre d’hommes qui vont apporter les éléments essentiels à l’émergence du logiciel libre.
L’influence du modèle universitaire.
De nombreux projets logiciels libres sont issus directement ou indirectement des universités. BSD en est l’emblème. Les universitaires sont habitué à échanger leurs savoirs, et ont toujours eu des budgets serrés [17]. Cet environnement se ressent très fortement dans la culture de ceux qui sont issus des universités. Et si vous cherchez les points communs entre Linus Torvalds, Andrew Tanenbaum, Ken Thompson ou encore Richard Stallman, vous trouverez inévitablement l’université. Ce n’est certainement pas un hasard si la plupart des conférences et des rencontres autour du logiciel libre ont lieu, encore aujourd’hui, au sein des universités. C’est encore cette nécessité de partage de la connaissance qui a fait des universitaires les pionniers de l’Arpanet et d’Internet.
Internet : l’échange facilité.
Et justement, un des catalyseurs dans la cristallisation du logiciel libre va être Internet, ce formidable facilitateur d’échanges en tous genres.
C’est par un simple e-mail sur un groupe de discussion consacré à Minix que commence l’aventure Linux. L’ensemble des projets logiciels libres vont s’articuler naturellement autour d’Internet, utilisant la panoplie complète des outils disponibles :
– courrier électronique (mail),
– listes de diffusion (mailing-list),
– groupes de discussion (newsgroups),
– logiciels de gestion de configuration
– et plus tard le web.
Sans Internet, la plupart des logiciels libres n’auraient vraisemblablement pas eu ni de raison d’être ni de moyen de se développer.
L’atout essentiel d’Internet pour les projets libres, c’est la dématérialisation de la coopération. Si l’informatique permet de recopier du code à un coût quasi nul, le réseau permet de transmettre ce même code sans passer par un support physique. Il permet donc d’échanger des données sans se rencontrer, et ce de façon quasi instantanée. Aujourd’hui, cela parait trivial, mais il est important de prendre conscience des possibilités offertes par le réseau. Que feriez-vous aujourd’hui de votre ordinateur personnel ou de celui du bureau, si il n’était pas connecté au réseau ?
Ainsi, le réseau Internet permet à d’autres réseaux, humains cette fois-ci, de se créer autour de différents centres d’intérêt et parmi eux, on retrouve naturellement les projets logiciels libres. Internet devient alors le plus grand club informatique du monde ; et c’est la force des liens faibles [18] qui relie ces hommes, qui les fait avancer.
Des hommes, avec une farouche volonté d’échange de connaissances via internet, vont donc permettre au logiciel libre d’apparaître au grand jour. Cette cristallisation va s’effectuer durant les années 90. Et après cela, est-ce que le monde (de l’informatique) change ?
L’ironie du succès.
D’abord ils vous ignorent, ensuite ils vous raillent, ensuite ils vous combattent et enfin, vous gagnez.
Gandhi
Après avoir été ignoré par les poids lourds du monde informatique, le logiciel libre est combattu ou adopté : la notoriété est dorénavant suffisante pour ne plus avoir besoin d’expliquer la vie ,le monde et l’amour avant de commencer à parler de Linux, BSD ou GNU :)
La preuve du succès du logiciel libre est qu’il est enfin copié par les « professionnels » ou en tout cas ceux qui se prétendent tels.
FUD : la routine
On apprend dans les bons cours de management que pour faire changer les gens, il vaut mieux :
Cette méthode pour changer le regard des gens s’appelle le FUD, de l’anglais Fear, Uncertainty and Doubt. D’une manière ou d’une autre, cela fait des années que les tentatives de s’en prendre aux racines du libre existent.
AT&T vs BSD
En 1990 AT&T prétend que les *BSD emprunteraient du code à l’UNIX original. L’étude des faits montre que BSD n’intégrait pas de code de l’Unix original, et en fin de compte qu’AT&T avait intégré du code BSD dans son propre code source. L’histoire n’a pas retenu cette partie-là, elle n’a retenu que la campagne de désinformation qui a gravement nui à la crédibilité de BSD, et qui a boosté Linux.
La question que l’on peut se poser aujourd’hui par rapport à l’affaire SCO contre Linux est : jusqu’à quel point l’histoire se répète-t-elle ?
La copie tue le logiciel
En 1975 Paul Allen et Bill Gates sortent l’Altair Basic [20] et les personnes utilisant cet interpréteur aimaient partager les programmes qu’ils avaient réalisés. Seulement, pour pouvoir faire fonctionner les programmes écrits en BASIC, ils avaient besoin du compilateur qu’ils se donnaient les uns aux autres, en violation flagrante de la licence [21]. C’est de cet affrontement entre les usages des programmeurs passionnés [22] et Bill Gates que va sortir la plus grande campagne de désinformation visant à faire passer les programmeurs dits Hackers pour des pirates dits Crackers.
Quand Bill Gates parle de protéger le logiciel par des moyens juridiques [23], ou par des moyens techniques [24], on ne peut que rappeler que l’imposition de conditions trop drastiques au client pour l’utilisation d’un bien de consommation réduit son attrait : les DRM et les brevets, retirant tout intérêt aux objets qu’ils sont censés protéger, ne peuvent qu’accélérer la baisse des ventes de ces derniers s’ils sont mis en œuvre [25].
Les nouvelles évolutions
S’il a été beaucoup question des ressemblances entre le passé et le présent, on peut aussi tirer de cette histoire des évolutions récentes en ce qui concerne le logiciel libre qui a fait ses preuves :
Les normes et l’interopérabilité
Le discours de l’interopérablité a toujours existé. Seulement, si avant la solution proposée revenait toujours dans les faits à utiliser une plateforme matérielle unique avec des logiciels propriétaires, maintenant les éditeurs font maintenant semblant de jouer le jeu en participant aux comités de normalisation ouverts, et acceptent de céder leurs droits sur les normes développées en commun [26]. Ce qui est déjà un progrès, même si l’implémentation au final des normes par ceux qui les ont élaborées est bizarrement toujours légèrement non standard [27].
L’émergence de nouvelles communautés : les utilis’acteurs
Le logiciel libre se développe sur les plateformes propriétaires et, ce faisant, il participe à l’éclosion de communautés d’utilisateurs, inconnues auparavant : il est magnifique de se faire expliquer la beauté d’avoir un serveur Apache par un utilisateur de Mac qui n’a jamais entendu parler de Linux, ou encore de se faire rabrouer par un utilisateur de Windows qui méprise Linux pour ne pas avoir easyPHP [28] qui permet d’avoir Apache, MySQL et PHP.
Il est un peu normal que les discours lénifiants tenus par certains dans le libre fassent fuir les curieux : on n’attrape pas un papillon avec un filet en acier. Seulement, discours lénifiants ou pas, les curieux se débrouillent très bien pour recréer leurs propres communautés d’usages.
Et une fois le logiciel débarrassé de son aspect mercantile ou pseudo-philosophique, on constate l’apparition spontanée de communautés qui développent des pratiques durables d’échange de la connaissance. Le logiciel est ni de droite, ni de gauche, ni philosophique, il est un outil dont la beauté n’est pas dans sa liberté mais dans sa capacité à libérer les personnes de tâches abêtissantes, et aussi à permettre aux utilis’acteurs de se retrouver pour élaborer des projets constructifs et valorisants.
À retenir
En 2004, 28 ans après la fameuse missive de Bill Gates, "les hobbyistes" tiennent leur revanche. Un logiciel peut être libre, librement utilisable, librement copiable, librement modifiable, librement distribuable ; et ce en toute légalité [29]. Loin d’être une utopie, c’est aujourd’hui une réalité qui fait prévaloir l’échange à la rétention d’informations, une réalité prise au sérieux, même par ses détracteurs. C’est une philosophie [30] qui est bénéfique à cette technique qu’est l’informatique, puisqu’elle favorise le développement (logiciel) durable, en évitant de réinventer la roue sans cesse. C’est aussi une philosophie qui favorise les pratiques non discriminatoires.
Mais, au-delà de ses qualités, le logiciel libre a fait naître (ou renaître ?) ce que l’on peut appeler des utilis’acteurs. L’utilisateur du libre n’est pas un consommateur passif, ignorant et manipulé. Ce n’est pas non plus un producteur omniscient, omnipotent. Il a toute latitude pour participer activement à l’écosystème.
Logiciel libre, solution magique ?
Certainement pas. N’écoutez pas les VRP du libre qui vous prédisent sécurité, gratuité, standard et simplicité avec les logiciels libres. La sécurité informatique, par exemple, est un combat de tous les jours, chacun doit y contribuer. Elle n’est en aucun cas garantie par une licence ou un produit. Quant au coût global (TCO) du logiciel libre [31] il ne peut se soustraire à celui de la main d’œuvre : l’installation, le paramétrage, la modification, la maintenance d’un logiciel ainsi que les coûts de formation, voire de migration, existent pour les logiciels libres comme pour les autres logiciels.
Logiciel libre, solution d’avenir ?
Certainement. Le logiciel libre est même une réalité de plus en plus présente dans le monde de l’informatique dite « professionnelle ». La pratique du développement logiciel durable en fait logiquement une solution d’avenir aussi bien pour les professionnels que pour le grand public. Cependant, le logiciel libre reste menacé par la pratique des brevets logiciels et de gestion électronique des droits (DRM). Nous vous invitons vivement à vous informer sur ce sujet.
La Sainte Révélation :
"Plus que du code et des licences, le logiciel libre est une communauté qui transmet ses savoirs et ses pratiques"
Version 2.0 ajout de l’existence de communauté dans l’ère pre-logiciel libre (source Histoire de l’industrie du logiciel). Merci à M. Volle pour cette suggestion de lecture.
Cette conférence a été présentée à Nantes lors de la Linux Party VIII dans le cadre de Libre en fête une première fois puis corrigée et un peu réduite pour Libreast 2004.
Les transparents sont disponibles ici.
Références additionelles
[1] Tout lien avec un slogan publicitaire d’un éditeur de logiciels connu relèverait du pur hasard...
[2] Utilisé notamment pour l’Amstrad CPC 464
[3] ...ou le clavier dans l’ordinateur comme on veut
[4] Clé USB ou disque dur portable n’apparurent que plus tard, voire assez récemment, en fait.
[5] Haute Densité
[6] Double Densité
[7] Ikari Warrior : jeu de destruction massive auquel on pouvait jouer à deux en mode coopératif, pénétrer dans les tanks, et le top était d’utiliser les grenades à fragmentation (les rouges, pas les oranges).
[8] Les ordinateurs de cette époque étant souvent livrés avec un interpréteur BASIC installé d’office et « gratuit ».
[9] L’économie du
logiciel n’existait pas à l’époque.
[10] Un code est dit portable quand
il est identique au niveau du résultat sur plusieurs plateformes
matérielles différentes.
[11] Ce dernier raconte qu’il a passé en tout un mois à développer l’Unix historique dont une semaine pour le coeur (le système d’exploitation).
[14] ...et également fondateur d’InterGallactic Digitial Research qui édita le DR Dos
[16] GNU/Linux devrais-je dire pour ne pas me faire taper sur les doigts.
[17] ...et parfois même très serré comme en ce moment.
[18] La force des liens faibles : à opposer aux liens forts qui, eux, rassurent. Lire à ce sujet Mark Granovetter. The Strength of Weak Ties - American Journal of Sociology vol. 78, 1973, 1360—1380.
[19] Comme on dit souvent : y’a moins bien, mais c’est plus cher !
[20] C’est une pure invention de prétendre qu’ils l’ont développé à deux dans un garage...
[21] Ce texte juridique lié à l’utilisation d’un logiciel que personne ne lit ;)
[22] Hackers
[23] Brevet aujourd’hui, Contrat de Licence de l’Utilisateur Final (CLUF) hier
[24] Clés logicielles ou physiques hier, gestion numérique des droits demain.
[25] Comme la GPL, en étant trop contraignante, pourrait retirer tout intérêt au logiciel libre...
[27] Interrogé à ce propos, un célèbre éditeur explique que ce n’est pas un bug ni une volonté de casser les reins aux concurrents, c’est juste de l’« innovation ».
[28] Il est paradoxal que le monde Windows se targue d’EasyPHP, car c’est justement une suite de logiciels libres issus du monde Linux !
[30] Une philosophie... ou disons plutôt une approche.
[31] Pour parler d’un sujet qui fait couler beaucoup d’encre