L'innovation à travers la méthode scientifique

Le développement plus fascinant dans le mouvement Open Source d'aujourd'hui n'est pas le succès de sociétés telles que Red Hat ou Sendmail Inc. Ce qui fascine réellement est de voir les plus importants acteurs de l'industrie informatique, des entreprises telles qu'IBM et Oracle, tourner leur attention vers l'Open Source en y percevant un marché. Que cherchent-elles dans l'Open Source ?

L'innovation.

Là où les scientifiques parlent de reproductibilité, les programmeurs Open Source parlent de déboguage. Là où les premiers parlent de découverte, les seconds voient création. Le mouvement Open Source est une extension de la méthode scientifique, car au cœur de l'industrie informatique se trouve la science informatique. Considérez ces mots de Grace Hopper, inventeur du compilateur, qui disait, au début des années 60 :

Pour moi la programmation est plus qu'un art appliqué important. C'est aussi une ambitieuse quête menée dans les tréfonds de la connaissance.

L'informatique, cependant, diffère fondamentalement de toutes les autres sciences. L'informatique a un seul moyen de permettre à des pairs de reproduire des résultats : partager le code source. Pour démontrer la validité d'un programme à quelqu'un, vous devez lui fournir les moyens de le compiler et de l'exécuter.

La reproductibilité rend les résultats scientifiques robustes. Un scientifique ne peut espérer justifier de toutes les conditions de test, ni nécessairement disposer de l'environnement de test qui permettrait de vérifier tous les aspects d'une hypothèse. En partageant les hypothèses et les résultats avec une communauté de pairs, le scientifique permet à de nombreuses paires d'yeux de voir ce qu'une seule pourrait manquer. Dans le modèle de développement Open Source, le même principe est exprimé ainsi : « À condition de disposer de suffisamment de regards, tous les bogues restent superficiels ». En partageant le code source, les développeurs Open Source rendent leur logiciel plus robuste. Les programmes deviennent utilisés et testés dans une plus grande variété de contextes que ce qu'un seul programmeur pourrait générer, les bugs sont découverts alors qu'autrement ils ne l'auraient pas été. Parce que le code source est fourni, les bugs peuvent souvent être supprimés, et pas seulement découverts, par quelqu'un qui, autrement, serait resté en dehors du processus de développement.

Le partage ouvert des résultats scientifiques facilite les découvertes. La méthode scientifique minimise la duplication des effort parce que les pairs savent d'emblée s'ils travaillent sur des projets similaires. Le progrès ne stoppe pas simplement parce qu'un scientifique cesse de travailler sur un projet. Si les résultats ont de la valeur, d'autres scientifiques prendront le relais. De façon similaire, dans le modèle de développement Open Source, le partage du code facilite la créativité. Les programmeurs travaillant sur des projets complémentaires peuvent appuyer leurs propres résultats sur ceux des autres, ou combiner les différentes ressources dans un seul projet. Un projet peut éveiller l'inspiration pour un autre projet qui n'aurait pas été conçu sans cela. Et un projet de valeur ne devient pas forcément orphelin lorqu'un programmeur le quitte. GIMP est resté au repos durant une année, mais finalement le développement a continué, et maintenant GIMP est montré avec fierté lorsque les développeurs Open Source examinent ce dont ils sont capables dans un domaine complètement nouveau pour eux : les applications utilisateur.

Les plus grosses entreprises veulent tirer profit de ce modèle puissant d'innovation. IBM va faire payer une somme coquette pour mettre en place et administrer l'intégration d'Apache au sein des services informatiques. Il s'agit là d'un gain net pour IBM ; ils peuvent installer une plate-forme exceptionnellement stable, qui réduit le coût assigné à sa maintenance, et, du même coup, assurer un service qui peut réellement aider leurs clients. De façon tout aussi importante, les ingénieurs d'IBM partagent la pollinisation croisée des idées avec les développeurs indépendants de l'équipe d'Apache.

Il s'agit là précisément du raisonnement qui a amené Netscape à prendre la décision de rendre son navigateur Open Source. Une partie du but recherché était de stabiliser et même d'accroître ses parts de marché. Mais, plus encore, Netscape compte sur la communauté des développeurs indépendants pour conduire l'innovation et les aider à créer un produit de qualité supérieure.

IBM s'est rapidement rendu compte que lintégration complète des techniques logicielles telles qu'Apache dans des lignes de plate-forme serveur comme l'AS400 et le RS6000 pouvait au minimum aider à gagner de nouveaux contrats et vendre plus de matériel IBM. IBM va plus loin dans cette approche et porte sa célèbre base de données DB2 vers le système Linux. Alors que beaucoup ont interprété cela comme une réponse à Oracle qui sort la ligne Oracle 8 sous Linux, IBM a pris son rôle envers la communauté très au sérieux et alloua des ressources à la cause des logiciels Open Source. En portant Apache vers la plate-forme AS400, IBM légitime cette approche d'une façon dont cette entreprise reste seule capable.

Le sort réservé aux offres concurrentielles soumises au gouvernement fédéral et à l'industrie par des entreprises telles que Coleman (de Thermo-electron), SAIC, BDM et IBM sera riche d'enseignements. Par exemple lorsque l'on comparera le coût du logiciel nécessaire à l'installation de 1000 postes avec, d'une part, NT ou Solaris et, d'autre part, Linux. Le prestataire dont la proposition laisse le client économiser plus d'un quart de million de dollars se trouvera en meilleure position. Des entreprises comme CSC, qui ont la réputation de renoncer à un ou deux pour-cent de leur marge afin d'obtenir davantage de contrats, sont probablement en train de se demander comment tirer profit de cela.

Alors que des entreprises telles qu'IBM, Oracle et Netscape ont commencé à intégrer l'Open Source à leur approche, beaucoup d'éditeurs de logiciel continuent à se concentrer exclusivement sur des solutions propriétaires. Ils le font à leurs propres risques.

En matière de serveur web, la complète dénégation de Microsoft du phénomène Open Source est presque amusante. Le serveur web Apache a, au moment de la rédaction de ce texte et d'après l'étude Netcraft, plus de 50% du marché des serveurs. Mais dans la publicité vantant son logiciel serveur appelé Internet Information Server (IIS) Microsoft affirme qu'il possède plus de la moitié du marché des serveurs web — il s'agit en réalité de plus de la moitié des serveurs commerciaux. Comparés aux concurrents comme Netscape et Lotus, ils détiennent donc une fraction significative du marché, mais cela semble maigre par rapport au nombre total de serveurs en fonction, où les 20% de Microsoft sont écrasées par les 50% d'Apache.

L'ironie est encore plus flagrante encore lorsque l'on considère qu'actuellement, d'après une étude menée par le QUESO et WTF, 29% des serveurs Web fonctionnent sous Linux. QUESO est un outil logiciel capable de déterminer le système d'exploitation qu'utilise une machine en lui envoyant des paquets TCP/IP et en analysant ses réponses. En combinant ces résultats avec ceux du moteur de recherche Netcraft qui analyse les balises d'identification renvoyées par les serveurs, on peut déterminer le nombre de serveurs employant un système d'exploitation ou un type de machine donné.

En fait, les éditeurs de logiciels propriétaires ont déjà subi de nombreux discrets revers. Linux et FreeBSD rendent impossible de vendre avec succès un Unix propriétaire sur du matériel PC : Coherent, par exemple, s'est déjà effondrée. D'autre part, la société Santa Cruz Operation est passée en deux ou trois ans du rôle de principal vendeur Unix à une position de second plan. Elle va probablement trouver un moyen de survivre, mais son produit phare, SCO Unix, sera-t-il une victime de plus de l'Open Source ?

Sun Microsystems a, de plusieurs façons, fourni des ressources au développement de logiciels Open Source tout au long des années, sous forme de donation de matériel, de ressources pour aider au port sur SPARC de Linux, ou à travers le développement du langage de script Tcl réalisé par John Ousterhout. Il est donc paradoxal que l'entreprise, issue des joyeuses racines du logiciel libre à Berkeley si souvents décrites par Kirk McKusick, se batte à présent pour saisir la portée du phénomène Open Source.

Prenons un moment pour comparer les positions contrastées de SCO et de Sun.

Sun réalise la plus grosse partie de son chiffre d'affaire grâce au service commercialisé portant sur son système d'exploitation et son matériel. Sa ligne de produits va de la station de travail de bureau à des prix comparables à ceux des PC, à des serveurs d'entreprise de grande taille (éventuellement en grappes) rivaux de certaines grosses machines centrales. Le profit que Sun réalise au niveau du matériel provient moins des ventes des machines bas de gamme de la série Ultra que de celles du service d'assistance associé aux serveurs extrêmement spécialisés et adaptables au client des séries E et A. On estime que 50% du bénéfice de Sun provient de l'assistance, des formations et du conseil.

SCO, d'un autre côté, fait des affaires en vendant le système d'exploitation SCO Unix, des programmes de type compilateur et serveurs, ainsi que de la formation sur l'utilisation des produits SCO. Ainsi, malgré sa réputation, elle est en danger de la même façon qu'une ferme disposant d'un seul type de culture est vulnérable au moindre parasite menaçant la récolte.

Sun perçoit le développement de Linux comme une menace pour son bas de gamme. Sa stratégie consiste à s'assurer que Linux puisse fonctionner sur le matériel Sun, afin de laisser clients choisir. L'intérêt pour Sun est qu'ils pourront continuer à proposer de l'assistance pour leur machines. Nous ne serions pas surpris de voir, dans le futur, Sun offrir, sur ses machines bas de gamme, de l'assistance à l'utilisation du logiciel pour Linux.

Cela constitue même, et pour plusieurs raisons, une étape évidente. En fait, si vous demandez à un administrateur système sur Sun quelle est la première chose qu'il fait lorsqu'il reçoit une nouvelle machine Sun, il vous répondra : « Je télécharge les outils et le compilateur GNU puis installe mon shell favori ». Sun entendra peut-être un jour ce message provenant de sa clientèle et le fera peut-être sur sa demande même. Malgré cela, Sun connaîtra un certain désavantage jusqu'à ce que ses responsables se rendent compte des services que sa clientèle peut lui apporter : l'innovation à travers la pollinisation croisée des idées issues de la publication du code source.

La position SCO, par ailleurs, est moins avantageuse. Le système de tarification de SCO met en avant la vente du système d'exploitation, en prévoyant des coûts supplémentaires pour des outils que l'utilisateur de Linux s'attend à recevoir gratuitement, tels que les compilateurs et les systèmes de traitement de texte. Ce modèle ne peut simplement pas être soutenu face à la compétition d'un système d'exploitation robuste et gratuit. À la différence de Sun, qui commercialise une vaste gamme de matériels, SCO ne vend que du logiciel et, dans leur cas, ce n'est pas suffisant. Que va faire SCO ?

Sa réponse n'a, jusqu'à présent, pas été claire. Dans le début de l'année 1998, SCO a envoyé une lettre à la grande liste de diffusion de ses utilisateurs afin de critiquer les Unix ouverts tel que Linux et FreeBSD en leur reprochant d'être instables et non professionnels, indépendamment de leur prix inférieur à celui du système SCO de base. Ils a lui-mêmes été très critiqué pour cette attitude et a fait machine arrière. SCO n'a pas cru ses clients suffisamment perspicaces pour voir à travers le FUD[1]. SCO a, en fin de compte, publié une rétractation sur son site web.

SCO diffusa fin 1998 un communiqué de presse annonçant que SCO Unix possède maintenant une couche de compatibilité Linux, de telle façon que vos programmes Linux favoris peuvent s'exécuter sous SCO Unix. La réponse a été claire et nette. Pourquoi dépenser de l'argent pour un système dans le but de le rendre compatible avec une offre gratuite ?

SCO dispose d'une position avantageuse si elle veut bénéficier du mouvement Open Source car possède une propriété intellectuelle très valable utilisable afin d'acquérir une véritable position de pouvoir dans le futur de l'Open Source. Pour ce faire, cependant, elle doit radicalement changer d'approche. Plutôt que de percevoir l'Open Source en tant que menace qui pourrait éroder la valeur de sa propriété intellectuelle, elle doit y voir une occasion de puiser de l'innovation.

Bien sûr, les manœuvres d'une entreprise telle que SCO ou même de Sun sont insignifiantes à côté de celles de Microsoft qui campe sur sa position en faveur du modèle propriétaire et semble déterminé à ne pas réformer cela avant la publication de MS-Windows 2000.

Nous supposons que MS-Windows 2000 sera annoncé en fanfare dans la dernière partie de l'an 2000 ou au début de 2001. Ce sera, après tout, la grande unification de MS-Windows NT et 98. À un certain moment, aux alentours de cet événement et peut-être même six mois avant, un nouveau système d'exploitation Microsoft Windows sera annoncé. Cet éditeur a toujours convoité le « lucratif marché des entreprises », un secteur où les machines véhiculent la sève informationnelle de l'entreprise. Jusqu'à présent, néanmoins, il n'est pas évident que Microsoft parviendra à fournir un système MS-Windows aussi stable que l'exige ce marché. Ils décréteront donc que ce nouveau système sera la solution.

Appelons ce produit qui représente ce changement fantomatique « MS-Windows Enterprise » ou WEnt. Microsoft se penchera sur NT et déclarera : « Comment pouvons-nous le rendre plus fiable et stable ? ». Comme le signale Linus Torvalds dans son essai, la théorie des systèmes d'exploitation n'a pas évolué au cours des 20 dernières années, donc les ingénieurs de Microsoft vont revenir en arrière et dire qu'un noyau bien écrit, auquel on confie autant que possible l'exécution des programmes en mode non privilégié, est la meilleure façon d'améliorer la fiabilité et les performances. Ainsi pour réparer les principales erreurs des noyaux de NT, par exemple l'inclusion de pilotes réalisés de façon incorrecte par des tierces parties et l'intégration du GUI (Graphic User Interface) au noyau, Microsoft devra soit écrire une monstrueuse et lente couche d'émulation, soit changer d'approche et donc rendre de nombreuses applications incompatibles. Microsoft est certainement capable de choisir l'une des deux voies, et de s'y tenir. Mais pour alors, les logiciels Open Source auront certainement atteint une maturité où les entreprises qui achètent les logiciels se demanderont si elles font encore confiance à Microsoft pour leur donner ce qui est déjà disponible avec Linux : un noyau stable.

Évidemment, la réponse s'imposera d'elle-même avec le temps. Personne ne sait réellement si Microsoft peut réellement écrire un noyau stable et robuste. Le « document Halloween », auquel Eric Raymond se réfère dans cet ouvrage, laisse entendre que certains salariés de Microsoft en doutent.

Notes

[1]

Fear Uncertainty Doubt : Peur, Incertitude et Doute. Cette expression désigne les campagnes d'intoxication souvent relayées par les media.