back_button

2025/04/04

9. Considerando a Decisão da Red Hat de Retirar o Código-Fonte

Em seu post de blog datado de 21 de junho de 2023, “
Aprofundando a evolução do CentOS Stream“, a Red Hat anunciou que limitará a liberação do código-fonte do Red Hat Enterprise Linux (RHEL) apenas para clientes e parceiros.

Desde então, o tópico foi abordado por muitos sites de notícias, e fornecedores e comunidades que desenvolvem clones do RHEL, como Oracle, AlmaLinux e Rocky Linux, reagiram fortemente a isso.

O que significa o anúncio da Red Hat? Por que ele causou uma reação tão forte? Para entender isso, é necessário conhecer a história do Linux, como as distribuições são desenvolvidas e quais licenças estão envolvidas.

Aqui, faremos uma análise simples desse recente alvoroço, incluindo o significado do anúncio da Red Hat, as reações de outras empresas e previsões para tendências futuras.

Entendendo o anúncio da Red Hat

Para entender este anúncio, é preciso compreender o CentOS Stream. Vamos analisar este anúncio enquanto apresentamos o CentOS Stream.

Anúncios relacionados ao CentOS da Red Hat/IBM

Para entender o panorama geral, vamos dar uma olhada retrospectiva na situação do CentOS.

  • 2004: Primeiro lançamento do CentOS
  • 2014: Red Hat adquire o CentOS
  • 2019: IBM adquire a Red Hat
  • 2020: Projeto CentOS será descontinuado
  • 2021: Em resposta à descontinuação do desenvolvimento do CentOS, a comunidade lança AlmaLinux e Rocky Linux
  • 2023: Código-fonte do RHEL estará disponível apenas para clientes e parceiros

O CentOS tem uma história surpreendentemente longa, remontando à versão 2.0 em 2004. Na época, havia várias distribuições compatíveis com o RHEL, e ele não estava tão estabelecido como hoje. Em particular, o Scientific Linux foi usado por muitos anos e existiu até 2020. O Oracle Linux foi lançado em 2006.

Em 2014, a Red Hat adquiriu o CentOS, que até então era um projeto independente. Havia prós e contras nisso, mas lembro que muitas vozes o receberam bem, especialmente porque o lançamento do CentOS estava um pouco atrasado na época.

Em 2019, a IBM adquiriu a Red Hat. Como todos sabem, o CentOS passará por uma grande transformação a partir desse ponto.

O fim do CentOS e a transição para o CentOS Stream

O início da grande mudança foi o anúncio do fim do projeto CentOS em 2020. Conforme mencionado anteriormente em “Parte 8: Mudando do CentOS para o Oracle Linux“, o projeto CentOS terminou e foi substituído pelo CentOS Stream (o suporte ao CentOS 7 terminará em 30 de junho de 2024, e o CentOS 8 já terminou).

O motivo de causar tanto alvoroço foi que o CentOS Stream foi posicionado como o upstream do RHEL.

Até agora, o CentOS era popular como uma distribuição gratuita compatível com o RHEL. No entanto, com a chegada do CentOS Stream, ele não pode mais ser chamado de uma distribuição compatível com o RHEL. Além disso, o CentOS Stream usa um método de lançamento contínuo (rolling release). Portanto, é sempre necessário estar atualizado, tornando-o difícil de usar em ambientes de produção.

Isso é o que se conhece como o “choque do CentOS.”

Anúncio da Red Hat

A Red Hat publicou os seguintes dois blogs sobre a divulgação do código-fonte:

Primeiro, apresentaremos as partes importantes de “Aprofundando a evolução do CentOS Stream“. Como vários artigos de notícias o explicam em detalhes, aqui o encurtamos para priorizar a clareza em vez da precisão da tradução.

À medida que a comunidade do CentOS Stream cresce e o mundo do software empresarial enfrenta novas dinâmicas, queremos afiar nosso foco no CentOS Stream como a espinha dorsal da inovação do Linux empresarial. Estamos continuando nosso investimento e aumentando nosso compromisso com o CentOS Stream.

À medida que a comunidade do CentOS Stream cresce e o software empresarial abraça novas dinâmicas, continuaremos a investir e fortalecer nossos esforços no CentOS Stream.

A Red Hat indicou seu compromisso com o CentOS Stream, e no parágrafo anterior, afirma que algumas pessoas acolhem bem o rápido lançamento de versões upstream.

O CentOS Stream emergiu como uma opção dinâmica e voltada para o futuro. Algumas pessoas podem acolhê-lo bem. No entanto, é importante lembrar que também há demanda downstream por ele, com total compatibilidade com o RHEL. Especialmente para uso empresarial, a estabilidade é frequentemente mais importante do que mudança e visão de futuro.

O CentOS Stream será agora o único repositório para lançamentos públicos de código-fonte relacionados ao RHEL. Para clientes e parceiros da Red Hat, o código-fonte continuará disponível através do Portal do Cliente da Red Hat.

O CentOS Stream será o único repositório para lançamentos públicos de código-fonte relacionados ao RHEL daqui para frente, e os clientes e parceiros da Red Hat continuarão a ter acesso ao código-fonte através do Portal do Cliente da Red Hat.

O texto original também tem isso em negrito. É uma forma indireta de dizer as coisas, mas, em termos simples, está dizendo que “o código-fonte do CentOS Stream será tornado público, mas o código-fonte do RHEL não será tornado público.”

A seguir, temos “Compromisso da Red Hat com o código aberto: Uma resposta às mudanças no git.centos.org“.

Este é um resumo da primeira metade do artigo. O texto original é longo, então foi omitido.

A Red Hat adota um modelo de desenvolvimento de código aberto, e o desenvolvimento de novos recursos, correções de bugs, aplicação de patches de backport e vários testes geram muitos custos. Além disso, é uma tarefa árdua gerenciar sempre de 3 a 4 lançamentos principais e aplicar patches de backport em códigos que têm de 5 a 10 anos. Além disso, é necessário refletir projetos upstream como Fedora e o projeto do Kernel Linux.

Sinto que grande parte da raiva de nossa recente decisão sobre as fontes downstream vem daqueles que não querem pagar pelo tempo, esforço e recursos investidos no RHEL ou daqueles que querem reempacotá-lo para seu próprio lucro. Essa demanda pelo código do RHEL é desonesta.

Estou indignado com a desonestidade das distribuições compatíveis com o RHEL que simplesmente recompilam o código-fonte do RHEL e não contribuem para ele.

Há aqui uma denúncia de aproveitamento gratuito.

O software de código aberto se desenvolveu por várias razões. O maior motivo para seu desenvolvimento é provavelmente os benefícios para os usuários, como o fato de poder ser usado gratuitamente ou a baixo custo, e que não há lock-in de fornecedor porque o código-fonte está publicamente disponível. No entanto, também há benefícios para os desenvolvedores. A qualidade melhora à medida que mais usuários relatam bugs, o desenvolvimento avança à medida que o número de membros de desenvolvimento aumenta, e o número de usuários cresce à medida que a documentação e as informações técnicas são disponibilizadas em vários idiomas.

Nos últimos anos, o aproveitamento gratuito tornou-se um problema em mega nuvens como a Amazon Web Services. Redis, Elasticsearch, MongoDB e outros serviços mudaram suas licenças em oposição ao aproveitamento gratuito em mega nuvens.

Também fornecemos assinaturas de desenvolvedor da Red Hat sem custo e Red Hat Enterprise Linux (RHEL) para Infraestrutura de Código Aberto. A assinatura de desenvolvedor fornece RHEL sem custo para desenvolvedores e permite o uso em até 16 sistemas, novamente, sem custo. Isso pode ser usado por indivíduos para seu próprio trabalho e por clientes RHEL para o trabalho de seus funcionários.

Oferecemos Assinaturas de Desenvolvedor da Red Hat e Red Hat Enterprise Linux para Infraestrutura de Código Aberto (serviços para a comunidade de desenvolvimento de código aberto) sem custo.

Embora os termos de uso o tornem bastante limitado, o RHEL oferece um programa gratuito para alguns usuários.

Por que recebeu uma reação tão forte?

A causa desse alvoroço é que “o CentOS, que pode ser usado gratuitamente como compatível com o RHEL, não existirá mais” e “o código-fonte relacionado ao RHEL, exceto o CentOS Stream, não será tornado público”. Vamos aprofundar um pouco mais nisso. Explicaremos como criar uma distribuição compatível com o RHEL e o GPL.

Como criar uma distribuição compatível com o RHEL

O diagrama abaixo mostra como criar uma distribuição compatível com o RHEL. As distribuições compatíveis com o RHEL foram desenvolvidas com base no código-fonte (SRPM) do RHEL ou do CentOS. Muitas distribuições foram baseadas no CentOS, que é livre de restrições de direitos autorais e fácil de modificar.

O problema é como criá-la no futuro. O código-fonte do RHEL está limitado a usuários específicos, como clientes e parceiros. Apenas o CentOS Stream tornou-se um repositório de código-fonte acessível a todos. No entanto, o CentOS Stream é o upstream do RHEL. Reconstruir a fonte do CentOS Stream não a tornará compatível com o RHEL.

GPL e Acordo Empresarial da Red Hat

O kernel Linux é um programa licenciado sob a GPL v2. Algumas pessoas podem achar estranho não liberar o código-fonte porque o Linux é GPL. Aqui está uma breve explicação do GPL e do Acordo Empresarial da Red Hat, que são importantes para entender a licença do RHEL.

O GPL é uma licença muito poderosa com as seguintes características: As cláusulas do GPL foram traduzidas para o japonês por voluntários, mas algumas partes são difíceis de entender e sujeitas a diferentes interpretações, então pense nisso de forma aproximada como a seguir.

  • Uso comercial permitido
  • O autor não assume nenhuma responsabilidade
  • Inclua avisos de direitos autorais e sem garantia.
  • O código-fonte deve ser tornado público ao ser distribuído
  • Se você criar um software que use total ou parcialmente um programa licenciado sob o GPL, você também deve distribuí-lo sob o GPL.

A parte importante a notar é a que diz “Há uma obrigação de tornar o código-fonte público no momento da distribuição”. A interpretação geral disso é que “qualquer um que tenha o código objeto (código binário) tem o direito de obter o código-fonte.” No entanto, também pode-se dizer que “qualquer um que não tenha o código objeto não tem o direito de obter o código-fonte.”

Para dar um exemplo específico, digamos que uma empresa desenvolva um programa que usa software GPL modificado apenas internamente na empresa. Embora esse software seja GPL, ele não é aberto ao público, então não há necessidade de liberar o código-fonte, incluindo as partes modificadas, ao público.

Embora o GPL tenha características fortes em relação à divulgação do código-fonte, ele tem as características acima. Portanto, a Red Hat impõe certas restrições aos seus clientes ao celebrar um Acordo Empresarial da Red Hat com eles. Embora não entremos nos detalhes do Acordo Empresarial da Red Hat, ele contém muitas cláusulas restritivas.

Reações de fornecedores e projetos

Em resposta ao anúncio da Red Hat, fornecedores e projetos que desenvolvem distribuições compatíveis com o RHEL publicaram várias declarações. Aqui estão algumas delas.

AlmaLinux

O AlmaLinux é um projeto lançado pela CloudLinux, uma empresa com histórico como um sistema operacional Linux para hospedagem. Foi o primeiro lançamento após o projeto CentOS. Três postagens de blog foram publicadas em rápida sucessão.

O resumo é o seguinte:

  • Os RPMs de origem compatíveis com o RHEL são mais difíceis de obter, mas as atualizações de segurança estão disponíveis mais rapidamente.
  • Manter a postura downstream do RHEL, mas abandonar a compatibilidade 1:1 com o RHEL, e buscar compatibilidade binária
  • Contribuir para todo o ecossistema do Enterprise Linux, incluindo a comunidade de código aberto e plataformas upstream como Fedora e CentOS Stream.

O segundo blog explica como acompanhar as atualizações de segurança usando o OpenSSL como exemplo. A Cybertrust (MIRACLE LINUX), que desenvolve distribuições compatíveis com o RHEL no Japão, anunciou uma parceria com a CloudLinux, o principal patrocinador do AlmaLinux.

Rocky Linux

O Rocky Linux é um projeto fundado por Gregory Kurtzer, o fundador do projeto CentOS. O suporte é fornecido pela CiQ, uma empresa fundada por Gregory Kurtzer. Este projeto também publica três blogs.

O resumo é o seguinte:

  • Compatibilidade 100% com o RHEL até o nível de bugs
  • Cumprir nossa missão de fornecer uma distribuição compatível com o RHEL estável e duradoura
  • Contribuir para todo o ecossistema do Enterprise Linux, incluindo a comunidade de código aberto e plataformas upstream como Fedora e CentOS Stream.
  • Embora os Termos de Serviço e os Acordos de Licença de Usuário Final da Red Hat restrinjam os direitos concedidos pelo GPL, o site fornece formas legais de obter o código-fonte (usando a imagem de contêiner Red Hat Universal Base Image e usando instâncias pay-as-you-go em nuvens públicas).
  • Lançou o OpenELA, um projeto para promover o Enterprise Linux, com Oracle e SUSE.

Oracle

A Oracle, desenvolvedora do Oracle Linux, divulgou a seguinte notícia:

Algum do conteúdo é um pouco sarcástico em comparação com o AlmaLinux e o Rocky Linux, mas o essencial é o seguinte:

  • Está envolvido na comunidade Linux há 25 anos, com o objetivo de torná-lo o melhor sistema operacional de servidor gratuito para todos.
  • A Oracle lançou o Oracle Linux em 2006, escolhendo a compatibilidade com o RHEL para evitar dividir a comunidade Linux.
  • Adotamos o GPL e tornamos nossos binários e código-fonte abertos. Diferente da IBM (Red Hat), não interferimos nos direitos dos usuários por meio de contratos de assinatura.
  • A intenção de não divulgar o código-fonte desta vez visa eliminar concorrentes?
  • Continuar a manter a compatibilidade com o RHEL onde possível
  • A Oracle continuará a contribuir para a comunidade Linux e lançará binários e código-fonte. Distribuições downstream são bem-vindas.

SUSE

Por fim, há o SUSE. Embora fosse uma distribuição baseada em RPM, não era compatível com o RHEL, mas anunciou que entrará no mercado de distribuições compatíveis com o RHEL.

Conclusão

A Red Hat tem sido, sem dúvida, a líder no mercado de Linux empresarial. Além disso, as contribuições da empresa para a comunidade de código aberto, não apenas para o Linux, são imensuráveis. É por isso que este anúncio foi uma surpresa.

Embora apenas três meses tenham passado desde o anúncio da Red Hat, outras empresas responderam rapidamente. Não apenas todos os principais fornecedores de distribuições compatíveis com o RHEL anunciaram suas contramedidas, mas até mesmo o SUSE, que tem uma alta participação de mercado na Europa, anunciou sua participação. Portanto, é improvável que as distribuições compatíveis com o RHEL desapareçam ou que os patches de segurança sejam significativamente atrasados.

Este caso me lembra o “Processo SCO Linux” que durou de 2003 a 2010. Começando com a SCO, proprietária dos direitos autorais do Linux, processando a IBM, o caso se estendeu para processar a Novell e a Red Hat, e até sugeriu processar usuários gerais do Linux. Além de ser fortemente criticada em todo o mundo, a SCO não conseguiu vencer nenhum caso e acabou pagando uma enorme quantia em honorários advocatícios.

Desta vez, não há a malícia do tipo troll de patente da SCO. No entanto, é improvável que algo que terá muitos oponentes no mundo do código aberto seja bem-sucedido. Contudo, também há uma necessidade pelo CentOS Stream como upstream, então a coexistência com o campo downstream compatível com o RHEL pode ser tentada.