Shopify influencia a Ruby Central e força a tomada de controle do Bundler e do RubyGems
(joel.drapper.me)- A Ruby Central assumiu à força projetos de código aberto como Bundler e RubyGems sem o consentimento dos mantenedores existentes
- Entre os principais fatores estão a pressão financeira da Shopify e a crise de caixa da Ruby Central, durante a qual certos mantenedores foram excluídos dos projetos
- O processo de transferência forçada da propriedade dos repositórios no GitHub e dos gems ocorreu de forma reservada, gerando confusão e reação negativa na comunidade
- Ruby Central e Shopify justificaram a medida enfatizando responsabilidades de segurança e infraestrutura, mas a essência do problema está na disputa de propriedade e na crise de confiança da comunidade
- Alguns mantenedores antigos estão focando no desenvolvimento dos projetos concorrentes Spinel e rv, buscando novas respostas para o ecossistema Ruby
Visão geral
A Ruby Central recentemente assumiu de forma unilateral a propriedade e o controle de grandes projetos de código aberto, como Bundler e RubyGems, sem o consentimento dos mantenedores existentes. Nesse processo, se entrelaçaram a pressão financeira da Shopify, a crise de caixa da Ruby Central, a exclusão de mantenedores importantes e a confusão na comunidade.
Resumo dos principais acontecimentos
- A Ruby Central estava enfrentando dificuldades financeiras, e a Sidekiq retirou seu patrocínio anual de US$ 250 mil do RailsConf por causa do convite ao DHH
- Como resultado, a Ruby Central passou a depender fortemente da Shopify
- A Shopify exigiu da Ruby Central a tomada total dos repositórios no GitHub e da propriedade do Bundler e do gem rubygems-update, pressionando com a retirada do patrocínio em caso de recusa
- Durante a tomada de controle, mantenedores principais, especialmente André Arko, foram excluídos, e a transição foi forçada sem consentimento da comunidade
- O andamento do caso e as discussões internas foram conduzidos externamente de forma rápida e reservada, deixando de fora muitos membros importantes da comunidade
Processo detalhado da tomada de controle do Bundler e RubyGems
Situação inicial
- Em 9 de setembro, Hiroshi Shibata (HSBT) alterou o nome da organização GitHub Enterprise do RubyGems para 'Ruby Central', adicionou Marty Haught como novo owner e removeu parte das permissões dos mantenedores existentes
- Quando essa medida passou a ser questionada, algumas permissões foram restauradas, mas a adição de Marty como owner não foi revertida
Discussão sobre a distinção entre propriedade e serviço
- O repositório do código-fonte do RubyGems é de propriedade e gestão da comunidade
- O RubyGems Service é um serviço de infraestrutura operado separadamente pela Ruby Central
- Embora fosse necessário distinguir claramente esses dois conceitos, a Ruby Central os misturou e os usou como base para sustentar sua reivindicação de propriedade
Revogação de permissões e execução da tomada de controle
- Por volta de 18 de setembro, os mantenedores existentes perderam novamente o acesso e foram excluídos das contas do GitHub, Fastly e rubygems.org
- O conselho da Ruby Central aprovou em votação a tomada forçada dos repositórios no GitHub e da propriedade dos gems, com Marty executando a ação sozinho
Aprofundamento da dependência da Ruby Central em relação à Shopify
- Ao convidar DHH para o RailsConf, perdeu o patrocínio anterior da Sidekiq, concentrando sua estrutura financeira na Shopify
- Durante a Rails World, figuras e empresas centrais como Ruby Central, Rails Core, Shopify e GitHub discutiram condições para patrocínio de longo prazo, e nesse momento foram exigidas a exclusão de certos mantenedores e a transferência de propriedade
- Mesmo dentro do conselho havia a percepção de que "a outra opção era praticamente começar a encerrar a Ruby Central"
Execução da tomada de controle e reação da comunidade
- O conselho da Ruby Central deu a Marty autoridade para executar imediatamente a tomada de controle, e a Shopify deslocou engenheiros para fazer a rápida transição do esquema de plantão
- Depois que Ellen tornou o caso público pela primeira vez, a Ruby Central publicou uma posição oficial usando como justificativa o "fortalecimento da segurança da cadeia de suprimentos"
- Internamente, enfatizou-se a segurança e questões de confiabilidade pessoal, mas o ponto central era a falta de um processo legítimo de transferência de propriedade e de consenso da comunidade
Falas e controvérsias centrais
- DHH publicou um tweet apoiando a tomada do Bundler/Gems, mas foi criticado por falta de consistência, já que no passado havia se posicionado contra um caso de tomada forçada de plugins no WordPress
- O conselho da Ruby Central e alguns envolvidos causaram confusão ao misturar a operação da infraestrutura do RubyGems.org com a propriedade do repositório de código-fonte
- Shun Cureton e outros afirmaram que a limitação de permissões foi temporária porque não foi possível concluir as conversas com os mantenedores a tempo. No entanto, é alta a possibilidade de exclusão permanente de alguns mantenedores antigos
Surgimento de Spinel e rv
- André Arko, Samuel Giddins e outros ex-mantenedores do Bundler e RubyGems fundaram a nova cooperativa Spinel e iniciaram o desenvolvimento do novo gerenciador Ruby rv
- O rv busca integrar funções amplas de gerenciamento, como gems, versões do Ruby, dependências e pré-empacotamento binário, mirando substituir várias ferramentas existentes como rvm, rbenv, bundler e rubygems
- Em partes da Shopify e do Rails Core, Spinel e rv são vistos como uma ameaça potencial ao ecossistema Ruby centralizado
Conclusão e preocupações
- Ainda não está claro se a Ruby Central devolverá no futuro a propriedade do Bundler e do RubyGems à comunidade
- O fato de o conselho da Ruby Central ter realizado uma tomada forçada sem consentimento, ciente dos resultados e das alternativas, representa um golpe sério na confiança da comunidade
- Surgem críticas à estrutura de governança vulnerável à pressão de empresas como a Shopify, além da necessidade de novas alternativas comunitárias como a Spinel
Disclosure
- O autor trabalhou na Shopify entre 2017 e 2022
Disclaimer
- Este resumo representa a opinião de um não especialista, com base em entrevistas com múltiplas partes interessadas e atas de reuniões. Pode conter omissões ou erros.
Changelog
- 23 de setembro de 2025: removidos alguns nomes de participantes da Rails World, adicionada uma citação de DHH relacionada ao WordPress
Ainda não há comentários.