GROS LAPSUS au moment de la mise en ligne de ce billet, le titre est évidemment XUL est mort et non Mozilla est mort :S

Ce billet n'est que le reflet de mon état d'esprit actuel, de ce que je ressens à la lecture de différents canaux d'information sur Mozilla, essentiellement les blogs et leurs commentaires, et des discussions entre Mozilliens. C'est un ressenti et une tentative de réfléchir un peu avant de me réfugier dans l'amertume et le trollage.

Le futur est au Web

Je suis depuis longtemps persuadé que l'avenir des applications pour périphériques mobiles passe par le Web plutôt que des développements natifs à chaque plateforme. Mais j'avais jusqu'à présent refusé de pousser la logique jusqu'au bout, de l'appliquer au PC. Je viens d'un temps où le PC était roi et les téléphones des gadgets tout juste capables de faire tourner poussivement Tetris. Mais je dois me rendre à l'évidence: le PC ne sera bientôt plus qu'un périphérique comme un autre, et l'évolution entamée sur les mobiles ne l'épargnera pas. En d'autres termes, sous peu, les applications Web vont prendre le pas sur les applications natives. Pas pour tout bien sûr, il y aura toujours des niches où l'on aura besoin d'applications "lourdes". Mais ces niches vont se réduire. Pour la messagerie déjà, et bon nombre de fonctions de communication, les Webmails et les applications Web ont supplanté les clients lourds. La bureautique suit peu à peu, les jeux aussi, le traitement en ligne de photos, son, vidéos, devient chaque jour plus envisageable. Ce n'est plus qu'une question de mois avant que des applications Web ne puissent répondre à l'essentiel de nos besoins[1].

La conséquence est évidente: les applications clientes lourdes n'ont d'avenir que dans des niches. Mozilla veut rendre Internet meilleur pour l'ensemble des internautes. Maintenir une plateforme de développement pour applications lourdes n'entre pas dans cette mission: donc Mozilla va cesser de défendre et de développer la plateforme XUL.

XUL n'est par mort pour autant. Par bien des aspects, lui et ses technologies sœurs (XBL, XPCom, etc) sont pour l'instant irremplaçables. Mozilla va encore les utiliser pendant quelque temps dans Firefox, même si je pense que leur remplacement par une interface entièrement en HTML n'est qu'une question d'années. Mais l'écosystème qui depuis longtemps s'est développé autour de ces technologies est lui sérieusement menacé.

Chronique d'un abandon annoncé

L'abandon de la plateforme XUL ne devrait être une surprise pour personne. Il est implicite depuis des mois. Mais comme il n'a jamais été officiellement annoncé, je refusais de voir la réalité, j'étais dans le déni. Aujourd'hui, vu la mauvaise tournure que prennent les évènements, je pense qu'il est temps de crever l'abcès, de cesser d'être dans le déni, de regarder la vérité en face.

Car si Mozilla n'a jamais dit ouvertement arrêter de s'occuper de la plateforme, c'est implicite dans l'évolution de sa communication et dans de nombreux documents publiés ces derniers temps.

Le Manifeste parle d'Internet (le mot est cité 21 fois, contre une seule fois pour Web). La description de la mission de Mozilla, plus récente je crois, ne parle elle plus que du Web: Mozilla's mission is to promote openness, innovation and opportunity on the web. Le reste des usages d'internet n'est donc plus au cœur des préoccupations de la Fondation. Il y a quelques années, elle développait un navigateur Web, un logiciel de messagerie et une plateforme permettant de créer des logiciels pour d'autres usages du réseau. Aujourd'hui, elle ne semble savoir que faire de Thunderbird, et la plateforme n'est plus du tout mise en avant.

C'est encore plus clair dans l'un des meilleurs documents que j'ai trouvé pour éclairer la stratégie actuelle de Mozilla: la feuille de route de Firefox pour 2011[2]. Elle dit explicitement Our mission is to promote an Open Web Platform which is the most compelling environment for modern applications. Dit autrement, le Web est la plateforme d'avenir, la seule que nous défendons. Dans l'ensemble du document, comportant pourtant quelques parties techniques, XUL n'est pas cité une seule fois.

Il suffit donc de lire pour réaliser que Mozilla est en train d'abandonner la plateforme. Une plateforme qui pourtant a grandement contribué à son actuel succès.

Séquence nostalgie

Je fais partie des développeurs pour lesquels la plateforme Mozilla avait suscité de l'espoir dès le début des années 2000. Pour qui a touché au développement d'applications "lourdes" et se souvient du bordel que c'était (c'est ?), Mozilla offrait une solution simple, élégante et multi-plateforme. Un socle solide permettant de créer facilement et rapidement des applications, avec un minimum de connaissances techniques (XML, JavaScript, CSS). L'environnement était de plus extensible pour qui en avait besoin via des bibliothèques externes. Mozilla promouvait l'utilisation des technologies, et en a fait une véritable la plateforme: le cœur en a été extrait, devenant un moteur d'exécution à part entière, XulRunner, au dessus duquel s'exécutent les applications de la Fondation, Firefox et Thunderbird.

Entre ses qualités techniques et le soutien implicite de Mozilla via la création de XulRunner, beaucoup ont cru en cette plateforme et l'ont adoptée avec enthousiasme. Le wiki de Mozilla liste une cinquantaine d'applications basées sur XulRunner et plus encore d'autres utilisant certaines des technologies de la plateforme. Parmi les dizaines de milliers d'extensions disponibles pour Firefox, bon nombre sont bien plus que des bookmarklets améliorées (ce que sont les extensions Chrome <troll>ou Jetpack dans Firefox</troll>). Elles n'ont étés rendues possibles que parce qu'elles ont pu accéder au cœur du navigateur, se brancher dans l'interface avec les overlays, la bidouiller en XUL, utiliser des composants binaires externes avec XPCOM. Si Firefox n'avait pas été bâti sur une plateforme, nous n'aurions pas eu autant d'extensions. Et je suis sûr qu'il n'aurait pas eu un tel succès. Les extensions ont été un formidable terrain d'expérimentation pour bidouiller le navigateur et étendre ses capacités dans de nombreuses directions inédites. Les extensions ont permis de réellement personnaliser Firefox. Je n'utilise pas un navigateur nommé Firefox, j'utilise mes propres navigateurs, adaptés à mes besoins, l'un outil pour surfer protégé, un autre pour développer… Par leurs contributions au code, par leurs apports à l'expérience utilisateur des internautes, tous ces développeurs XUL ont grandement contribué aux succès tant de Mozilla que du Web.

Les histoires d'amour finissent mal…

Aujourd'hui, ces développeurs se retrouvent abandonnés et, quelque part trahis. Lorsqu'on a passé des années à s'investir sur une technologie, son abandon par son créateur est pour le moins douloureux. Et encore plus douloureux lorsque la communication autour de cet abandon est mal faite. La situation actuelle est détestable, faute de position claire sur le sujet se multiplient les débats avec leurs lots de trolls, de phrases définitives, de pathos et de drames. Les décisions mal assumées ou mal expliquées, les phrases maladroites, les trolls stériles peuvent faire énormément de mal. Les séparations sont rarement des moments joyeux. Celle-ci est en train de virer au tragique. Les récents débats, certains propos lus, m'ont rappelé la tristement célèbre « courbe du deuil » et surtout l'utilisation qui en est faite par les "managers" chargés d'organiser le changement dans de grosses sociétés[3]. La comparaison est sans doute méchante, excessive, mais c'est l'image qui m'est venue lorsque j'ai lu certain responsables de Mozilla entonner un "marche ou crève". Les développeurs d'extension devront s'adapter, marcher, migrer vers JetPack, ou crever. Idem pour ceux développant des applications tierces: passe à js-ctype, recompiler toutes les 6 semaines, ou crever. Ce sont des propos particulièrement durs, violents, adressés à des gens qui ont tant contribué au succès de Mozilla et que l'on abandonne sur le bord du chemin.

Je ne discute pas du fond, car je pense que la décision de ne plus soutenir la plateforme est la bonne pour Mozilla. Le but de la Fondation et de promouvoir l'ouverture et l'innovation sur le Web. Dans le contexte actuel, avec l'arrivée de Chrome qui a fortement relancé la compétition et Microsoft qui semble enfin réellement se réveiller, Mozilla doit se concentrer sur Firefox pour qu'il reste techniquement crédible, donc continue d'attirer un nombre suffisant d'internautes pour pouvoir peser sur les évolutions du Web (on l'a vu par exemple lors des débats sur les codecs pour la balise Video: le refus de Firefox d'implémenter le format H264 n'a de poids que parce qu'il impacte un tiers des internautes). Je comprend et approuve que Mozilla mette l'essentiel de ses forces dans Firefox, je comprend également que cela implique de considérer le navigateur comme une application à part entière, optimisée de base en haut, et non plus comme un client s'exécutant au dessus d'un moteur d'exécution.

Mais je conteste fortement le calendrier, la méthode et l'absence de communication.

Le calendrier, parce que malgré toutes ses évolutions, HTML ne sera pas à mon avis crédible "sur le bureau" avant plusieurs années. Dans l'intervalle, on a encore besoin de XulRunner. Prenons l'exemple du mail. Je suis persuadé que l'avenir est aux Webmail, que les clients lourds sont condamnés (du moins chez les particuliers). Pourtant, il leur reste une fonctionnalité que je ne vois pas les Webmails implémenter à court terme: la sauvegarde locale des mails. L'archivage de ses mails sur son disque pour les sauvegarder sur d'autres supports, etc. Je sais que certains font déjà confiance au Nuage pour cela. Mais beaucoup d'internautes veulent encore avoir des copies locales, et tant que les Webmails ne le permettront pas facilement, nous aurons besoin de Thunderbird, donc de XulRunner.

La méthode parce que je l'ai dit, certains propos sont particulièrement violents et à mon sens inacceptables.

La communication enfin, car comme lors du récent débat sur l'intérêt de Mozilla pour les entreprises, je la trouve mauvaise. Mozilla sait lancer de jolies campagnes de marketing à destination du grand public, mais j'ai l'impression que la Fondation a beaucoup plus de mal à communiquer avec ses fans. L'abandon de XUL est déjà assez douloureux à vivre, ne rendons pas les choses encore plus difficiles en ne disant pas les choses clairement. J'aimerais que, si Mozilla ne soutient plus la plateforme XUL, elle l'annonce officiellement.

Alors Mozilla, s'il te plait, exprime toi, sans langue de bois, sur tes intentions vis à vis de la plateforme.

Yes future ?

Je voudrais finir ce billet sur une note un peu plus optimiste. Si Mozilla arrête de soutenir la plateforme, ça sera un coup rude, mais ne signifiera pas forcément la mort de la technologie. Je pense que quoi qu'il arrive, elle a encore de beaux jours devant elle, tant de par ses qualités propres que par la valeur des développeurs qui l'investissent. L'abandon de la suite Mozilla au profit de Firefox, Thunderbird et Composer a donné naissance au projet SeaMonkey. Qui sait si l'annonce de la fin du soutien de Mozilla à la plateforme XUL ne provoquerait pas un sursaut de la part de l'ensemble des développeurs de l'écosystème pour créer un projet spécifique. Il serait certes autrement ambitieux, car il ne s'agirait plus de bâtir des applications sur un socle maintenu par Mozilla, mais bien de prendre en charge la maintenance d'une version spécifique de ce socle lui-même. Bref, pour le coup, de forker XulRunner. Laisser Mozilla en développer une version optimisée pour Firefox, et probablement à terme réintégrée avec le navigateur, et créer à partir de l'existant une branche spécifique permettant le développement d'applications clientes multi-plateformes lourdes. Beaucoup de gens ont besoin de cette version de la plateforme. Tant les très nombreux projets qui se basent dessus, dont certains développés par des entreprises qui ont quelques moyens, que certains utilisateurs actuels de Firefox et Thunderbird (entreprises, administrations). Ceux qui ne peuvent ni ne veulent suivre le nouveau rythme de sortie de Firefox, mais ont besoin de produits stables sur de longues périodes. J'ai cru entendre qu'au sein même de Mozilla, certains développeurs du cœur ne seraient pas contre donner un coup de main à un tel projet, ne serait-ce que pour rétro-porter les correctifs de sécurité. De nombreuses sociétés commerciales y auraient sans doute un marche. L'écosystème XUL n'est donc pas condamné à court terme, certaines conditions sont réunies qui permettent d'espérer.

Mais encore une fois, pour que cet avenir s'éclaircisse, il faudrait lever les doutes, les incertitudes. Il faudrait que Mozilla s'exprime explicitement sur ses intentions à long terme vis-à-vis de la plateforme. Cela permettrait peut-être à la créature, enfin sûre de ne plus avoir grand-chose à attendre de son créateur, de rebondir. J'espère que cette clarification va venir rapidement, avant que trop de gens n'aient quitté le navire, dégoûtés, avant que la confiance et le respect entre gens unis dans un projet par un même idéal n'aient volés en éclats.

Notes

[1] je passe sous silence l'aspect "moral" de cette évolution, elle n'est pas l'objet de ce billet

[2] c'est d'ailleurs intéressant: en 2008, Mitchell Baker avait lancé une réflexion sur les objectifs de Mozilla d'ici 2010. Je n'ai pas trouvé de document plus récent concernant le projet Mozilla dans son ensemble, juste Firefox. Si vous en connaissez, merci de me les signaler

[3] l'exemple le plus emblématique est France Telecom