Aller au contenu | Aller au menu | Aller à la recherche

Dans les entrailles du Libre

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.

Commentaires

1. Le dimanche, décembre 21 2008, 21:49 par cosmocat

c'est un peu dommage de prendre Ubuntu et Debian pour l'exemple du fork étant donné que s'en est pas un.... Ubuntu se base sur Debian car il y a resynchro sur la branche de Debian à chaque version de Ubuntu.
Mandrake était un fork de redhat par exemple ; le jour où gael Duval a réussi à installé kde automatiquement sur une redhat, il a décidé de créer sa distribution, qui ont subi des voeis différentes....

2. Le dimanche, décembre 21 2008, 22:07 par Renault

Je sais que Ubuntu n'est pas en soit un fork, quoique d'un côté on peut dire qu'à l'origine c'était pratiquement le cas. Mais de toute façon c'est une scission entre les développeurs de Debian et ceux qui voulaient une version plus grand publique. Je ne pense pas que la forme du fork de Debian/Ubuntu soit important, ce qui compte c'est l'idée, et l'idée qu'elle véhicule est proche du fork si ce n'est un fork même et en plus beaucoup de monde connait et comprend. Si j'explique pourquoi on a Kaella Linux qui rivalise avec Knoppix, ça aura plus de mal à passer...

3. Le lundi, décembre 22 2008, 00:28 par Bouska

Il faudrait revoir tes cours d'évolution (ou plutôt de formulation), parce que, des fois, tu tends méchamment vers le determinisme. (Je suis en plein dedans ^^).

Il y a pas mal d'endroit où c'est quand même tiré par les cheveux (le coup du fork), même si dans d'autres ça se vérifie. L'endroit où ça ne colle pas du tout entre l'évolution et le logiciel libre, c'est que la seuleloi dans le premier est le hasard tandis que dans le second c'est clairement le determinisme ( l'évolution ne pourra jamais montrer la survie de Hurd :-P)

4. Le lundi, décembre 22 2008, 13:45 par Renault

Bouska, j'étais en plein dedans aussi et je sais que le hasard y joue un rôle primordial dans l'évolution. Ceci dit, je pourrais te dire que la partie de hasard qu'il y a dans le logiciel c'est de savoir s'il fera un succès ou non. Regarde Ubuntu, il a fallu quelques mois pour beaucoup pour se rendre compte du succès qu'elle allait avoir car au début beaucoup (moi y comprit) doutait de cette réussite.

Après oui c'est tiré par les cheveux par endroit, je te l'accorde, mais bon je te dirais que d'appliquer une théorie naturelle à quelque chose d'artificielle l'est également, ceci dit comme la théorie est connue, ça ferait une bonne base pour expliquer le phénomène au combien important au Logiciel Libre.

5. Le mercredi, janvier 14 2009, 08:41 par Poulet

Je comprendrai jamais les gens qui encensent Ubuntu au détriment de Mandrake. Pour moi, la première n'a jamais été une distribution correcte (rien que le partitionnement de disque était bugué dans certaines versions ! De qui se moque-t-on ?), là où la seconde s'est toujours installée. Pas forcément de manière optimale (je me souviens de Mandrake 9 qui, à cause d'un réglage quelque peu... paranoïaque du pare-feu, refusait de se connecter à Internet), mais au moins les outils étaient conviviaux et simples à utiliser.

Et de manière générale, je hais les comparaisons systématiques du logiciel libre à n'importe quoi d'autre qui n'a, a priori, rien à voir. Effectivement, il y a un petit côté "concurrence pure et parfaite" dans le logiciel libre, qui est parfaitement déplaisant à mon avis, dans la mesure où il ne colle pas au développement réel des distributions. Ubuntu a eu du succès grâce à l'immense investissement du fondateur (dont je n'ai pas envie d'écrire le nom, tiens). Après ça, on vient nous dire que l'assemblée nationale choisit Ubuntu plutôt que Mandriva pour des raisons techniques, blabla... je suis désolé, mais non ! L'assemblée nationale choisit Ubuntu pour des raisons financières, parce que dans un cas tu as un financement tiers, et que dans l'autre tu as une société qui se débrouille elle seule.

Et c'est stupide ! Pour une fois qu'on avait une chance de soutenir la diversité, il faut qu'on se base encore sur la théorie libérale et le choix de la meilleure offre parmi les concurrents pour retenir Ubuntu. Et alors ? Les distributions comme Mandriva sont condamnées à disparaître si personne ne fait d'effort pour les maintenir, pas même le pays dans lequel elles font office de modèle de développement économique.

Bon, et puis si on retourne en arrière de quelques années, outre Mandrake, comme distribution grand public, on comptait aussi Red Hat (qui à l'époque n'était pas seulement une distribution destinée aux entreprises...) et Suse. Deux exemples de distributions qui ont fini par péricliter plus ou moins (l'une s'est reconvertie, l'autre n'a pas pu se maintenir sans être rachetée).

Voilà. Je t'avais déjà vu, il me semble, comparer Linux à l'Espéranto, et ça avait été tout aussi odieux pour moi.

6. Le mercredi, janvier 14 2009, 23:34 par Sprank

l'espèce la plus forte s'impose et les autres meurent progressivement.

L'évolution n'a pas d'idéal à atteindre et dire d'une espèce qu'elle est plus forte qu'une autre n'a aucun sens. Les espèces adaptées survives, et celles qui ne s'adaptent pas meurent : c'est tout. Et c'est là que la diversité rentre en jeu car par exemple une espèce qui a un bassin génétique plus diversifié a à priori plus de chances de survivre à un changement majeur qu'une espèce trop... adaptée...

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.

Je te trouve très catégorique sur l'extinction de Néanderthal : à ce que je sache on n'en sait pas grand chose et à l'heure actuelle ce ne sont qu'hypothèses. Et puis il y a probablement plusieurs facteurs qui ont causé sa perte. (Je ne suis pas expert en biologie mais peut-on m'expliquer comment une grande corpulence peut nuire sous la chaleur ? Je peux comprendre le contraire, une petite corpulence sous le froid nuit, mais j'ai de la misère à comprendre comment ce seul facteur aurait pu causer sa disparition)

Pour finir, corrigez-moi si je me trompe, Néanderthal avait un volume crânien supérieur à celui de Cromagnon (donc en théorie un potentiel plus grand par rapport à l'intelligence), et pourtant ce n'est pas lui qui a survécu. Preuve que l'évolution n'a pas de but.

À part ça je trouve que la comparaison se tient quand même bien, même si j'aurais aimé que le lien diversité = potentiel d'adaptation plus fort soit plus abordé.

PS : Il y a au moins 2 fautes dans l'article mais je ne me souviens plus où elles sont.

7. Le mercredi, janvier 14 2009, 23:37 par Sprank

Grosse faute dans mon commentaire : "survives" -> "survivent".

8. Le lundi, janvier 19 2009, 17:28 par Keldar

Je voulais ajouter un commentaire pour saluer cet article que j'ai trouvé d'une grande qualité. (à la différence de pas mal d'autres personnes...)

9. Le jeudi, décembre 3 2009, 02:18 par papillondunord

Un blog est un journal personnel en effet mais surtout un lieu dechange et de partage d idees (tout comme je fais actuellement sur le sujet) Bref, Merci pour les tuyaux, cest tres enrichissant.

10. Le mardi, novembre 30 2010, 14:26 par overflorian

bonjour, je découvre ce blog aujourd'hui : je voulais faire un article sur le sujet mais je vois que tout est déjà dit ! je tweete ça tout de suite :)

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet