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

12 comments
  1. Le titre de l’article est trompeur, c’est en hommage à Aaron Swartz (un des fondateurs de Reddit et aussi du RSS ainsi que des licences Creative Commons qui est mort le 11/01/13)

  2. Mouais dans l´histoire il passe vraiment pour un abruti (edit: je savais pas mais effectivement il a l’air d’avoir de graves soucis mentaux du coup mon message fait un peu agressif pour rien), ses projets sont sous licence MIT il a absolument aucun droit de se plaindre que des grosses boîtes utilisent ses librairies sans contribution derrière.

    Si les libristes disent qu’il faut utiliser la ~~GLP~~ GPL il y a une raison (ça changerait pas forcément sa situation financière cela dit)…

  3. ELI5 pourquoi il y a eu un tel effet domino suite à cette malveillance ?

    Je suis pas dev. Ça me paraît juste invraisemblable que modifier un simple bout de code puisse avoir autant de répercussions.

  4. Je vais essayer de rester dans les généralités.Dans un programme quand tu référence une librairie tu dois indiquer son nom, la stratégie de mise à jour et la version.Donc par exemple `faker ~5.5.3`

    Sur node il y a trois stratégies de mise a jour:

    1. pas de préfixe: version exacte
    2. prefixe ~: version équivalente mais avec les corrections de bug (version 5.5.x)
    3. prefixe ^: version compatible (version 5.x)

    Si on va ici on peux voir l’historique de la librairie, il y a quelques jour Marak a publié une version 6.6.6, la précédente était 5.5.3.

    Donc perso, je ne vois pas la problème.

    Si ton programme a été fait avec la version 5.0.0

    *package.json*

    {
    “name”: “test”,
    “dependencies”: {
    “faker”: “^5.0.0”
    }

    Lorsque je tape `npm install` en ligne de commande, la version 5.5.3 s’installe, car la version 6.6.6 plus récente n’est pas considérée compatible avec la version 5 que je demande.

    Donc si ensuite je fait un petit programme de test

    *test.js*

    var faker = require(‘faker’);
    var randomName = faker.name.findName();
    console.log({ randomName })

    Et je le lance avec `node test.js`

    J’obtient le résultat attendu.

    { randomName: ‘Adrian Bauch’ }

    J’ai l’impression que ca fait la une pour pas grand chose.

  5. Les grosses boites sérieuses dupliquent toutes les librairies avec leurs dépendances dans leurs propres repo justement pour éviter ce genre de souci.

  6. Incroyablement basé. L’écosystème JS n’apprend jamais, ils vont toujours être mis à mal par un pauvre inconnu du haut de leur 500 micro-dépendences.

  7. Au-delà de la détresse de cette personne et de son choix de licence, l’idée même que des gens soient assez fous pour déployer les dépendances de leur projet commercial en latest et se retrouve tout penaud quand ils découvrent qu’un dev à l’autre bout du monde a pété leur beau projet me fait rire.

  8. Entendre parler de loin de l’affaire *left-pad* : le dev a l’air d’un salaud.

    Creuser : le dev est probablement le seul mec intègre de cette histoire.

  9. Intéressant, y’avait justement un article sympa sur le sujet (que je vous conseille) dans le dernier monde diplomatique. Comment les grosses boîtes du numérique pillent le logiciel libre pour ensuite breveter, comment ils ont insensiblement changé le terme de logiciel libre en logiciel open source (plus neutre politiquement), comment ils évacuent progressivement tout l’aspect militant en mettant la main sur les plates-formes comme github pour mieux orienter le tout, etc…

    Nb: paywall, chez votre marchand de journaux

Leave a Reply