RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

Offre de logiciels : dynamique des équilibres

Conférence au séminaire « Autour du libre 2002 », Institut National des Télécommunications, 12 mai 2002 ; mise à jour le 26 juillet 2002

Pour comprendre la dynamique des équilibres économiques qui se sont succédés dans le domaine de la production de logiciels, il faut remonter jusqu’aux années 60 puis situer les dates du passage d’un équilibre à l’autre (le repérage de telles dates charnières est toujours délicat : nous identifierons des événements caractéristiques sans attacher trop d’importance à une datation précise de la charnière).

Dans les années 60, la pratique du logiciel libre est répandue sans être théorisée. Elle est mise en œuvre par « hackers » : ce terme ne désignait pas comme aujourd’hui des briseurs de codes, des fabricants de virus, des fraudeurs, mais les pionniers de l'informatique personnelle.

On peut dater de 1969 l’émergence d’un marché du logiciel. Jusqu’à cette date, IBM vendait conjointement le matériel et le logiciel (systèmes d’exploitation, langages de programmation, applications) qui permettait de le faire fonctionner. En 1969, pour éviter que les clones des concurrents ne bénéficient gratuitement des logiciels qu’il avait produits, IBM a mis en place une politique d’« unbundling » (tarification séparée du matériel et du logiciel).

A partir de la publication de la « Open Letter to Hobbyists » de Bill Gates en 1976, le commerce du logiciel compilé vendu comme une boîte noire se met en place. Ce commerce a joué un rôle important dans la constitution de l’offre de logiciels pour PC.

On peut dater de 1991 – date de la première version de Linux, mais aussi date de naissance du World Wide Web – la résurgence du modèle du logiciel ouvert. Il se développera en s’appuyant sur l’Internet, et en tirant argument de divers défauts que comporte le logiciel compilé.

Entre 1976 et 1991, le logiciel ouvert n’avait pas disparu, et il a constitué un thème de militantisme pour des personnes comme Robert Stallmann ou Eric Raymond ; cependant, s’il avait un rayonnement intellectuel certain, sa viabilité économique paraissait douteuse. Il n’en est plus de même maintenant : le modèle du logiciel ouvert a gagné en crédibilité durant les années 90, le logiciel ouvert a conquis des parts de marché[1] et son avenir est garanti. Il reste à situer la ligne de crête selon laquelle le marché se partagera entre les deux modèles.

Les années 60

L'informatique était, dans les années 60, l'affaire des professionnels style IBM, en costume, cravate noire et chemise blanche. Les utilisateurs n'étaient pas autorisés à approcher l’ordinateur. Ils tapaient leurs programmes sur des cartes perforées et passaient le paquet de cartes à travers un guichet ; puis, quelques heures ou quelques jours après, ils trouvaient le listing dans leur casier - et le plus souvent ce listing leur signalait une erreur dans le programme. Il fallait la corriger, puis taper les nouvelles cartes, passer le nouveau paquet de cartes à travers le guichet, et de nouveau attendre.

Les hackers (que d'autres ont appelés « hobbyists ») voulaient enjamber cette procédure. Ils revendiquaient le droit de comprendre comment l’ordinateur fonctionne, d'y mettre les mains, d'y accéder, de travailler en temps réel et de modifier la façon dont on l’utilisait. Avant eux, c’était une grosse machine sans écran, sans carte sonore, sans traitement de texte, sans tableur, sans réseau etc. Ils ont tout inventé. Leur passion, c'était de créer, non de vendre. Ils copiaient sans vergogne les programmes, les modifiaient, etc. L'« open source » (ou « logiciel ouvert »), dont le programme source est fourni et modifiable à volonté, allait alors de soi. L'équipe la plus flamboyante a été celle du MIT puis par dissémination d'autres équipes se sont créées (aux Bell Labs d’At&T, puis dans les années 70 au Palo Alto Research Centre de Xerox). Ils ont mis au point des langages, des méthodes, inventé l'intelligence artificielle, etc. Le système d’exploitation Unix, le langage C mis au point aux Bell Labs ont été d’abord distribués gratuitement, ou pour un paiement symbolique, ce qui a permis de les perfectionner rapidement.

Puis les hackers sont allés jusqu’à vouloir mettre l'ordinateur à la disposition de tout le monde, d'abord par la dissémination de terminaux, puis par la mise au point du micro-ordinateur. Levy a raconté la naissance de l'Altair, machine dont la seule interface avec l'utilisateur était constituée d'une rangée d'interrupteurs et d'une rangée de lampes et dans laquelle il fallait entrer le programme (dans un langage machine codé en base huit) lors de chaque utilisation, au point que les hackers avaient bientôt le bout des doigts calleux.

Ces passionnés travaillaient trente heures d'affilée, sacrifiant leur hygiène et leur vie affective à l'exploration des possibilités offertes par l'ordinateur, au développement des outils qui permettaient de les élargir. Leur imprégnation par le langage informatique les coupait des modes de communications usuels et les isolait des autres êtres humains. Ils avaient une morale, "The Hackers Ethic", reposant sur quelques principes fondamentaux : libre accès à la machine, liberté et gratuité des logiciels, coopération etc.

L’ « Unbundling » d’IBM

Le « consent decree » de 1956 entre IBM et le département de la justice oblige IBM à offrir à la vente les matériels qu’auparavant il louait exclusivement, à facturer séparément les pièces détachées et la maintenance, à publier l’information sur la maintenance de ses machines pour qu'elle puisse être exécutée par d'autres entreprises.

Des entreprises de leasing se sont alors créées : elles achetaient des machines IBM et les vendaient en leasing à un prix inférieur au loyer pratiqué par IBM. Pour les contrer IBM a accéléré le rythme d’introduction des nouvelles machines. Par ailleurs la publication des informations sur la maintenance a rendu visibles les interfaces entre machines IBM. RCA, Amdahl et  Fujitsu ont alors pu offrir des ordinateurs compatibles avec IBM ; de nombreuses entreprises ont offert des écrans, lecteurs de disques, lecteurs de bandes et imprimantes compatibles.

IBM offrait à ses clients ses programmes et services d’ingénierie sans les facturer séparément : leur coût était inclus dans le prix du matériel, l’ensemble constituant un « paquet » (en anglais « bundle »). Cette formule simplifiait la vie des clients. Mais les acheteurs de matériels compatibles disposaient ainsi gratuitement de ces services dont les concurrents d’IBM n’avaient pas supporté le coût.

Dès 1964, le Spectra 70 de RCA a été perçu comme une menace pour l’IBM 360 ; mais « les ingénieurs de RCA n’ont pas vu l’importance de la compatibilité et n’ont pas su résister à la tentation d’introduire des « améliorations » par rapport au S/360. Il en résulta que les machines de RCA ne pouvaient pas utiliser sans modification les programmes en S/360. Cette conversion étant difficile, peu de clients achetèrent les systèmes de RCA » [Humphrey].

Il semblait impossible de protéger les logiciels par des brevets ; les experts d’IBM ont conçu en 1966 un système associant copyright et licence d’utilisation. En janvier 1969, le département de la justice a engagé des poursuites contre IBM en application de la loi antitrust. L’unbundling a été annoncé par IBM en juin 1969 : moyennant une réduction de 3 % du prix du matériel, les logiciels seraient vendus désormais à part. Par la suite, plusieurs entreprises attaquèrent IBM en justice ; IBM gagna la plupart de ces procès en tirant argument de l’unbundling.

L’unbundling a transformé le commerce du logiciel et de l’ingénierie. IBM Global Services est devenue la partie la plus importante et la plus profitable d’IBM. L’interface de programmation (API) s’est stabilisée pour répondre aux besoins de compatibilité des utilisateurs, et cette stabilité a favorisé la diversification de l’offre de logiciels.

Evolution de la « couche critique »

Si l'on a en tête un modèle en couches de l'informatique, on voit que la « couche critique », celle qui se trouve sur le front de taille de la discipline, était dans les années 60 celle du logiciel : il s’agissait de mettre au point les langages facilitant la diversification des utilisations de l'ordinateur.. Puis, dans les années 70, il s'est agi de mettre l'ordinateur dans les mains de chacun en développant un micro-ordinateur s'appuyant sur les tout récents micro-processeurs : la couche critique était alors celle du matériel. L’événement crucial est l’arrivée de l'Altair sur le marché en janvier 1975 ; il est offert en kit pour 397 $, et il est le premier micro-ordinateur qui rencontre le succès commercial[2].

Ensuite s'enchaînent les développements en logiciel et en matériel qui conduisent au micro-ordinateur en réseau d'aujourd'hui, avec les interfaces graphiques, l’équipement multimédia et l'Internet. On peut penser que la couche critique est maintenant celle de l'utilisation collective, organisée, du PC en réseau dans les entreprises et dans la société. Les questions qui se trouvent aujourd’hui dans la couche critique sont celles que posent la maîtrise du langage de l'entreprise, l'organisation des processus, l'articulation du système d'information avec la stratégie, la modélisation du système d’information.

Naissance du marché du logiciel compilé

Le marché du du logiciel compilé pour PC, utilisable mais illisible pour l’utilisateur, démarre avec la « Open Letter to Hobbyists » publiée par Bill Gates le 3 février 1976 dans « Computer Notes », newsletter des utilisateurs de l’Altair. Gates y accusait de vol les « hobbyistes » qui avaient copié son interpréteur BASIC ; il disait que le développement, étant un travail, devait avoir un propriétaire, être payé et protégé contre le vol.

Bill Gates avait alors 20 ans. Ce jeune homme avait un fort potentiel, comme on l'a vu par la suite : d'une part sa compétence en informatique faisait de lui un bon hacker, d'autre part - et contrairement aux autres hackers - son milieu social l’avait initié aux affaires. Son père était le plus grand avocat d'affaires de Seattle ; sa mère siégeait au conseil d'administration de plusieurs grandes entreprises. Il était sans doute mieux préparé que d’autres pour percevoir le potentiel marketing de la vente du logiciel compilé, et peut-être aussi la nécessité d’une telle organisation du marché pour fournir la diversité des logiciels dont les PC allaient avoir besoin.

Les hackers sont restés désarmés devant cette attaque. Ils étaient en effet coincés par deux cultures américaines entre lesquelles ils ne surent comment arbitrer : celle du pionnier qui va de l'avant dans des territoires vierges et se sert de l'« open source » pour se débrouiller ; celle de la libre entreprise, qui ne peut se concevoir sans un droit de propriété protégé.

Gates définit ainsi le modèle économique qui s'imposera sur le marché des logiciels pour PC. Il a créé une industrie du logiciel dont il est devenu le plus grand dirigeant. Le modèle qu’il a inventé était sans doute alors le seul possible, sa fécondité mérite l’admiration.

Limites du logiciel compilé

Cependant ce modèle a une limite qui se révèle avec la complexification des logiciels. Elle est due notamment aux exigences de la « compatibilité ascendante » : la version Vn d’un logiciel doit être capable de lire les fichiers composés avec les versions Vn - k antérieures. En passant d’une version à l’autre, le logiciel s’alourdit ainsi des conventions anciennes dont il doit garder la trace.

La complexification est due aussi à la cible marketing elle-même : pour que le logiciel puisse couvrir un large marché, il doit offrir une grande diversité de fonctionnalités et marcher sur des plates-formes diverses. Chaque client n’utilisera qu’une petite partie du logiciel qu’il a acheté et qui encombre la mémoire de son ordinateur. 

Or plus un logiciel est compliqué, plus il est difficile à « déboguer ». Le logiciel est une construction fragile. L’éradication des bogues est d’autant plus difficile que l’on risque toujours, en corrigeant une erreur, d’en introduire plusieurs autres ; c’est une tâche qu’il est impossible d’automatiser complètement : la démonstration la plus intéressante de la théorie de l’informatique est qu’il est impossible de réaliser un programme capable de vérifier entièrement les programmes[7].

On ne peut physiquement plus désormais, même avec 30 000 programmeurs groupés sur un campus (plus quelques sous-traitants qui coopèrent à travers l’Internet), faire converger le processus de « déboguage » d’un grand logiciel comme Windows. Les versions successives sont commercialisées avec leurs bogues et les utilisateurs subissent des incidents désagréables. 

Organisation de la création d’un logiciel complexe

Pour réaliser une construction intellectuelle complexe comme un système d’exploitation ou un grand logiciel applicatif, il faut dans tous les cas que les quatre éléments suivants soient réunis :
- un centre (« dictateur bienveillant ») capable d’attirer les contributeurs et de sélectionner les contributions à retenir ;
- des contributeurs qui réalisent le travail de développement ;
- un réseau de communication ;
- un moyen de rémunérer les contributeurs.

Un gros logiciel ne peut aboutir que si sa production est animée par un « dictateur bienveillant », et le talent nécessaire pour jouer ce rôle est donc crucial. L’expression « dictateur bienveillant » est bien sûr un peu paradoxale. Il faut la comprendre ainsi : beaucoup de personnes sont autorisées à suggérer des modifications du code, mais seule une toute petite équipe est autorisée à introduire effectivement les modifications : c’est cela le côté « dictateur » ; d’un autre côté, il importe que cette petite équipe manifeste de la considération aux personnes qui font des suggestions, même et surtout lorsque la suggestion n’est pas retenue : si le « dictateur » se rend désagréable, il ne recevra plus de suggestions et le processus d’amélioration sera freiné ou stoppé. La « bienveillance », c’est l’attitude par laquelle le « dictateur » manifeste la considération qu’il éprouve envers les contributeurs.

Le modèle « Microsoft » a permis de rassembler la masse critique de contributeurs nécessaire à la production des logiciels pour PC. Le « dictateur bienveillant », c’est Bill Gates lui-même, assisté par une équipe de proches collaborateurs ; le réseau, c’est le RLPC sur le campus de Redmond et l’Internet entre Microsoft et ses sous-traitants ; les contributeurs sont les programmeurs de Microsoft et les entreprises sous contrat ; la rémunération est financière.

Dans le modèle « Linux », le « dictateur bienveillant » est Linus Torvalds assisté par une équipe de proches collaborateurs ; le réseau est l’Internet, les contributeurs sont potentiellement tous les développeurs du monde entier ; la rémunération est symbolique (ce qui ne veut pas dire qu’elle soit irréelle).

Le modèle « Linux »

La culture finlandaise de Linus Torvalds[3] le libère des dogmes de la libre entreprise à l'américaine. Il tire parti de l'Internet pour utiliser le mode de développement « open source » : le code source de Linux est disponible sur l’Internet, ainsi d’ailleurs que celui de Java, Perl etc.

Quiconque repère un bogue peut, s’il en a la compétence, proposer une correction qui sera soumise au « dictateur bienveillant ». L'Internet élargit à des millions de programmeurs le cercle des contributeurs potentiels ; il permet d'accélérer la convergence du déboguage et de poursuivre sans fin le processus de perfectionnement. Il permet aussi à l’utilisateur de choisir « à la carte » les fonctionnalités dont il a besoin, ce qui réduit fortement la taille des logiciels.

Se crée alors, en contraste avec l'économie marchande du logiciel compilé, une économie indirecte de la reconnaissance professionnelle autour du logiciel libre[4] : « indirecte » parce que, si les développeurs contribuent gratuitement à Linux, ils sont respectés dans leurs entreprises et prennent donc de la valeur sur le marché. L’économie de la reconnaissance est une économie symbolique, mais non une économie de la gratuité : le symbole est ici rémunérateur à la fois psychologiquement et financièrement[5]. D’ailleurs logiciel libre ne signifie pas « gratuit », mais « lisible ». Une économie marchande s’est bâtie sur le logiciel libre qui se vend toutefois à des prix très inférieurs à ceux du logiciel compilé.

Le retour de la logique logiciel libre » met en péril la logique « programme compilé (cher) en boîte ». L’issue de la lutte est prévisible : la qualité est du côté du logiciel libre qui seul permet de faire converger le déboguage ou du moins de l’accélérer. On peut compter sur le talent stratégique de Bill Gates : il saura adopter souplement le système de l'adversaire. Linus Torvalds dit avec philosophie : « Ma victoire, ce sera quand Microsoft se mettra au logiciel libre ».

Limites du logiciel libre

Le logiciel libre a lui aussi ses limites : il arrive qu’il se diversifie en variantes, qu’il soit déficient du point de vue de la documentation, des interfaces utilisateurs et de la compatibilité ascendante. Certains disent que le logiciel libre est destiné aux experts, alors que Microsoft avait eu l’intelligence de faire des produits destinés à l’utilisateur non expert[6] : et en effet les administrateurs des serveurs Apache ou Sendmail sont plus experts que l’utilisateur moyen d’un PC.

Ensuite, les créateurs de logiciel libre sont loin de se compter par millions. Les statistiques montrent que les programmeurs vraiment actifs sont peu nombreux, et que la plupart des contributions sont très simples (ce qui ne veut pas dire qu’elles ne soient pas précieuses : l’alarme qui indique une erreur est toujours bienvenue). Pour Apache, 83 % à 91 % des modifications proviendraient de 15 programmeurs [Mockus].

Le logiciel libre et les pirates

Certains disent que nous allons vers un « Pearl Harbor électronique »[7]. Pourquoi ? parce que les pirates (terme qu’il faut préférer à « hackers ») progressent alors que la recherche sur la sécurité piétine. Les pirates progressent parce qu'ils utilisent les méthodes du logiciel libre : ils diffusent le code source de leurs programmes et en partagent les améliorations. La virulence de leurs produits augmente, leurs compétences progressent, le nombre et l'ingéniosité des attaques croissent exponentiellement. Cette activité devient rentable : les pirates peuvent racketter des entreprises vulnérables à qui ils vendent leur « protection ».

On compte seulement 200 chercheurs compétents en sécurité dans les universités et entreprises américaines. Peu de diplômés ont une expertise en sécurité. Dès qu'un chercheur devient compétent, il est embauché par une entreprise qui veut utiliser son savoir pour se protéger : il en résulte une pénurie de professeurs qui explique le faible nombre de diplômés. D'une façon paradoxale, la vigueur de la demande assèche la formation des compétences. 

Ainsi la lutte est inégale : d'un côté les pirates tirent parti des méthodes de production du logiciel libre, construisent leur rentabilité et se multiplient ; de l'autre, la recherche est entravée par le copyright, vidée de ses compétences par l'appel du marché, sans politique d'ensemble. Une simple extrapolation de cette tendance désigne le futur vainqueur. 

Bibliographie

Gates Bill, « An Open Letter to Hobbyists », Computer Notes, February 3, 1976

Hiltzik Michael, Dealers of Ligthning - Xerox PARC and the Dawn of the Computer Age, Harper Business, 1999               

Humphrey Watts S., “Software Unbundling : A Personal Perspective”, IEEE Annals of the History of Computing, janvier-mars 2002, p. 59.

Levy Steven, Hackers, Delta Publishing, 1994

Mockus Audris, Fielding Roy and Herbsleb James, « A Case Study of Open Source Software Program Movement: The Apache Server », 2000

Nadeau Tom, « Learning from Linux », 1999

Open Source Initiative, « Open Source Definition » , 1999

Paulson Linda Dailey , "Wanted: More Network-Security Graduates and Research", Computer, février 2002, p. 22 

Raymond Eric S., « The Cathedral and the Bazaar », 1999

Sipser Michael, Introduction to the Theory of Computation, PWS Publishing Company, 1997

Stallman Richard, « The GNU Operating System and the Free Software Movement » in DiBona, Chris, Ockman, Sam, and Stone, Mark (eds.), Open Sources:Voices from the Open Source Revolution, O’Reilly, 1999

Tirole Jean et Lerner Josh « The simple economics of Open Source », Journal of Industrial Economics, July 24, 2001

Torvalds Linus, « Interview with Linus Torvalds: What Motivates Free Software Developers? », 1999 

Volle Michel, e-conomie, Economica, 2000


[1] Notamment le marché des serveurs Web : en 2000, 60 % des serveurs utilisaient Apache contre 20 % à Microsoft IIS et 7 % à Netscape Enterprise. Le nombre des utilisateurs de Linux dans le monde serait dans une fourchette de 7 à 16 millions.

[2] Le Micral, conçu en France par François Gernelle et lancé en mai 1973 au prix de 1 750 $, n’a pas connu le même succès commercial.

[3] Les grands créateurs de logiciels ont chacun ses racines culturelles: Bjarne Stroustrup (C++), danois, est marqué par l’existentialisme de Kierkegaard ; Linus Torvalds (Linux), finlandais, par l’épopée du Kalevala ; Niklaus Wirth (Pascal), suisse, par le calvinisme ; Larry Wall (Perl) et Alan Kay (Smalltalk), tous deux américains, ont trouvé leurs références culturelles dans le monde de l’enfance.

[4] « The “utility function” Linux hackers are maximizing is not classically economic, but is the intangible of their own ego satisfaction and reputation among other hackers. » [Raymond].

[5] Les mécanismes de reconnaissance sont ici semblables à ceux de la recherche universitaire.

[6] In every release cycle Microsoft always listens to its most ignorant customers. Linux and OS/2 developers, on the other hand, tend to listen to their smartest customers… The good that Microsoft does in bringing computers to non-users is outdone by the curse that they bring on experienced users [Nadeau].

[7] Cf. [Paulson]