- Ruby Central tomó control de proyectos de código abierto como Bundler y RubyGems sin el consentimiento de sus mantenedores existentes
- Entre los principales antecedentes están la presión financiera de Shopify y la falta de fondos de Ruby Central, proceso en el que ciertos mantenedores fueron excluidos de los proyectos
- El proceso de transferencia forzada de repositorios de GitHub y propiedad de gems se realizó de forma privada, generando confusión y rechazo en la comunidad
- Ruby Central y Shopify lo justificaron enfatizando la responsabilidad sobre seguridad e infraestructura, pero el problema de fondo es la propiedad real y la crisis de confianza de la comunidad
- Algunos mantenedores previos están concentrándose en desarrollar proyectos competidores, Spinel y rv, mientras buscan nuevas respuestas para el ecosistema Ruby
Resumen
Ruby Central recientemente tomó de forma unilateral la propiedad y el control de importantes proyectos de código abierto como Bundler y RubyGems sin el consentimiento de los mantenedores existentes. En este proceso se entrelazan la presión financiera de Shopify, la falta de fondos de Ruby Central, la exclusión de mantenedores clave y la confusión dentro de la comunidad.
Resumen de los hechos principales
- Ruby Central estaba atravesando dificultades financieras, y Sidekiq retiró su patrocinio anual de $250,000 de RailsConf debido a la invitación de DHH
- Como resultado, Ruby Central pasó a depender fuertemente de Shopify
- Shopify exigió a Ruby Central la toma total de control de los repositorios de GitHub y de la propiedad de las gems Bundler y rubygems-update, presionando con retirar el patrocinio en caso de no cumplir
- Durante la toma de control, se excluyó a mantenedores clave, especialmente André Arko, y el cambio se impuso sin consentimiento de la comunidad
- El desarrollo del caso y las discusiones internas se manejaron con rapidez y de forma no pública, dejando fuera a gran parte de los miembros importantes de la comunidad
Proceso detallado de la toma de control de Bundler y RubyGems
Situación inicial
- El 9 de septiembre, Hiroshi Shibata (HSBT) cambió el nombre de RubyGems GitHub Enterprise a 'Ruby Central', agregó a Marty Haught como nuevo owner y retiró parcialmente los permisos de mantenedores existentes
- Cuando esta medida fue señalada como problemática, algunos permisos fueron restaurados, pero la incorporación de Marty como owner no se revirtió
Discusión sobre la diferencia entre propiedad y servicio
- El repositorio del código fuente de RubyGems es propiedad y gestión de la comunidad
- RubyGems Service es un servicio de infraestructura operado por separado por Ruby Central
- Aunque era necesario distinguir claramente ambos conceptos, Ruby Central los mezcló y los usó como base para reclamar la propiedad
Retiro de permisos y ejecución de la toma de control
- Alrededor del 18 de septiembre, los mantenedores existentes volvieron a perder acceso y fueron excluidos de las cuentas de GitHub, Fastly y rubygems.org
- La junta directiva de Ruby Central aprobó por votación la toma forzada de los repositorios de GitHub y la propiedad de las gems, y Marty la ejecutó por su cuenta
Profundización de la dependencia de Ruby Central respecto de Shopify
- Tras invitar a DHH a RailsConf, perdió el patrocinio existente de Sidekiq, y su estructura financiera quedó concentrada en Shopify
- Durante Rails World, figuras y empresas clave como Ruby Central, Rails Core, Shopify y GitHub discutieron las condiciones de patrocinio a largo plazo, y en ese momento se exigieron condiciones como la exclusión de ciertos mantenedores y la transferencia de propiedad
- Incluso dentro de la junta existía la percepción de que "la otra opción equivalía a empezar el cierre de Ruby Central"
Ejecución de la toma de control y reacción de la comunidad
- La junta de Ruby Central otorgó a Marty autoridad para ejecutar la toma de control de inmediato, y Shopify asignó ingenieros para cambiar rápidamente el sistema de guardias on-call
- Después de que Ellen revelara primero el hecho, Ruby Central publicó una postura oficial justificándola con el argumento de "reforzar la seguridad de la cadena de suministro"
- Internamente se enfatizaron problemas de seguridad y confianza personal, pero en la práctica el núcleo del problema fue la falta de un proceso legítimo de transferencia de propiedad y de consenso comunitario
Declaraciones de figuras clave y puntos en disputa
- DHH publicó un tuit en apoyo a la toma de control de Bundler/Gems, pero antes había expresado una postura contraria en un caso de toma forzada de plugins de WordPress, lo que llevó a cuestionamientos sobre su falta de consistencia
- La junta de Ruby Central y algunas personas relacionadas generaron confusión al mezclar la operación de la infraestructura de RubyGems.org con la propiedad de los repositorios del código fuente
- Shun Cureton y otros señalaron que la limitación de permisos fue temporal porque no se pudo coordinar a tiempo con los mantenedores. Sin embargo, es alta la posibilidad de exclusión permanente de algunos mantenedores anteriores
Aparición de Spinel y rv
- André Arko, Samuel Giddins y otros, antes mantenedores de Bundler y RubyGems, fundaron la nueva cooperativa Spinel y comenzaron el desarrollo de una nueva herramienta de gestión de Ruby llamada rv
- rv busca integrar funciones amplias de gestión de gems, versiones de Ruby, dependencias y preempaquetado binario, con la intención de reemplazar herramientas existentes como rvm, rbenv, bundler y rubygems
- En algunos sectores de Shopify y Rails Core, Spinel y rv son percibidos como una amenaza potencial para el ecosistema centralizado de Ruby
Conclusión y preocupaciones
- No está claro si Ruby Central devolverá en el futuro la propiedad de Bundler y RubyGems a la comunidad
- El hecho de que la junta de Ruby Central llevara adelante una toma forzada sin consentimiento, aun con suficiente conciencia de los resultados y las alternativas, representa un golpe grave a la confianza de la comunidad
- Se señala una estructura de gobernanza vulnerable a la presión de empresas como Shopify, y se plantea la necesidad de nuevas alternativas comunitarias como Spinel
Disclosure
- El autor trabajó en Shopify entre 2017 y 2022
Disclaimer
- Este resumen fue elaborado a partir de entrevistas con múltiples partes interesadas y actas de reuniones, y representa la opinión de una persona no especialista. Puede contener omisiones o errores.
Changelog
- 23 de septiembre de 2025: se eliminaron algunos nombres de asistentes a Rails World y se añadió una cita de DHH relacionada con WordPress
Aún no hay comentarios.