Informations d'accessibilité| Page d'accueil| Aller au contenu| Plan du site| Moteur de recherche| Contact

Association Francophone des Utilisateurs de Logiciels Libres

French speaking Libre Software Users' Association

Promouvoir les logiciels libres ainsi que l'utilisation de standards ouverts.

Les trois âges de l'informatique

Cet article introduit la notion de métamorphose, un phénomène imperceptible qui se traduit par le passage des technologies de l'information à ce qui deviendra peut-être leur pleine maturité.

Dix ans déjà

HALLOWEEN. Ce mot sonne très singulièrement aux oreilles des utilisateurs et des développeurs de logiciels libres qui s'investissaient déjà dans la promotion de Linux à la fin des années 90.

Fin octobre 1998, Eric S. Raymond est tombé sur un document  qui n'aurait jamais dû sortir des murs de Microsoft. Ce document avait été rédigé par un employé de l'éditeur, avec l'intention de le faire lire par Bill Gates lui-même. Il s'agissait d'une analyse très visionnaire de l'impact que pourraient avoir les logiciels libres sur l'avenir de l'entreprise, sur leurs atouts, et sur les stratégies qu'il faudraient déployer pour les combattre.

Eric S. Raymond a passé les fêtes d'Halloween à commenter ce document, et c'est sous le nom d'Halloween qu'il l'a publié le 1er novembre 1998.

Parmi les citations relevées par Eric S. Raymond, issues donc de chez Microsoft voilà déjà dix ans, il faut surtout retenir les suivantes:

  • L'Open Source pose directement et à court terme des menaces pour Microsoft, sur ses revenus et sur sa plateforme, particulièrement dans le domaine des serveurs. Par ailleurs, le paralléllisme et le libre échange d'idées intrinsèques à l'Open Source amènent des bénéfices qui ne sont pas reproductibles au sein de notre modèle de licence, et présentent à long terme le risque d'être profondément ancrés dans l'esprit des développeurs.(*)
  • Les études de cas récentes (Internet [NDT: nous sommes en 1998] ) apportent  la preuve très alarmante ... qu'une qualité commerciale peut être atteinte ou dépassée  par des projets Open Source
  • ... pour comprendre comment lutter contre l'Open Source, nous devons cibler une démarche [communautaire] et non une entreprise
  • l'Open Source est crédible à long terme... les tactiques ACID(**) ne peuvent être utilisées pour le combattre.
  • Linux et d'autres avocats de l'Open Source ébauchent des arguments de plus en plus crédibles démontrant que les logiciels Open Source sont au moins aussi robustes -- sinon plus -- que les alternatives commerciales. Internet constitue une vitrine idéale ayant une très grande visibilité pour le monde de l'Open Source.
  • Linux a été déployé dans des projets critiques, en environnement commercial, avec une accumulation fantastique de témoignages publics. ...Linux surpasse beaucoup d'autres Unix... Linux est en route pour finalement prendre possession du marché des Unix [sur plateforme] x86.
  • La capacité de la démarche Open Source à recueillir et exploiter le QI collectif de milliers de personnes à travers l'Internet est tout simplement fascinante.

La métamorphose annoncée

Depuis cette prédiction, une lente métamorphose du monde de l'informatique s'est amorcée, imperceptible pendant quelques années, puis qui semble s'être brutalement accélérée depuis 2006.

L'objet de cette rubrique va donc consister à mettre en évidence le changement fondamental qui est en train de s'opérer, changement qui semble bien s'inscrire dans un processus beaucoup plus global, qui a commencé dès le début de la commercialisation des ordinateurs.

Ce processus peut être présenté en trois grandes étapes : le temps des grands systèmes, celui des éditeurs, et enfin celui où tous les professionnels de l'informatique peuvent s'impliquer dans le développement, la maintenance et l'adaptation d'un patrimoine commun de logiciels accessibles à tous.

L'âge des grands systèmes

Jusque dans les années 80, les sites informatiques étaient tous des singularités, isolées les unes des autres et complètement dépendantes du constructeur (Bull ou IBM).

Ce dernier fournissait seul les solutions, qu'elles soient matérielles ou logicielles. Il vendait les compilateurs, les systèmes de base de données, les moniteurs transactionnels, et parfois quelques bibliothèques très génériques qu'il tentait de mutualiser entre ses clients.

Sur les sites clients, des armées d'informaticiens, souvent formés sur le tas, étaient chargées de répondre aux besoins des services, ici pour calculer une paie, là pour sortir des factures, ou encore là pour mémoriser des fiches clients.

Ces développements étaient extrêmement spécifiques. Les sites évoluaient indépendamment les uns des autres, et les programmes étaient conçus pour s'adapter à l'architecture du système, et surtout à son histoire. Dans ces conditions, il était bien sûr hors de question, ni même seulement imaginable, de réutiliser sur un site un programme écrit pour un autre site.

Le temps des éditeurs

À partir de la fin des années 70 commencent à apparaître des mini-ordinateurs, puis des micro-ordinateurs et des stations de travail. Ces configurations matérielles destinées à un seul ou à quelques utilisateurs sont beaucoup moins coûteuses que les mainframes et se répandent en plus grande quantité. Le parc informatique devient peu à peu plus homogène.

Cette évolution donne naissance à un nouveau modèle économique, l'édition de logiciels. Certaines entreprises se spécialisent dans le développement de logiciels susceptibles de fonctionner sur une plateforme suffisamment répandue, dans le but de la mettre à la disposition de plusieurs sites, moyennant rétribution.

Mais un logiciel ne peut être proposé à un éventuel client s'il n'a pas déjà atteint un niveau fonctionnel minimum. Ce modèle économique suppose donc un très important investissement en temps de programmation, avec des moyens, à l'époque, très loin d'égaler les ateliers de développement dont nous disposons aujourd'hui.

Il fallait donc protéger cet investissement, pour en garantir la rentabilité. La solution la plus évidente qui s'est imposée, et qui est tout à fait propre à ce secteur technologique, a consisté à ne fournir aux clients qu'une version compilée des sources, la compilation jouant un peu le rôle d'un système de cryptage.

Une autre technique, moins évidente au départ, est devenue de plus en plus courante, au fur et à mesure que les responsables informatiques se désengageaient au profit des éditeurs: le verrouillage des données par le biais de formats fermés. En effet, peu importait sous quel format un logiciel sauvegardait les données (souvent, d'ailleurs, en adoptant des techniques d'optimisation sophistiquées) pourvu qu'il sache au moins les relire. Mais le problème, c'est que seul ce logiciel là, et de cette version là, pouvait effectivement les relire. Ce phénomène extrêmement gênant est traité dans toutes ses dimensions sur l'excellent blog de Thierry Stoehr.

 Le client se trouve ainsi dans l'obligation de s'adresser à l'éditeur pour obtenir une modification quelconque et même pour accéder aux données qui pourtant lui appartiennent. L'éditeur se trouve ainsi de fait en situation de monopole pour la maintenance du logiciel et il peut livrer de nouvelles versions au rythme et au prix qui lui conviennent, ce qui lui assure une rente aussi longtemps que son logiciel est utilisé.

Mais cela ne semblait pas grave parce que, par rapport à l'époque précédente, un modèle gagnant-gagnant a pu s'instaurer. En effet, le client peut se concentrer sur son cœur de métier, sans être obligé de développer des compétences internes en informatique.

Pour les cas complexes, les éditeurs proposent des ateliers de génie logiciel, qui permettent à des cadres non informaticiens de décrire l'activité de l'entreprise et de générer automatiquement des logiciels. Il n'y a plus de sources, mais un référentiel d'entreprise codé dans un format propriétaire. On parle de la fin des informaticiens.

Mais avec le temps, on se rend compte que ce soit-disant modèle gagnant-gagnant joue de plus en plus en faveur des éditeurs. En effet, ces derniers, en possédant toutes les clés sur les logiciels et sur les données, se trouvent en position de prendre de plus en plus de pouvoir sur les utilisateurs, et même sur les constructeurs. En cherchant à rentabiliser au maximum leurs logiciels, il imposent peu à peu une architecture unique, un système d'exploitation unique, une interface utilisateur standardisée. Le marché se cristallise peu à peu autour de solutions structurantes qui ne peuvent plus être remises en cause.

Malheureusement, ces solutions structurantes étaient la propriété d'entreprises privées, et, contrairement aux télécommunications, les États ne se sont jamais préoccupé de réguler ce secteur. Les propriétaires de ces solutions s'enrichissent alors outrageusement, et acquièrent peu à peu un pouvoir qui finit d'ailleurs par se retourner contre la plupart des éditeurs eux-mêmes.

Ce phénomène, qui augmente la valeur intrinsèque d'un bien proportionnellement à l'usage qui en est fait est bien connu des économistes sous le nom d'effet de réseau, et il est peu probable qu'il ait été ignoré des éditeurs les plus visionnaires.

La mutualisation des développements, issue d'une idée très noble au départ, mais organisée par les éditeurs dans leur seul intérêt se met à fonctionner selon ses propres lois, qui s'avèrent finalement incompatibles avec les lois du marché et de la concurrence.

Peu à peu, une partie de  la profession s'accorde à penser que quelque chose ne fonctionne pas correctement dans ce modèle, et qu'il est temps de le remettre en cause.

C'est pourquoi, en mars 1998,  Roberto Di Cosmo, Maître de Conférence à l'ENS de Paris, décide de publier un remarquable pamphlet intitulé "Piège dans le cyberespace". Ce coup de gueule sarcastique mais très pédagogique a très rapidement fait le tour de la cyberfrancophonie. Il y démonte point par point, beaucoup mieux que ne le fait cet article, les mécanismes qui ont enfoncé le marché dans des ornières où il est resté bloqué jusqu'à nos jours.

A tel point que la même années, et semble-t-il suite à ce pamphlet, est créée l'Association des Utilisateurs de Linux et des logiciels libres, l'AFUL.

Un nouveau professionnalisme

Parallèlement, et curieusement aussi depuis la fin des années 70 un autre phénomène apparait: l'interconnexion des réseau. Expérimentale au départ, puis de plus en plus formalisée, jusqu'à une standardisation complète pilotée par des organisations tels que l'IAB et l'IETF, elle se développe dans les milieux universitaires, puis dans les entreprises, et enfin auprès du grand public: c'est Internet.

Il aura fallu 25 ans pour qu'Internet obtienne sa notoriété, d'ailleurs également par des effets de réseaux. Pendant les 20 premières années il reste très confidentiel, et seuls des informaticiens savent réellement le maîtriser. Parmi ceux-là aussi il existe des visionnaires, et notamment Richard M. Stallman, qui a tout de suite pressenti la nocivité des logiciels à sources fermées.

En 1983, il fait le pari qu'il est possible de développer des logiciels d'aussi bonne qualité que ceux qui pourraient être produits par le modèle propriétaire des éditeurs, sans verrouiller les sources. Pour celà, il rédige une licence qui garantit qu'un logiciel à sources ouvertes, et donc modifiable par tout le monde, restera toujours ainsi, de manière à bien lui laisser le temps de s'améliorer. Mais il faut aussi que tous ceux qui souhaitent participer au développement puisse le faire sans contrainte. Il faut donc que les sources du logiciels puissent être copiées librement et largement distribuées,. C'est tout l'esprit de la GNU GPL. Et cette licence a donné le coup d'envoi d'un nouveau mode de développement et de mutualisation: les logiciels libres.

Du temps. C'est bien de celà qu'il s'agit. Car contrairement à tous les biens matériels, un logiciel ne s'abime pas avec le temps, ni au fur et à mesure que l'on s'en sert. C'est juste le contraire, pourvu qu'on ait toujours accès aux sources.

Professionnalisme dans les modes de développement

Et c'est ainsi que l'édifice a été construit, d'abord une pierre à la fois, par quelques bénévoles, qui voulaient bien mettre le résultat de leur travail à la disposition des autres. Puis l'édifice a pris de la hauteur, est devenu plus visible, et a attiré de plus en plus en plus de participants. Aujourd'hui, l'idée de Richard M. Stallman est sur le point d'atteindre son objectif. Comme l'avait prédit le document Halloween, les logiciels libres et la philosophie qu'ils sous-tendent se sont profondément ancré dans l'esprit de très nombreux développeurs, jusqu'à entrainer l'adoption de nouveaux modèles économiques par des entreprises, de plus en plus nombreuses.

Professionalisme dans les formats de données

Mais il est bien entendu que ceux qui profitaient le plus du modèle d'éditeurs ont cherché à bloquer l'essor des logiciels libres. Et bien sûr, la technique qui leur a semblé la plus efficace a été de garder le plus secret possible les formats de données et les protocoles qui permettaient à leurs logiciels d'intéropérer, afin d'empêcher les logiciels libres de se faire une place au côté des logiciels propriétaires.

Mais à toute action il y a réaction, et ce verrouillage est très vite devenu intenables pour les professionnels qui souhaitaient faire coopérer les logicles de leur choix, y compris les logiciels libres. Les actions les plus efficaces sont venues d'action gouvernementales, qui ont fait publiquement le choix d'adopter des formats ouverts, tel que le format OpenDocument normalisé par l'ISO.

Professionnalisme dans l'offre matérielle

Un dernier secteur technologique reste a déverrouiller:  celui de l'architecture matérielle. Afin de faire des économies d'échelle, et parce que leur modèle économique se basait sur le principe de fournir les logiciels sous leur forme compilée, les éditeurs ont favorisé l'émergence d'une architecture unique, afin que tous les ordinateurs du marché comprennent le même code machine. C'est l'architecture x86 qui s'est imposée, encore une fois par des effets de réseau. Ce monopole, ainsi que celui du système d'exploitation, a placé finalement les constructeurs d'ordinateurs sous le joug de deux seules entreprises Intel et Microsoft.

Cette situation est elle aussi en train de changer grâce à l'émergence d'un nouveau marché: les Ultra-Portables à  bas prix, à mi-chemin entre les PDA et les téléphones portables. Aucun système commercial ne leur convenant, ou n'étant suffisamment pérenne, c'est  le système GNU/Linux qui a été choisi pour les premiers modèles. Ce système est libre, gratuit, et il peut fonctionner sur pratiquement toutes les architectures existantes, même les plus confidentielles.

Le marché des UMPC® a connu un succès fulgurant et l'offre a litéralement explosé dans le monde. En toute logique, la possibilité de faire jouer la concurrence entre plusieurs systèmes d'exploitation, et de pouvoir choisir l'architecture la mieux adaptée au besoin d'un marché redonne  aux constructeurs et aux fondeurs le pouvoir de jouer pleinement leur rôle dans l'évolution des technologie informatiques.

Les root du futur

On reproche parfois aux logiciels libres d'être moins sexy que les logiciels propriétaires. C'est peut-être vrai. Les logiciels libres ont moins besoin d'être sexy, parce qu'ils n'ont pas besoin de se vendre. Par contre, il sont carrément plus smart.

On prétend aussi souvent que la disponibilité des sources n'a strictement aucun intérêt pour l'utilisateur. Ce n'est pas forcément vrai, et cette partie va essayer de le démontrer, en se basant sur l'hypothèse d'une libération totale du marché de l'informatique.

La porte ouverte à de nouvelles évolutions technologiques


Les éditeurs de logiciels propriétaires ne distribuent pratiquement que des versions qui tournent exclusivement sur PC, pour Windows, en donnant même, par prudence, la liste des processeurs et versions de Windows nécessaires (par ex. Windows 98, ME, 2000, XP, Vista).

Dans ces conditions, comment peut-on imaginer un monde où l'on pourrait choisir un ordinateur en fonction de ses performances, avec éventuellement un processeur Arm, d'architecture Risc, peut-être plus rapide ou plus écologique mais totalement incompatible avec le standard x86?

Comment pouvoir choisir aussi entre un système basé sur Linux, ou FreeBSD, ou OpenBSD, ou encore MacOSX, sans s'éloigner des standards du marché, et sans risquer de se priver du choix forcément bien supérieur disponible pour la plateforme la plus populaire du moment?

La solution est pourtant simple avec des logiciels libres. En effet, dans ce cas, le secret des sources n'a strictement aucun intérêt, bien au contraire. Alors, au lieu de compiler les sources et distribuer du code machine, ce qui suppose de sélectionner a priori une architecture, les distributeurs de logiciels libres peuvent très bien distribuer les sources et intégrer la phase de compilation à la procédure d'installation sur l'ordinateur. C'est d'ailleurs cette technique qui est déjà utilisée par la distribution Gentoo.

Certes cette phase de compilation peut augmenter sensiblement le temps d'installation, mais celle-ci ne se fait qu'une seule fois, alors que les avantages pour l'utilisateur sont multiples et s'apprécient à chaque utilisation.

Le déverrouillage des évolutions matérielles

Tout d'abord, la compilation fonctionne avec n'importe quel processeur, puisqu'il s'agit précisément de traduire le code source en un code machine adapté au processeur. L'utilisateur est donc libre de choisir sans contrainte n'importe quelle architecture, même la plus innovante, pourvu qu'un compilateur ait été conçu pour elle.

Ensuite le compilateur peut optimiser le code machine en fonction des spécificités du modèle de processeur, ce qui peut améliorer les performances de 30% à 40% par rapport à une compilation qui produit du code plus générique, susceptible de fonctionner sur le maximum de modèles différents dans la même architecture.

Par suite, les fondeurs, qui fabriquent les processeurs, peuvent investir dans une recherche qui prend en compte le fait que le code est compilé et optimisé à la volée au moment de l'installation. En effet, il doivent aujourd'hui se contraindre à fabriquer des processeurs simplement optimisés pour du code générique.

Une installation de logiciels "aux petits oignons"

Si le code source est suffisamment documenté, l'utilisateur pourra décider, au moment de l'installation, s'il faut compiler ou non une portion de code jugée erratique, ou une autre encore expérimentale mais qui apporte de nouvelles fonctionnalités.
De même, l'utilisateur pourra demander que du code soit ajouté pour contrôler certains accès, à Internet par exemple, ou pour produire des traces qui permettront d'analyser le comportement du logiciel (mode "debug").

Une meilleure sécurité

Le compilateur, qui lit un code source par nature intelligible, pourra détecter certaines séquences de code bizarres, et éventuellement prévenir un comportement malsain ou malveillant.

Enfin, dans la mesure où le code machine est préparé spécifiquement pour un ordinateur, en fonction du modèle de processeur, des critères d'optimisation choisis par l'utilisateur et des bibliothèques de logiciels déjà installées, c'est ce code qui devient confidentiel. Or les pirates ont besoin de bien connaître le code machine afin de déceler certaines failles de sécurité (par. les buffer overflow) ce qui ne pose bien sûr aucun problème avec les logiciels propriétaires, dont c'est précisément le code machine qui est publié.

L'insensibilité aux virus

Bien sûr, les logiciels libres sont pour la plupart conçus pour fonctionner sur un système dérivé d'Unix, tel que Linux, FreeBSD, OpenBSD, etc... Ces systèmes dit ouverts s'appuient sur des normes très précises, qui ont la particularité de gérer nativement le multi-tâche, les accès multi-ultilisateurs et donc toutes les règles de sécurité qui doivent en découler. Et des chercheurs de haut niveaux planchent sur ces problèmes depuis trente ans. C'est donc très difficile pour du code malveillant comme les virus de modifier des ressources partagées telles que des logiciels ou des fichiers de configuration.

Mais les virus doivent aussi se propager, et pour celà ils ont besoin d'un terrain homogène, où tous les ordinateurs exécutent exactement le même système et présentent donc les mêmes vulnérabilités. Avec un système comme Windows cette condition est remplie au niveau planétaire. Pas étonnant que cette plateforme soit un nid à virus, qui en compte aujourd'hui plus d'un million de variantes.

Au contraire, si les sources sont compilées et optmisées sur chaque ordinateurs, lesquels peuvent s'appuyer sur des architectures diverses et variées, le terrain devient hétérogène et les virus ont beaucoup plus de difficultés pour se propager. C'est pourquoi Linux ne compte aujourd'hui que quelques dizaines de virus qui ne sont jamais nocifs, qui sont parfaitement connus et qui n'existent en fait qu'en tant que curiosités, ou  "proof of concept", pour permettre aux chercheurs de mettre au point les parades. L'idée n'est pas de faire la chasse aux virus, mais plutôt de ne pas leur offrir un éco-système favorable.



(*) Traduction pour mindshare:un concept marketing qui consiste à faire admettre par le sens commun l'amalgame d'un produit et d'une marque, comme Hoover® aux USA pour les aspirateurs, Frigidaire® en France pour les réfrigérateurs, voire EeePC® ou UMPC®  pour les Ultra-Portables pas chers.
UMPC® est une marque déposée par Microsoft, Intel et Samsung.

(**) ACID: Amener la Crainte, l'Incertitude, le Doute. Traduction libre de l'auteur pour FUD: Fear, Uncertainty, Doubt.