1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • La voyante Madame Semver tend la carte ^1.0.0 à un mainteneur open source qui hésite à archiver son dépôt, et lui dévoile l’avenir qui l’attend s’il ne l’archive pas
  • Des PR erronées mais validées par les tests aux issues fondées sur une mauvaise compréhension de la bibliothèque, en passant par des paquets aux noms très proches et même un rapport de scan de sécurité mêlant une véritable vulnérabilité, tout cela grignote peu à peu le temps du mainteneur
  • Lorsqu’un contributeur, qui traite sans relâche de petits problèmes et des questions répétitives, demande les droits sur le dépôt au bout de trois ans, Madame Semver laisse seulement cette carte retournée
  • Quelque chose entraîné sur un vieux README recommande pendant deux ans une fonction supprimée, tandis qu’un fichier d’instructions en majuscules et des bots d’automatisation font évoluer la documentation et la gestion du dépôt dans des directions inattendues
  • Plus tard, un fork qui fusionne tous les changements en moins d’une heure séduit certains utilisateurs, mais comme il référence lui aussi le dépôt d’origine avec une plage caret, nul ne sait sur qui tombera la prochaine version majeure

Le futur proche d’un dépôt non archivé

  • Le caret de la première carte, ^1.0.0, autorise tout ce qui suit, et les gens oublient facilement qu’ils ont eux-mêmes défini cette plage
  • Madame Semver sait déjà que le mainteneur n’archivera pas le dépôt, et elle déroule les événements qui suivront ce choix
  • En juin, une PR polie, avec des tests en plus, arrive
    • Les tests passent, mais le code est faux et dévore la plus grande partie du samedi du mainteneur
    • En bas de la description figure un coauteur dont on ne trouve aucune photo, et le mainteneur fusionne encore deux de ses PR avant de prendre l’habitude de vérifier
  • En août, quelqu’un ouvre une issue avec une grande assurance, après avoir mal compris le fonctionnement de la bibliothèque, et cite des sources difficiles à contester
    • La semaine suivante, une autre personne publie le paquet qu’il décrivait, avec un nom qui ne diffère de l’existant que d’une seule lettre
    • En septembre, ce nouveau paquet commence à capter des téléchargements
  • La carte de la Tour montre une haute structure posée sur de petites fondations et Nebraska, 2003
    • Le mainteneur connaît déjà suffisamment bien le sujet, jusqu’à en avoir un mug, donc aucune explication supplémentaire n’est nécessaire
  • En octobre, un scan de sécurité génère un rapport long et sophistiqué, avec des scores de gravité non sollicités et un résumé exécutif
    • Sur 12 éléments relevés, 11 reformulent comme des défauts des comportements pourtant documentés
    • Le dernier est un vrai problème, ce qui oblige le mainteneur à lire aussi les 11 précédents, puis à recommencer en novembre
  • Un contributeur arrive avec ses outils, corrige de petits problèmes sans rien demander en retour et répond même aux questions répétitives qui épuisaient le mainteneur
    • Au début, le mainteneur admire sa patience, puis avec le temps il commence à se renseigner sur son identité
    • La troisième année, lorsqu’il demande les clés du dépôt, Madame Semver est la seule à laisser cette carte retournée

Un futur plus lointain et la prochaine version majeure

  • Quelque chose doté d’une longue mémoire lit un ancien README et recommande avec aplomb, pendant près de deux ans, une fonction supprimée en mars
    • Le mainteneur finit par réajouter cette fonction et la marque comme deprecated
    • Des utilisateurs signalent l’avertissement de dépréciation comme un bug
  • À la racine du dépôt apparaît un fichier tout en majuscules contenant des consignes destinées à des destinataires indéterminés
    • Ce fichier est lu avec plus d’attention que n’importe quelle documentation rédigée par le mainteneur
    • Avec le temps, le mainteneur écrit aussi les autres documents sur ce même ton, sans se rappeler quand il a pris cette décision
  • Un mardi après-midi, quelque chose en Virginie récupère la tarball 11,000 fois
    • Ce n’est pas une attaque, mais l’enthousiasme de quelqu’un qui fait tourner une boucle, boucle dans laquelle figure le nom de ce paquet
  • Ce même mois, le mainteneur embauche un serviteur automatisé pour fermer à sa place des portes qu’il n’arrive pas à fermer lui-même
    • Un autre serviteur, qu’il n’a pas embauché, continue à laisser ces portes ouvertes
    • Entre les deux automatisations, la même porte s’ouvre et se ferme en boucle pendant un an
  • Dans un futur lointain, un nouveau fork apparaît
    • Le mainteneur du fork ne se fatigue pas, répond immédiatement et fusionne tous les changements en moins d’une heure
    • À la vue de l’avatar, on comprend aussitôt de quelle sorte d’entité il s’agit, et plusieurs personnes finissent par préférer ce fork à l’original
    • Pourtant, ce fork épingle lui aussi le dépôt d’origine avec un caret, autorisant ainsi tout ce qui viendra ensuite
  • Le service de divination propose trois tarifs, $1, $5 et $25 avec un petit badge émaillé, mais le mainteneur ne paie que le $1 payé par tout le monde
  • Madame Semver lui dit de revenir lorsque la prochaine version majeure arrivera, sans préciser de quelle version majeure il s’agira

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Lobste.rs
  • « Quelque chose de haut posé sur un petit socle, c’est une tour. Nebraska, 2003. » Maintenant, j’ai envie d’un tarot sur le thème de XKCD
    • Bonne idée. On pourrait financer un illustrateur via du crowdfunding, ou rassembler le travail de plusieurs artistes. Ou alors, soupir, on pourrait utiliser l’IA
      Attends, peut-être que Randall le fera lui-même
  • C’est l’un des textes les mieux écrits que j’aie lus sur ce site
  • J’ai eu des frissons en le lisant
  • En le lisant, ça m’a rappelé la conférence Oral Tradition in Software Engineering de @bcantrill : https://www.youtube.com/watch?v=4PaWFYm0kEw
  • Il n’y a pas de caret (^)