IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Stéphane le calme

196PARTAGES

16  0 
Un développeur semble avoir volontairement corrompu une paire de bibliothèques open source sur GitHub et le registre de logiciels npm - "faker.js" et "colors.js" - dont dépendent des milliers d'utilisateurs, rendant inutile tout projet contenant ces bibliothèques. Bien qu'il semble que color.js ait été mis à jour vers une version fonctionnelle, faker.js semble toujours être affecté, mais le problème peut être résolu en rétrogradant vers une version précédente (5.5.3). Dans l'un des messages du développeur sur GitHub datant de novembre 2020, il déclare 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. »

Les utilisateurs des bibliothèques open source populaires « colors » et « faker » ont été stupéfaits après avoir vu leurs applications, utilisant ces bibliothèques, affiché des données ressemblant à du charabia et planter. Certains ont supposé que les bibliothèques NPM avaient été compromises, mais il s'avère qu'il y a beaucoup plus dans l'histoire.

Le développeur de ces bibliothèques a intentionnellement introduit une boucle infinie qui a bloqué des milliers de projets qui dépendent de ces bibliothèques.

La bibliothèque colors a eu plus de 20 millions de téléchargements hebdomadaires uniquement sur npm et compte près de 19 000 projets qui en dépendent. Tandis que, faker a eu plus de 2,8 millions de téléchargements hebdomadaires sur npm et compte plus de 2 500 personnes à charge.

Le développeur de ces deux bibliothèques, Marak Squires, a introduit un commit (une révision de fichier sur GitHub) dans colours.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 ».


Plus curieusement encore, le fichier Lisez-moi de faker.js a également été remplacé par « Que s'est-il réellement passé avec Aaron Swartz ? » Swartz était un développeur de premier plan qui a aidé à établir Creative Commons, RSS et Reddit. En 2011, Swartz a été accusé d'avoir volé des documents de la base de données académique JSTOR dans le but de les rendre libres d'accès. Militant impliqué dans les grandes causes comme la neutralité du Net, il s’était opposé aux lois SOPA et PIPA (équivalentes de la Hadopi aux Etats-Unis). Aaron Swartz s’est suicidé en janvier 2013. Sujet aux épisodes dépressifs, il était sous le coup d’une procédure légale lourde. Il encourait pas moins de 4 millions de dollars d’amende et 30 ans de prison pour avoir cracké et dérobé 4 millions de documents académiques du MIT et du site Jstor. Un acte réalisé au nom du libre accès à la connaissance.

Un acte qui lui valait également l'accusation de "crime" ("felony" par la justice américaine.

Aaron Swartz refusait obstinément d’accepter ce terme, d'après son collègue Lawrence Lessig. Un refus qui, après 18 mois de négociations, allait donc déboucher sur un procès aux peines potentiellement très sévères.

En réaction à sa mort, plusieurs professeurs du MIT ont décidé d’honorer son combat – qu’ils soutiennent – en mettant en ligne des PDF de leurs travaux pour lutter contre le copyright sur les articles universitaires. En plus de ces professeurs, le MIT a également – officiellement et en tant qu’institution – décidé de mener une enquête interne pour déterminer comment l’école de Boston avait agi, dans le détail, depuis le début de l’affaire des « vols » de documents. Et si ses décisions n’avaient pas été disproportionnées.

Les utilisateurs signalent le problème

Un certain nombre d'utilisateurs, dont certains travaillant avec le kit de développement cloud d'Amazon, se sont tournés vers le système de suivi des bogues de GitHub pour exprimer leurs préoccupations concernant le problème. Et comme faker.js enregistre près de 2,5 millions de téléchargements hebdomadaires sur npm et color.js environ 22,4 millions de téléchargements par semaine, les effets de la corruption sont probablement considérables. Pour le contexte, faker.js génère de fausses données pour les démos, color.js ajoute des couleurs aux consoles javascript.

En réponse au problème, Squires a publié une mise à jour sur GitHub pour résoudre le « problème zalgo », qui fait référence au texte irrégulier que les fichiers corrompus produisent. « Il a été porté à notre attention qu'il y a un bogue zalgo dans la version v1.4.44-liberty-2 de colors », a noté Squires d'une manière vraisemblablement sarcastique. « S'il vous plaît, sachez que nous travaillons en ce moment pour corriger la situation et que nous aurons une résolution sous peu ».


Deux jours après avoir poussé la mise à jour corrompue sur faker.js, Squires a ensuite envoyé un tweet notant qu'il avait été suspendu de GitHub, malgré le stockage de centaines de projets sur le site. À en juger par le journal des modifications sur faker.js et colours.js, cependant, il semble que sa suspension ait déjà été levée. Squires a introduit le commit faker.js le 4 janvier, a été banni le 6 janvier et n'a introduit la version "liberty" de colours.js que le 7 janvier. On ne sait pas si le compte de Squires a de nouveau été banni.

La raison de ce méfait de la part du développeur semble être des représailles contre les mégaentreprises et les consommateurs commerciaux de projets open source qui s'appuient largement sur des logiciels gratuits et alimentés par la communauté, mais qui, selon le développeur, ne rendent pas à la communauté.

En novembre 2020, Marak avait averti qu'il ne soutiendrait plus les grandes entreprises avec son « travail gratuit » et que les entités commerciales devraient envisager de forker les projets ou de compenser le développeur avec un salaire annuel « à six chiffres ». « 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. »

La décision audacieuse de Squires attire l'attention sur le dilemme moral et financier du développement open source, qui était probablement le but de ses actions. Un grand nombre de sites Web, de logiciels et d'applications s'appuient sur des développeurs open source pour créer des outils et des composants essentiels, le tout gratuitement. C'est le même problème qui oblige les développeurs non rémunérés à travailler sans relâche pour résoudre les problèmes de sécurité de leur logiciel open source, comme Heartbleed en 2014 qui a affecté OpenSSL et la vulnérabilité plus récente de Log4Shell trouvée dans log4j qui a vu les bénévoles se démener pour proposer des corrections.

Source : Web Archive

Et vous ?

Quel regard portez-vous sur le dilemme moral et financier du développement open source ? Quel est, selon vous, le meilleur moyen de parvenir à un équilibre ?
Que pensez-vous de la plainte du développeur en 2020 qui demandait à être rémunéré pour son travail ? Qui devrait le rémunérer selon vous ?
Que pensez-vous de l'action visant à faire planter les projets dépendants de ces bibliothèques ? Cela ressemble-t-il à un sabotage selon vous ? Dans quelle mesure ?

Voir aussi :

Aaron Swartz s'est suicidé, il ne fera pas 30 ans de prison. Vives réactions après la mort du développeur surdoué militant du copyleft
« La mort de Aaron Swartz ne changera rien », le suicide du développeur n'émeut pas la procureur, qui n'en est pas à son premier mort

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Jules34
Membre émérite https://www.developpez.com
Le 10/01/2022 à 15:07
Citation Envoyé par grunk Voir le message
Si il veux être rémunéré , il n'a qu'à utiliser les licences logiciels adéquates ou mettre en place un business model lui permettant de de gagner de l'argent.
Certains arrivent à vivre de l'open source , faut juste pas espérer que les gens vont payer quelque chose qu'ils ont le droit d'utiliser gratuitement
Comme ça dans dix ans il n'y aura plus une ligne de code open source sur le net...

Le monsieur à prévenu en 2020 qu'il arrêtait et attendait des propositions / laissait les autres forker sont projet:

While not stated explicitly, the motivation behind Squires’ actions could date back to November 2020 when, according to a GitHub post found by Bleeping Computer, he wrote that he no longer intended to support Fortune 500 and other companies with his free work.

Rien ne se passe jusqu'en 2022, sauf des millions de téléchargement quotidien. C'est son projet, sa propriété intellectuelle. Il avait prévenu tout le monde. C'est pas comme si il devait faire des courbettes en plus, son projet est déjà utilisé, les "clients" sont déjà la. Libre à lui de le saborder ! On laisse bien Elon Musk et consorts polluer la planète car "ils ont le droit"... Pourquoi lui ne pourrait pas saborder un projet qu'il tient en réponse à un monde qui part en sucette ? J'aime bien ce côté chevalier/don quichotte.

Filippo Valsorda, a member of the Google Go team and an open source developer, argued in a blog post last year that companies should pay open source developers: “Open source software runs the internet, and by extension the economy. This is an undisputed fact about reality in 2021.”
Chacun voit la réalité ou il l'entend cela dit...
18  2 
Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 10/01/2022 à 17:18
Ma boite et moi sommes très contents de pouvoir profiter gratuitement du travail des développeurs open source.
Ca permet de dévaloriser le métier de développeur, qui est de toute façon un individu passionné qui se contre fiche des questions financières.
Comme cela on peut payer ces personnes au rabais quand on les embauche. Le logiciel est gratuit grâce à l'open source.

Et on n'a même pas à se préoccuper de la maintenance puisque c'est toute la communauté qui est mise à contribution en cas de découverte de faille majeure.

Et contrairement à ce qu'on pourrait croire, l'exemple de ce Marak va en fait dans ce sens. NPM a fermé ses comptes. Ainsi, d'autres développeurs libristes pourront prendre le relai sereinement, forker le projet et travailler gratuitement pour ma boite et moi.
Ouf, j'ai eu chaud.

Dommage que ce développeur veuille gagner de l'argent à partir de son travail, il ne faudrait pas qu'ils soient trop nombreux cependant.
16  1 
Avatar de
https://www.developpez.com
Le 11/01/2022 à 10:16
Ça a déjà été dit dans la discussion précédente. C'est surtout l'écosystème JavaScript / Node.js qui est bancal et en constante dette technique.

Développer des applis dans cet environnement, c'est faire du jetable. Si elle ne sont pas maintenues pendant plus de 6 mois, il y a des chances non-négligeables qu'elles ne se lancent plus, parcen qu'elles utilisent des fonctions dépréciés, parce qu'une ou plusieurs dépendances ne sont plus mises à jour, etc ...

Ce développeur aigri vient d'en faire la démonstration implacable, bien malgré lui il est vrai.

A contrario, j'ai des projets Fortran dont le code n'a pas été mis à jour depuis 25 ans, et qui pourtant compile sans erreur.
17  3 
Avatar de Jsaintyv
Membre régulier https://www.developpez.com
Le 10/01/2022 à 13:38
Je trouve que cela met encore une fois en lumière un problème de l’éco-système Javascript.
Il y a trop de gros de projet qui dépendent de libraire qui sont sous la tutelle d’un individu.
Cela expose tous ces projets au risque de voir leur build corrompu ou polluer.
En l’occurrence le problème d’aujourd’hui est de l’ordre du militantisme.

Mais quand on voit qu’une faille se vend plusieurs M€. Que l’histoire montre que beaucoup d’individu sont corruptible. Il est fort probable que ces développeurs sont approchés par soit des groupes mafieux, soit des groupes de cyber-espionage.
Et si on a l’esprit un peu romanesque, on peut imaginer qu’il soit la cible de méthode de chantage, ou de manipulation autres.

A mon avis, l’opensource est une bonne chose mais pour ce genre de projet, il faut que leur dépendances soit interne ou au moins piloté par des fondations comme Apache Software ou Eclipse pour qu’il n’y ait pas un seul individu mais au moins un groupe d’individu en charge de la maintenance.
11  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 10/01/2022 à 13:49
Que pensez-vous de la plainte du développeur en 2020 qui demandait à être rémunéré pour son travail ? Qui devrait le rémunérer selon vous ?
Si il veux être rémunéré , il n'a qu'à utiliser les licences logiciels adéquates ou mettre en place un business model lui permettant de de gagner de l'argent.
Certains arrivent à vivre de l'open source , faut juste pas espérer que les gens vont payer quelque chose qu'ils ont le droit d'utiliser gratuitement
14  5 
Avatar de Waikiki
Membre averti https://www.developpez.com
Le 11/01/2022 à 12:58
Citation Envoyé par Jeff_67 Voir le message
Ça a déjà été dit dans la discussion précédente. C'est surtout l'écosystème JavaScript / Node.js qui est bancal et en constante dette technique.

Développer des applis dans cet environnement, c'est faire du jetable. Si elle ne sont pas maintenues pendant plus de 6 mois, il y a des chances non-négligeables qu'elles ne se lancent plus, parcen qu'elles utilisent des fonctions dépréciés, parce qu'une ou plusieurs dépendances ne sont plus mises à jour, etc ...

Ce développeur aigri vient d'en faire la démonstration implacable, bien malgré lui il est vrai.

A contrario, j'ai des projets Fortran dont le code n'a pas été mis à jour depuis 25 ans, et qui pourtant compile sans erreur.
Le problème vient surtout de besoin de mise à jour constante que certains devs ont.

Hormis si la mise à jour apporte des changements de sécurité, quel est l'intérêt de courir après si celle-ci ne vous apporte rien ?

On a l'impression de voir certaines utilisateurs de Linux qui refresh la page kernel.org 40 fois par jour pour pas louper la dernière version au risque de se retrouver avec bugs à la pelle.
11  2 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 10/01/2022 à 15:18
Le gars a eu raison d'envoyer tout balader ainsi. Les plus grosses boites (FORTUNE 500, quand même) se goinfrent avec le gratuit, l'open source, les heures supplémentaires non payées massivement.
Quant à ceux qui pensent qu'il aurait du faire payer une licence, vous rigolez ou quoi ? Pour un software dont il ne peut exister de binaires,
comme pour Javascript ? Et tous les télé-chargeurs, ils sont près à payer, même très modiquement ?
Et vous, avez-vous payé votre licence pour votre IDE, votre BROWSER, votre serveur de BDD, votre serveur WEB, votre suite LIBRE OFFICE, etc, même modifiquement (disons 5 $ ou 5 €)...?
C'est pas comme si c'était un truc téléchargé 5 fois par semaine non plus : des dizaines de millions plutôt.
Passé un certain niveau, le travail gratuit est une forme d'exploitation.
Le procédé est rude : tant pis, c'est comme ça.
10  3 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 10/01/2022 à 13:54
Je dirai que cela arrive tous les jours dans le monde proprio lorsque les conditions de travail sont jugées inadéquates.
Je dirais même plus, aujourd'hui les développeurs open-sources sont rémunérés dans leur immense majorités surtout quand ils travaillent sur des gros projets. Ca marche comment? C'est simple, dès qu'un projet devient important des entreprises le finance (soit en y affectant des développeurs, soit en y affectant de l'argent). Ce qu'il se passe c'est qu'il y a toujours des contributions plus ou moins anonyme et dans celles-ci il y a des gens bénévoles (passionné) qui ne sont pas rémunéré car incognito (car trop peu important ou en train de se faire une réputation ou sans le sens des affaires). C'est d'eux dont on parle.

Mais il n'y a pas aujourd'hui (il y a eu il y a 20 ans) de problèmes de financement des projets open-source ou du moins pas plus que de problème de financement des entreprises (surtout celles en faillites )
6  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 10/01/2022 à 17:32
Citation Envoyé par Jules34 Voir le message
Comme ça dans dix ans il n'y aura plus une ligne de code open source sur le net...

Le monsieur à prévenu en 2020 qu'il arrêtait et attendait des propositions / laissait les autres forker sont projet:
Citation Envoyé par yahiko Voir le message

Dommage que ce développeur veuille gagner de l'argent à partir de son travail, il ne faudrait pas qu'ils soient trop nombreux cependant.
Il y'a plein de gens qui font de l'open source pour le plaisir de publier du code et de le partager.
Mon framework PHP est opensource. Il n'a pas d'intérêt particulier donc n'intéresse personne , mais si demain il venait à exploser je me poserais rapidement la question.
- Soit j'abandonne le projet à la communauté.
- Soit j'essai d'en tirer de l'argent avec un modèle de licence adapté (gratuit pour usage personnel , payant sinon par exemple), de la formaition , de l'expertise, etc ...

Y'a qu'à voir un mec comme Fabien Potencier qui à créer Symfony. C'est open source et pourtant il en vie avec un certains nombre d'employés. Comme quoi c'est possible.
6  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 17/01/2022 à 16:33
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 eu autant d'applis que ca impactées en prod ? Si c'est le cas c'est effectivement inquiétant. Ca veux dire que c'est déployé avec 0 test.

Par contre sur des projets js d'envergure , bien malin celui qui est capable de maitriser son arbre de dépendances à 100% . Sur le premier niveau oui évidemment , ensuite ca devient très vite très compliqué. C'est le revers de la médaille d'avoir une gestionnaire de dépendances très efficace malheureusement.
6  0