Un problème de gouvernance autour de Node.JS a entrainé la création d'un nouveau fork baptisé Ayo.js. Sur le papier, le fork Ayo.js repose sur le moteur JavaScript Chrome V8 de Google. Il fonctionne selon un modèle I/O non bloquant, orienté événement, ce qui le rend plus léger et plus efficace. Or, ces caractéristiques sont exactement celles de Node.js. Et sur GitHub, un grand nombre de liens dans la documentation de Ayo.js redirigent toujours vers le référentiel de Node.js.
Il y a deux ans, un premier conflit sur les directions techniques de Node.js avait donné naissance au fork IO.js, intégré plus tard à Node.js. Mais la création du nouveau fork Ayo.js semble plus motivée par un conflit de personnes au sein de la communauté, qui a peu de chose à voir avec la technologie. C’est le tweet soutenant un article du code de bonne conduite envoyé par un membre du comité de pilotage technique de Node.js, Rod Vagg, par ailleurs Node Officer chez le fournisseur de Node.js, NodeSource, jugé très provocateur par les membres de la communauté Node.js, qui a déclenché le conflit. Ces derniers lui reprochent également de ne pas avoir respecté le processus de modération de Node.js.
Lors d’un vote très serré, le comité de direction technique de Node.js, le Technical Steering Committee (TSC), a refusé de demander à Rod Vagg de démissionner. Mais quatre membres du TSC, Anna Henningsen, Bryan Hughes, Myles Borins et Jeremiah Senkpiel, ont démissionné. Depuis, le conseil d'administration de Node.js a demandé au TSC de « reconsidérer sa position et de suspendre de toute participation active au comité de direction l'individu impliqué jusqu'à ce que la question soit résolue ». Mark Hinkle, directeur exécutif de la fondation, espère que « les membres arriveront à un accord, y compris avec le soutien de ceux qui ont récemment démissionné ».
Un modèle de gouvernance différent
Ce conflit récent à l’origine du fork Ayo.js, déclenché par Rod Vagg, pourrait avoir d’autres conséquences. Si l’on en croit la documentation disponible dans le référentiel, la création du nouveau fork n’est pas uniquement liée aux propos du membre du comité de pilotage technique. Un texte précisant les valeurs d'Ayo.js indique que la plate-forme « envisage une autre forme de relation avec les entreprises de sorte que les individus, et non les sociétés qui les emploient, restent maîtres de la direction du projet ». Ayo.js veut adopter un modèle de gouvernance ouvert. Ajo.js n’a pas encore donné de détail sur ses orientations en matière de sécurité et de vérification des binaires, ni communiqué la liste des membres de l'équipe du projet. Mais, comme Node.js, Ayo.js prévoit de livrer des versions Current et LTS (Long Term Support).
Cependant, la vie du fork Ayo.js pourrait être de courte durée, surtout si les dissensions internes sont apaisées et si le désir d'unité de la communauté Node.js prend le dessus. C'est ce qui s’était passé avec IO.js. Même si les enjeux étaient plus techniques, les conflits, qui impliquaient les mêmes membres que ceux travaillant sur Node.js, ont été surmontés et l’équipe a pu aller de l’avant.