Navigateur web open source, monoculture ou mutualisation de la Recherche et Développement ?
L’éditeur du navigateur Opera jette l’éponge et renonce à développer son propre moteur de rendu pour l’affichage des pages web. Un renoncement qui se fait au profit du moteur de rendu open source Webkit. Un abandon qui réduit à trois le nombre de moteurs dans le monde des navigateurs web. Faut-il y voir un risque pour l’innovation et la diversité ou un signe de maturité ?
Opéra abandonne son moteur de rendu Presto
L’annonce est tombée la semaine dernière. Opera, le navigateur web abandonne le développement de son moteur de rendu Presto pour passer à WebKit. Le moteur de rendu est la pierre angulaire de tout navigateur web. C’est lui qui se charge d’afficher la page web dans le navigateur en fonction du code HMTL et des fichiers de styles.
Mais voilà développer son propre moteur, cela coûte cher. D’autant plus cher quand les équivalents open source sont arrivés au même niveau que vous. C’est le constat qu’a fait Opera et qui l’a poussé à cette décision pragmatique.
Et pourquoi pas le moteur de Mozilla ?
Tout d’abord à cause de la licence sous laquelle est disponible Webkit : la licence BSD. La grande permissivité de la licence BSD était parfaitement adaptée :
- Possibilité d’inclure Webkit dans le navigateur à code fermé que reste Opera ;
- Pas d’obligation de reverser d’éventuelles modifications ;
Bref la liberté totale pour Opera.
Le moteur de rendu Gecko de Mozilla est lui aussi disponible sous une licence permissive : la licence MPL. Cependant cette permissivité est moins importante que celle de la licence BSD. En effet, les modifications éventuellement apportées à Gecko auraient du être rendues publiques.
Mais ce n’est probablement pas uniquement cet aspect qui a motivé les dirigeants d’Opera. C’est aussi une question de communauté. Avec WebKit, Opera rejoint un club d’entreprises et pas des moindres : Google, Apple, Nokia.
Mutualisation de l’offre
C’est une tendance forte du développement récent de l’open source. Par récent j’entends ces dix dernières années. Après le temps des geeks et des communautaires est arrivé celui des marchands. Ces derniers ont trouvé dans l’ouverture du code un formidable moyen de mutualiser leurs travaux de Recherche et Développement. Une approche qui va de pair bien souvent avec des licences fortement permissives.
Je n’hésite pas à militer régulièrement pour une forme de mutualisation et surtout d’arrêt de la tendance, semble-t-il sans fond du logiciel libre à se diviser, faire et refaire sans cesse les mêmes programmes pour les mêmes usages. A cela, on me répond toujours que c’est normal et sain et que c’est de là que naissent les grandes innovations.
Certes, il faut de la diversité, mais une diversité « raisonnée ». Assiste-t-on dans le domaine des navigateurs web sous la poussée des « marchands » à une saine mutualisation ? Le paysage se réduit effectivement à trois moteurs de rendu à ce jour : celui de Microsoft qui équipe Internet Explorer, Webkit et Gecko. Faut-il craindre une monoculture des navigateurs web néfaste à l’innovation ?
Monoculture ?
Si l’on fait abstraction du fait qu’Opera libérera peut-être le code de son moteur Presto, trois moteurs de rendu n’est-ce pas suffisant pour garantir la poursuite de l’innovation ? En l’état actuel et des parts de marché des navigateurs web relativement équilibrées, je pense que oui. Je vous laisse donner votre avis dans le sondage en fin d’article à ce sujet.
Mais il faut prendre en compte un point important. C’est que Gecko est porté par Mozilla dont l’essentiel du financement vient de Google. Résultat : l’argent qui sert aujourd’hui à financer les deux principaux moteurs de rendu open source sort des poches de Google.
C’est peut-être davantage dans cette dépendance financière que repose le risque de voir Google et d’autres tenter d’imposer la « norme ». Tout dépendra de la volonté de Mozilla de ne pas froisser son principal et unique sponsor. Une faiblesse dont il faudra bien un jour que Mozilla parvienne à s’extirper. Car c’est bien là que réside le risque aujourd’hui pour le web.
Si les parts de marché sont relativement équilibré globalement, ce n’est pas du tout le cas en ce qui concerne le marché des smartphones et des tablettes. Et c’est là qu’il y a un risque de monoculture qui pourrait se propager à l’ensemble du marché.
De grosse imprecisions et des racourcis trop rapide m’empeche de prendre au serieux cet article :
1/ Webkit est en LGPL (http://www.webkit.org/coding/lgpl-license.html) : normale puissque issue de KHTML en LGPL
NOTE: certaine partie son BSD mais les 2 principales (WebKit’s WebCore and JavaScriptCore) fork de KHTML et KJS sont LGPL.
Cela ne change rien pour Opera il peuvent l’inclure dans leur soft proprietaire mais a la difference de la licence BSD la licence LGPL oblige a rendre les modifications publiques.
2/ Ce n’est surement pas la licence qui a empeche Gecko d’etre choisi car Gecko est disponible en LGPL egalement… Mais comme pour tout les projets de navigateur ayant tous choisi webkit : la simplicite et la maintenabilite du code de webkit compare a celle de Gecko (je dis pas que Gecko est mauvais, juste le code est plus vieux et a part mozilla personne ne se lance dans l’aventure avec)
J’avais essaye il y a 5 ans d’inclure Gecko dans un projet et j’ai decouvert que ce n’etait pas du tout facile a realiser (j’avais fini par choisir KHTML bien plus simple) -> en fait a l’epoque pour inclure Gecko il fallait quasiment inclure tout firefox alors que webkit est un moteur de rendu vraiment independant et « bidouillable »
@tranche : soit pour les imprécisions concernant la licence de webkit, cela montre bien que rien n’est jamais simple de ce point de bue. Je réclame l’indulgence du jury 🙂
Reste la question de fond que je pose dans cet article. 3 moteurs est-ce suffisant ou pas ?
Si je prends en compte cette donnée que Gecko n’est guère utilisable ailleurs que chez Mozilla, nous voilà donc dans une situation quelque peu différente… Maintenant, on sait aussi que plus il y a d’acteurs autour d’un projet, plus cela neutralise la dominance de certains… Webkit dominé uniquement pas des sociétés dont les logiciels et services sont fermés est-positif ? Dans ce sens un ralliement de Mozilla à webkit n’aurait-il pas un sens (question troll) ? Oui, mais c’est Google qui finance (en toute indépendance) Mozilla…
Maintenant, s’il ne devait en rester qu’un (d’open source) ce sont peut-être aussi des milliers d’heures d’économiser en test pour les développeurs d’appli web… Une façon de leur faire préférer le web plutôt que les applis pour le marché des smartphones et tablettes comme le fait remarquer @tienslebien ?
Ça en fait des questions à débattre 🙂
Pour le ralliement de mozilla a webkit : NON mozilla a besoin de son moteur pour pouvoir y faire ses propres experimentations et y proposer ses standards cf les webAPI (https://wiki.mozilla.org/index.php?title=WebAPI ) necessaire a boot 2 gecko par exemple, et en concurence avec les API WAC implementees dans le webkit de Tizen.
C’est quelque chose qui sera maintenant difficile a faire pour Opera : des experimentations et des propositions avancees. Car maintenant qu’ils font du webkit si ils font un truc dans leurs coin qui devient incompatible avec le webkit officiel il se retrouveront dans l’obligation de soit porter leur code soit faire entendre raison a tous les autres acteurs de webkit soit maintenir un fork et tous les tests qui vont avec.
C’est dommage car Opera et Mozilla sont 2 grandes force de propostions (independantes de grand groupe commerciaux) au seins du W3C, j’espere que de ne plus avoir leur propre moteur ne donnera pas moins d’importance a opera.
Maintenant pour repondre a la question : A mon humble avis, le nombre de moteurs doit etre superieur a 2 et les acteurs doivent le plus possible avoir comme objectif le web pour tous et sur toutes les platformes (pas comme microsoft avec son Silverlight ou Google son Native client, et je parlerai pas de flash et des applets JAVA)
NOTE: pour Gecko j’ai peut etre ete dure mais c’est la realite seul mozilla est capable d’utiliser ce code tres complexe et d’un design assez ancien. Cela dit les devellopeurs Mozilla sont tres bon et en plus de maintenir parfaitement dans la course Gecko, ils travaillent a l’avenir : Servo (un nouveau moteur de rendu dans un nouveau langage : RUST) et je leurs souhaite de reussir (http://en.wikipedia.org/wiki/Servo_%28layout_engine%29 , + de details ici :
Pour l’erreur de philippe coté licence … a force de licences on ne s’y retrouve plus 😉 alors même qu’une seule licence a tiroir … du Proprio au Full Permissive serait plus adéquat !
Quand au nombre de moteur … qu’il y en ai deux dont un proprio … pourquoi pas ! Mais pourquoi plus coté Libre ? Pour encore disperser le libre ? Lui faire gacher des ressources de temps donc d’argent, donc d’emplois, donc aussi d’énergies pour fabriquer des ordi et bien sur surtout consommer l’électricité !
L’imagination, le progrès, n’est pas qu’une question de compétitivité !
Dans le cas contraire on aurait jamais eu d’évolution dans les Arts …
Regardez par exemple les évolutions dans la monotypie voileuse ! Tous le même bateau !
Empêche t elle l’imagination et la progression ? Que nenni ! Bien au contraire ! Et en plus elles est plus économique et rend la chose accessible au plus grand nombre a moindre couts !
Quand à l’imagination dans la compétivité … elle est souvent pauvre en comparaison de l’imagination dans la coopération ! En plus la compétitive est majoritairement liée au commerce, etc !
On en voit par exemple les dégâts de l’olympisme de nos jours ! Que dire du foot !
Coté libre … Hum …