Argonalyst

Desafios do Spegel: Copiando e Concorrendo com o Peerd da Microsoft

Argonalyst
22 April 2025

Três anos atrás, participei de uma equipe responsável pelo desenvolvimento e manutenção de clusters Kubernetes para clientes finais. Um dos principais motivos de indisponibilidade em ambientes de clientes ocorria quando os registros de imagens apresentavam falhas. A solução tradicional para esse problema é configurar um espelho com estado, mas devido a restrições orçamentárias e de tempo dos clientes, não conseguimos implementar essa solução. Durante um Black Friday, enfrentamos um aumento significativo de tráfego enquanto os registros de contêineres do GitHub estavam fora do ar. Isso limitou nossa capacidade de escalar o cluster, pois dependíamos de imagens críticas desse registro. Após esse incidente, comecei a pensar em uma maneira melhor de evitar esses problemas de escalabilidade, uma solução que não necessitasse de um componente com estado e que exigisse mínima supervisão operacional. Assim nasceu a ideia do Spegel.

Como único mantenedor de um projeto de código aberto, fiquei animado quando a Microsoft entrou em contato para agendar uma reunião sobre o Spegel. A reunião foi produtiva, e percebi que havia uma possibilidade de cooperação e, quem sabe, um espaço para incorporar novos mantenedores. Continuei as discussões com um dos engenheiros da Microsoft, ajudando-os a implementar o Spegel e respondendo a perguntas sobre a arquitetura. Naquele momento, estava otimista, acreditando que a Microsoft poderia contribuir com mudanças com base em suas experiências. No entanto, com o passar do tempo, o silêncio tomou conta, e presumi que as prioridades de trabalho haviam mudado.

Foi apenas na KubeCon Paris que uma palestra despertou meu interesse novamente. O tema abordava estratégias para acelerar a distribuição de imagens, e uma das estratégias discutidas era o compartilhamento P2P. Os tópicos mencionados pareciam semelhantes ao Spegel, o que me deixou empolgado para ouvir as ideias de outros sobre o problema. Durante a apresentação, fiquei encantado ao ver meu projeto, Spegel, ser discutido como uma solução de compartilhamento de imagens P2P. Quando o Peerd, um distribuidor de conteúdo em contêineres em clusters Kubernetes desenvolvido pela Microsoft, foi mencionado, rapidamente fiz uma pesquisa sobre ele. No final do README, encontrei uma menção a mim e ao Spegel. Esse reconhecimento sugeria que eles haviam se inspirado no meu projeto e desenvolvido uma versão própria.

No entanto, ao investigar o Peerd, minha empolgação rapidamente diminuiu. Encontrei assinaturas de função e comentários que pareciam muito familiares, como se eu mesmo os tivesse escrito. Ao aprofundar a pesquisa, descobri casos de teste que referenciavam o Spegel e meu empregador anterior, casos de teste que haviam sido retirados diretamente do meu projeto. Essas referências ainda estão presentes até hoje. O projeto é uma versão fork do Spegel, mantido pela Microsoft, mas sob a licença MIT da empresa.

O Spegel foi publicado com uma licença MIT, que permite o fork e modificações, sem a exigência de que essas mudanças sejam devolvidas. Embora eu utilize a licença MIT por sua simplicidade e permissividade, ela não permite a remoção da licença original ou a alegação de que o código foi criado por outra pessoa. Parece que grandes partes do projeto foram copiadas diretamente do Spegel sem qualquer menção à fonte original. Incluí um pequeno trecho comparando o código que adiciona a configuração do espelho, onde até mesmo os comentários das funções são idênticos.

A criação do Peerd teve um impacto negativo, gerando confusão entre os novos usuários. Frequentemente, sou questionado sobre as diferenças entre Spegel e Peerd. Como mantenedor, é meu dever agir de forma imparcial e factual, mas essa história tumultuada torna isso desafiador. A Microsoft tem um grande reconhecimento de marca, tornando difícil para o Spegel tentar se destacar ao lado de um gigante como esse.

Como mantenedor de código aberto, dediquei muito tempo a solicitações da comunidade, correções de bugs e atualizações de segurança. Em minha conversa com a Microsoft, estive aberto à colaboração para continuar desenvolvendo uma ferramenta que beneficiasse a comunidade de código aberto. Durante os anos, contribuí para diversos projetos de código aberto e criei alguns por conta própria. O Spegel foi o primeiro projeto que criei do zero e que ganhou destaque, sendo apreciado pela comunidade. Ver meu projeto ser forkado pela Microsoft me fez sentir como se não fosse mais útil. Por um tempo, questionei se valia a pena continuar trabalhando no Spegel.

Felizmente, persisti. O Spegel continua forte, com mais de 1,7 mil estrelas e 14,4 milhões de pulls desde seu lançamento há mais de dois anos. No entanto, não sou a primeira e infelizmente não serei a última pessoa a passar por essa experiência reminiscentes de Davi contra Golias. Como podem mantenedores únicos trabalhar com corporações multibilionárias sem serem aproveitados? Com as mudanças nas licenças da Hashicorp afetando a comunidade de código aberto e a forte queda no investimento em código aberto como um todo, como a comunidade pode prevalecer? Para financiar o trabalho no Spegel, habilitei patrocinadores no GitHub. Essa experiência também me fez considerar mudar a licença do Spegel, pois parece ser a única arma que posso usar.

Últimos vídeos

Confira os últimos vídeos publicados no canal

Argonalyst

O plano SECRETO das Big Techs para cobrar MUITO mais pela IA

Argonalyst

BOLHA da IA ou NOVA era de crescimento EXPONENCIAL? O mercado está dividido

Argonalyst

Nova IA da OpenAI traduz em TEMPO REAL e pode mudar o mundo dos negócios

Argonalyst

Spec Driven Development (SDD): a habilidade que vai separar quem SOBREVIVE à IA

Argonalyst

DeepSeek V4: o Open Source que está AMEAÇANDO GPT 5.5 e Opus 4.7

Argonalyst

Prometeram Renda Universal… mas só veio desemprego?

Argonalyst

Mythos Preview: o começo da AGI ou só mais hype?

Argonalyst

Ele automatizou TUDO com IA… e pode virar bilionário sozinho

Argonalyst

Programadores foram só o começo… agora a IA quer o topo

Argonalyst

Multi-agentes, memória e IA eterna: o vazamento que mudou tudo

Argonalyst

VIBE CODING vai acabar… e o que vem agora é muito mais SINISTRO

Argonalyst

IA na Guerra: estamos criando algo mais PERIGOSO que a Bomba Atômica?

Argonalyst

O dinheiro vai desaparecer? A era da IA pode mudar tudo

Argonalyst

O Apocalipse do SaaS: Como a IA pode DESTRUIR o modelo bilionário do software

Argonalyst

Bitcoin é software… e o software está morrendo (isso explica a queda?)