Et si la théorie de l'évolution s'appliquait au Logiciel Libre

Introduction

J'ai souvent entendu, ici et là, en naviguant sur le Web, des personnes qui critiquaient la trop grande diversité du Logiciel Libre menant à la réinvention de la roue, des incompatibilités et autres problèmes nuisant finalement au Libre plus qu'elle n'apporte. Personnellement, je pense au contraire que c'est -dans une certaine limite- sa plus grande force et pour le montrer je pense qu'une petite analogie à la théorie de Charles Darwin est évidente, simple et efficace. Rien de scientifique là dedans ni de forcément exacte mais je pense que certains visualiseront mieux les avantages et la régulation naturelle conduisant à un avantage évident de cette diversité.

Au commencement...

On sait depuis un moment que toute espèce vivante est apparentée aux autres avec un ancêtre commun hypothétique unicellulaire. Malgré les différences entre ces espèces, on parvient à les classer en groupe comme les mammifères, les oiseaux, etc. Puis chaque individu est codé par un code génétique unique sous forme d'ADN. Quand on regarde les logiciels, on peut se dire (avec la disparition des cartes perforées) les logiciels libres initiaux sont le compilateur et l'éditeur de texte qui donneront naissances à d'autres logiciels par la suite. Et ces logiciels libres se sont diversifiées et malgré les différences on peut les regrouper en catégories comme le graphisme, les éditeurs de texte, les jeux, etc. Pour finir, un logiciel libre comme tout logiciel est composé d'un code unique lui étant propre : le code source.

Une évolution progressive

L'évolution des espèces se produit grâce à de multiples mutations génétiques qui ensembles forment de nouveaux caractères et donc de nouvelles espèces. Chez les logiciels on pourrait dire que les logiciels utilisent la bibliothèque C libre comme base et les imbrications, améliorations successives de cette dernière participe à l'élaboration de programmes de plus en plus divers et varié. Mais il existe dans la théorie de l'évolution des branches qui se coupent violemment et discontinues comme celle de la lignée humaine. On pourrait traduire ça par la naissance de nouveaux logiciels de bases comme les bibliothèques ou langages qui se basent (de manière hypothétique) sur la Lib C qui serait commune.

Et Dieu créa le fork !

Ces fameuses mutations pour les animaux peuvent être vues comme une copie du code source original puis après modifications donne un logiciel pouvant être totalement nouveau. Le fork peut être due à plusieurs facteurs : un désaccord sur les développeurs, de la communauté, sur la philosophies, les options, etc.
Le but du fork est de diversifier et d'étendre le public du logiciel et ainsi satisfaire un nombre d'utilisateurs plus élevé. Prenons l'exemple de Debian et Ubuntu, cette première est clairement destinée à des utilisateurs expérimentés ou dans des situations précises comme les serveurs. Debian n'a jamais revendiqué ni rien fait pour que le débutant s'y sente à son aise, d'où Ubuntu, qui a comblé le problème de Debian, et ainsi, a pu s'imposer dans la catégorie du « grand public » mais contrairement à Debian, Ubuntu n'est pas des plus réputés pour un utilisateur expert ou pour les serveurs. C'est une question de choix. Tout comme les animaux qui mutent pour s'adapter à l'environnement, le Logiciel Libre s'adapte à un public déterminé pour le satisfaire et le rejoindre. Le fait que Ubuntu ne soit pas des plus aptes par exemple à être sur un serveur n'est pas une insulte au contraire, ce n'est juste pas son objectif.

Regardez les papillons, les noirs généralement vivent dans les zones plus polluées car le bois est plus sombre et donc se camouflent mieux et inversement pour les blancs. Comme les papillons, les Logiciels Libres ne peuvent pas être tous multi-usages parfaitement et sont bien plus efficaces dans un domaine précis.

Vers une convergence évolutive ?

La convergence évolutive c'est le fait que les Logiciels Libres ou animaux évoluent séparément mais développent des fonctions similaires pour un milieu donné. Par exemple on sait que le dauphin et le requin sont de groupes opposés (poisson et mammifère), pourtant le dauphin a développé des nageoires car dans l'eau c'est la morphologie la plus avantageuse. Il n'a pas regardé des requins en se disant « ouaaa trop cool, j'en veux ! », d'ailleurs leurs codes génétiques diffèrent même pour cela.

Chez les Logiciels, même topo, regardez des navigateurs comme Firefox/Konqueror/Epiphany/Seamonkey, leurs apparences sont très semblables à la première impression. Je suis sûr que si vous utilisez Firefox et que vous testez Konqueror une seule fois, vous vous y retrouverez rapidement. Car l'interface graphique des navigateurs convergent vers une interface assez similaire car c'est sans doute la plus efficace pour cette tâche. Ou encore KDE et GNOME avec les 2 autres OS propriétaires, il y a des similitudes car bon il n'y a pas 10 façons de faire une interface graphique intuitive et la notion de barres et de barre des tâches était sans doute la meilleure, d'ailleurs d'autres environnements reprennent ce principe...

La destruction des espèces

La sélection naturelle est une loi inéluctable, l'espèce la plus forte s'impose et les autres meurent progressivement. C'est ainsi que l'Homme de Néandertal est mort il y a plusieurs milliers d'années suite à un réchauffement naturel du climat alors qu'il avait une corpulence pour supporter le froid. Contrairement à l'Homo Sapiens qui était moins trapu a pu tenir ce changement de conditions.

Le Logiciel Libre suit cette logique, plus un projet aura un public large, plus il s'imposera et les petits projets quant à eux perdront du public et des développeurs jusqu'à ce que le développement du logiciel meurt car le logiciel évolue trop lentement. Regardez -encore une fois- le cas Ubuntu. Avant Ubuntu il n'y avait en somme qu'une distribution grand public : Mandrake (la vieille époque hein ? ;)), ce marché était en berne et Mandrake avait des imperfections qui faisaient que le grand public avait plus de mal à venir. L'arrivée de Ubuntu en quelques mois a changé la donne pour se mettre en avant et reléguer Mandrake au second plan qui n'a pas réussit à tenir à la comparaison et à la force médiatique et marketing de Ubuntu. Ce changement d'environnement a bouleversé l'écosystème du Logiciel Libre tout comme l'Homme dans la Nature. Mais il est possible qu'un changement puisse inverser la tendance et supprime Ubuntu à tout jamais... Wait&see.

Le risque d'une imposition/monopole

Mais le problème que Ubuntu a embarqué comme l'Homme dans la Nature, c'est que l'ensemble modifie l'écosystème et risque de détruire un certain équilibre. L'Homme est ce qu'on appelle un super-prédateur, comme quelques rares animaux (comme l'ours), l'Homme n'a aucun prédateur naturel réel, il est donc au sommet. Et son action peut détruire à lui seul la survie de plusieurs centaines d'espèces diverses même parfois sans grandes importances. Le problème que Ubuntu pourrait créer, c'est de s'imposer au sein de la communauté et avec la force des médias la confusion GNU/Linux et Ubuntu se créent ce qui fait que le gens abandonneront leurs projets et distributions au profit de cette dernière qui prendra en importance. Et si l'industrie de l'informatique et la communauté tournent le dos aux plus petits projets suite à ça, ça sera leur mort assuré ou presque et seuls les plus grands survivront. Ce phénomène nuit à la diversité qui comme la théorie de l'évolution le montre, est la plus profitable au final.

Une diversité incontrôlable ?

Est-ce que cette diversité est réellement nuisible ? En réalité non, la Nature étant bien faite, le monde s'auto-régule naturellement via la théorie de l'évolution qui permet aux seules espèces les plus adaptées à l'environnement de survivre. Seulement certaines espèces peuvent avoir une plus grande influence sur l'environnement et accentuer le processus. Ceci dit il y a peu de risque que cette diversité soit incontrôlable. Par exemple on dit souvent qu'il y a plein de petits projets, il est vrai que quand on voit certaines distributions qui n'ont que un menu qui change par rapport à la première, on se demande qu'elle est l'utilité.

Mais il faut laisser faire, ces distributions tiendront tant que cela répond à un besoin, car après tout si elle ne répond à aucun besoin, à la fin sa communauté va disparaitre et de par la même occasion, les développeurs et donc le projet. D'ailleurs si on regarde bien, il n'existe qu'une vingtaine de distributions très connues sur plusieurs centaines qui sombrent dans l'oubli, ces 20 distributions (voire même 10) répondent quasiment à l'ensemble des besoins les plus généralistes, c'est sûr que de la distribution spéciale musique cela intéresse moins de monde qu'une Ubuntu mais cela n'enlève pas l'utilité de la première. Et si on regarde mieux encore, dans ces distributions, certains sont parmi les plus anciennes distributions comme SuSE, Debian, Red Hat, Slackware ou autres et leurs communautés ne désemplissent pas, les autres naissent et meurent en vain de trouver du succès à part quelques exceptions comme Mandrake ou Ubuntu...

Certains décrieront une dispersion de l'énergie, c'est vrai qu'il y en a. Mais qui sait leurs projets a peut être une utilité ou pourrait révolutionner l'écosystème de GNU/Linux. Puis d'un autre côté, changer la position d'un menu ne demande pas les mêmes compétences que pour créer un noyau révolutionnaire. Il y a donc un certains équilibre et la perte d'énergie est rapidement compensé. Le tout est que les Logiciels Libres ne se créent pas des incompatibilités entre eux de manière trop violente.

Conclusion

J'espère que cet article suite à des analogies assez connues je pense vous aideront à comprendre les biens faits de la diversité du Logiciel Libre et en quoi elle n'est pas destructive.
Ce message n'est pas un troll ni envers Ubuntu ni aucun autre projet et l'ensemble de ce message est applicable à l'ensemble des Logiciels Libres. Pour conclure mon exemple pour montrer les bien faits de la diversité : The GIMP est le plus puissant Logiciel Libre d'édition de l'image mais pour redimensionner la taille d'une photo c'est utiliser un tank pour tuer une mouche, trop lourd, c'est là que KolourPaint prend son sens car plus léger et simple puis ImageMagick qui est encore plus efficace mais un poil moins sexy à l'usage sans doute. Chacun a donc son public et son usage pourtant dans un même domaine.

Haut de page