L'on entend souvent dire qu'il est difficile de lever des fonds pour le développement de projets open source au point qu'il est dit que "l'open source est un destin qui ne fait pas de l'argent". Le développeur de la bibliothèque open source faker.js est récemment sorti de ses gonds pour détruire faker.js qu'il avait développée en raison de la difficulté de monétisation. Dans l'un des messages du développeur sur GitHub datant de novembre 2020, il a déclaré qu'il ne veut plus faire de travail gratuit. « Avec tout mon respect, je ne vais plus soutenir les Fortune 500 (et d'autres entreprises de plus petite taille) avec mon travail gratuit », disait-il.
« Saisissez cela comme une opportunité de m'envoyer un contrat annuel à six chiffres ou de forker le projet et demander à quelqu'un d'autre de travailler dessus ». Il n'a sans doute pas eu une suite favorable à sa demande, ce qui l'a conduit début janvier à corrompre deux des bibliothèques qu'il a lui-même conçues, facker.js et "colors.js", causant de ce fait des dommages à des millions de projets qui en dépendent. Squires a introduit un commit dans colors.js qui ajoute un nouveau module de drapeau américain, ainsi que le déploiement de la version 6.6.6 de faker.js, déclenchant la même tournure destructrice des événements.
Les versions sabotées amènent les applications à produire à l'infini des lettres et des symboles étranges, commençant par trois lignes de texte qui se lisent « LIBERTY LIBERTY LIBERTY ». Les utilisateurs ont bien évidemment compris que les bibliothèques venaient d'être compromises, mais étaient loin de s'imaginer que la personne à l'origine de la compromission est Squires lui-même. Il a bloqué des milliers de projets. Pour vous donner une idée de l'ampleur des dégâts, la bibliothèque colors.js a eu plus de 20 millions de téléchargements hebdomadaires uniquement sur npm et il y aurait près de 19 000 projets qui en dépendent.
De son côté, faker.js a eu plus de 2,8 millions de téléchargements hebdomadaires sur npm et plus de 2 500 utilisateurs. En réponse au geste de Squires, faker.js a été transformé en projet communautaire. Les tentatives pour le faire ont commencé. Facker.js, qui n'a existé que sur GitHub jusqu'à sa suppression par Squires au début du mois, a à présent un site Web selon lequel le développement de la bibliothèque sera maintenant assuré par une nouvelle équipe de huit personnes. Sur le site Web, il est également fait référence à la suppression par Squires. Selon la nouvelle équipe, "Squires a joué un mauvais tour à la communauté".
« Le projet Faker était géré par Marak Squires, un passionné de Node et un professionnel qui s'est mis en colère et a agi de manière malveillante le 4 janvier 2022. Le package a été supprimé et le projet a été abandonné. Nous avons maintenant transformé Faker en un projet contrôlé par la communauté, actuellement géré par huit ingénieurs issus de divers horizons et entreprises », indique le tout nouveau site Web de faker.js. Squires n'a pas commenté ces déclarations sur Twitter. Il a annoncé avoir corrigé le bogue Zaglo dans la bibliothèque JavaScript colors.js, mais ne pas avoir pu le télécharger sur le gestionnaire de paquets npm.
Depuis la suppression de faker.js début janvier 2022, la communauté et d'autres programmeurs intéressés discutent activement du sujet. Certains utilisateurs montrent d'une part de la compréhension pour l'action de Squires, qui a supprimé faker.js, mais ils continuent d'exprimer leur mécontentement face à cette action. En effet, malgré les ravages provoqués, le symbole du développeur open source modeste se dressant contre les grandes et riches entreprises qui profitaient de lui a énormément résonné dans les discussions sur les forums spécialisés. En outre, le rôle de GitHub dans cette affaire est également remis en question.
Certains ne sont pas d'accord avec le Fait que GitHub ait bloqué le compte de Squires. Par exemple, Angelina Fabbro, directrice de l'ingénierie chez Splice, a déclaré sur Twitter : « GitHub suspend le compte de quelqu'un pour avoir modifié son propre code dans un projet qu'il possède me fait bien plus peur que npm qui annule un paquet. J'aime un peu ce que Marak a fait pour se faire entendre et protester. Si ces entreprises et leur infrastructure sont si fragiles qu'un ou deux packages qui changent ou disparaissent font des ravages, disons-le, leur modèle de risque est nul (c'est en fait le cas de toutes les entreprises technologiques) ».
« Il y a une chose qui me fait sangloter et rire. Où était l'assurance qualité ? Vous mettez simplement à jour automatiquement les packages et n'exécutez pas de tests de régression avant de publier une nouvelle version de votre logiciel ? C'est gênant », a-t-elle ajouté. Plusieurs personnes ont estimé que la suspension du compte de Squires était déraisonnable puisqu'il s'agissait de son propre code. GitHub a décidé plus tard de restaurer le compte de Squires, qui semble désormais être accessible. Quoi qu'il en soit, le comportement de Squires a à nouveau soulevé la question de la "surdépendance" des projets vis-à-vis des bibliothèques tierces.
Source : Faker.js
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la décision de cette équipe de relancer le projet faker.js ? En ont-ils le droit ?
GitHub avait-il le droit de suspendre temporairement le compte de Squires ? Ce dernier avait-il violé une politique de la plateforme ?
Que pensez-vous de la "surdépendance" des projets vis-à-vis des bibliothèques tierces ?
Voir aussi
GitHub restaure le compte du dev qui a intentionnellement corrompu ses bibliothèques, certains développeurs estiment que la suspension était déraisonnable puisqu'il s'agissait de son propre code
Un développeur sabote ses propres bibliothèques open source, puis prétend qu'Aaron Swartz a été assassiné, tandis que des milliers d'applications qui s'en servent sont perturbées
Un dev open source aurait volontairement corrompu des bibliothèques largement utilisées, affectant des tonnes de projets. Il avait précédemment demandé à être rémunéré pour son travail