1 points par GN⁺ 2025-09-24 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Ruby Central a pris le contrôle de projets open source comme Bundler et RubyGems sans l’accord des mainteneurs existants
  • Parmi les principaux facteurs figurent la pression financière de Shopify et les difficultés de financement de Ruby Central, avec au passage l’exclusion de certains mainteneurs du projet
  • Le transfert forcé des dépôts GitHub et de la propriété des gems s’est déroulé de manière peu publique, provoquant confusion et opposition dans la communauté
  • Ruby Central et Shopify ont justifié cela en mettant en avant la sécurité et les responsabilités d’infrastructure, mais le fond du problème concerne la propriété réelle et une crise de confiance de la communauté
  • Certains anciens mainteneurs se concentrent désormais sur le projet concurrent Spinel et le développement de rv, en cherchant une nouvelle réponse pour l’écosystème Ruby

Vue d’ensemble

Ruby Central a récemment pris unilatéralement la propriété et le contrôle de grands projets open source comme Bundler et RubyGems sans l’accord de leurs mainteneurs existants. L’affaire mêle la pression financière de Shopify, les difficultés de financement de Ruby Central, l’exclusion de mainteneurs clés et le désordre au sein de la communauté.

Résumé des principaux événements

  • Ruby Central traversait des difficultés financières, et Sidekiq a retiré son sponsoring annuel de 250 000 $ de RailsConf en raison de l’invitation de DHH
  • En conséquence, Ruby Central est devenue fortement dépendante de Shopify
  • Shopify a exigé de Ruby Central la prise de contrôle complète des dépôts GitHub ainsi que de la propriété de Bundler et du gem rubygems-update, en faisant pression par la menace d’un retrait de sponsoring en cas de refus
  • Durant le processus, des mainteneurs clés, notamment André Arko, ont été écartés, et le transfert forcé a eu lieu sans accord de la communauté
  • Le déroulement des faits et les discussions internes ont été traités rapidement et de manière non publique, excluant ainsi une grande partie des membres importants de la communauté

Détails de la prise de contrôle de Bundler et RubyGems

Situation initiale

  • Le 9 septembre, Hiroshi Shibata (HSBT) a renommé l’enterprise GitHub de RubyGems en « Ruby Central », ajouté Marty Haught comme nouveau propriétaire et retiré une partie des droits des mainteneurs existants
  • Lorsque cette mesure a été contestée, certains droits ont été restaurés, mais l’ajout de Marty comme propriétaire n’a pas été annulé

Discussion sur la distinction entre propriété et service

  • Le dépôt du code source de RubyGems est la propriété de la communauté et géré par elle
  • RubyGems Service est un service d’infrastructure exploité séparément par Ruby Central
  • Bien qu’il ait été nécessaire de distinguer clairement ces deux notions, Ruby Central les a mêlées pour s’en servir comme fondement de sa revendication de propriété

Retrait des accès et exécution de la prise de contrôle

  • Aux alentours du 18 septembre, les mainteneurs existants ont de nouveau perdu leurs accès et ont été exclus des comptes GitHub, Fastly et rubygems.org
  • Le conseil d’administration de Ruby Central a voté la prise de contrôle forcée des dépôts GitHub et de la propriété des gems, et Marty l’a exécutée seul

Renforcement de la dépendance de Ruby Central à Shopify

  • En invitant DHH à RailsConf, Ruby Central a perdu un sponsoring existant de Sidekiq, ce qui a concentré sa structure financière autour de Shopify
  • Pendant Rails World, des discussions ont eu lieu entre Ruby Central, Rails Core, Shopify, Github et d’autres figures ou entreprises majeures sur les conditions d’un sponsoring de long terme, et c’est à ce moment qu’ont été exigées l’exclusion de certains mainteneurs et la cession de propriété
  • Même au sein du conseil, certains estimaient que « l’autre option revenait à commencer la fermeture de Ruby Central »

Mise en œuvre de la prise de contrôle et réaction de la communauté

  • Le conseil d’administration de Ruby Central a accordé à Marty le pouvoir d’exécuter immédiatement la prise de contrôle, et Shopify a mobilisé des ingénieurs pour faire basculer rapidement l’organisation d’astreinte
  • Après qu’Ellen a rendu l’affaire publique en premier, Ruby Central a publié une déclaration officielle présentant le renforcement de la sécurité de la supply chain comme justification
  • En interne, l’accent a été mis sur des questions de sécurité et de confiance humaine, mais le problème de fond restait l’absence de procédure légitime de transfert de propriété et de consensus communautaire

Déclarations des principaux acteurs et points de friction

  • DHH a publié un tweet soutenant la prise de contrôle de Bundler/Gems, mais il avait auparavant adopté la position inverse lors de l’affaire de la prise de contrôle forcée des plugins WordPress, ce qui lui a valu des critiques sur son manque de cohérence
  • Le conseil d’administration de Ruby Central et certains acteurs liés ont entretenu la confusion par des déclarations mélangeant l’exploitation de l’infrastructure de RubyGems.org et la propriété du dépôt de code source
  • Shun Cureton et d’autres ont expliqué qu’il s’agissait d’une limitation temporaire des droits, faute d’avoir pu consulter les mainteneurs à temps. Toutefois, l’exclusion permanente de certains anciens mainteneurs paraît probable

Apparition de Spinel et rv

  • D’anciens mainteneurs de Bundler et RubyGems, comme André Arko et Samuel Giddins, ont fondé la nouvelle coopérative Spinel et lancé le développement de rv, un nouvel outil de gestion pour Ruby
  • rv vise à intégrer un large éventail de fonctions de gestion, notamment les gems, les versions de Ruby, les dépendances et le pré-packaging binaire, avec l’objectif de remplacer plusieurs outils existants comme rvm, rbenv, bundler et rubygems
  • Chez Shopify et dans une partie de Rails Core, Spinel et rv sont perçus comme une menace potentielle pour l’écosystème Ruby centralisé

Conclusion et inquiétudes

  • Rien ne garantit que Ruby Central rendra à l’avenir à la communauté la propriété de Bundler et RubyGems
  • Le fait que le conseil d’administration de Ruby Central ait procédé à une prise de contrôle forcée sans consentement, tout en ayant pleinement conscience des conséquences et des alternatives, porte gravement atteinte à la confiance de la communauté
  • Cette affaire met en lumière une gouvernance vulnérable à la pression d’entreprises comme Shopify et souligne la nécessité de nouvelles alternatives communautaires comme Spinel

Disclosure

  • L’auteur a travaillé chez Shopify de 2017 à 2022

Disclaimer

  • Ce résumé est l’opinion non experte de son auteur, rédigée à partir d’entretiens avec de nombreuses parties prenantes et de comptes rendus de réunion. Il peut contenir des omissions ou des erreurs.

Changelog

  • 23 septembre 2025 : suppression de certains noms de participants à Rails World, ajout d’une citation de DHH concernant WordPress

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.