Um feito e tanto. A distribuição AlmaLinux permanece compatível com Red Hat Enterprise Linux sem código Red Hat. O processo para que isso ocorra não é fácil, mas pode ser feito extraindo em grande parte da base de código do CentOS Stream.
Na prática, a equipe do AlmaLinux está criando um Red Hat Enterprise Linux (RHEL) sem nenhum código RHEL. Benny Vasquez, presidente da AlmaLinux OS Foundation, veio à convenção da comunidade de código aberto All Things Open aqui para explicar exatamente isso.
Isso se tornou um problema porque a Red Hat mudou recentemente as regras sobre como as pessoas poderiam usar o código RHEL em suas próprias distribuições Linux. A mudança deixou distribuições clones do RHEL – como AlmaLinux, Rocky Linux e Oracle Linux – em apuros. Sob os novos requisitos da Red Hat, os desenvolvedores não poderiam mais criar facilmente sistemas operacionais compatíveis com RHEL.
O resultado? A Oracle falou mal do Red Hat e prometeu manter a compatibilidade com RHEL. A Rocky Enterprise Software Foundation usará outros métodos para obter o código RHEL. SUSE, que não era um clone do RHEL, disse que faria um fork do RHEL (com a ajuda de Rocky). Mais recentemente, todos os três acima se uniram em um plano para criar uma base de código Linux compatível com RHEL, o repositório de código-fonte Open Enterprise Linux.
E o AlmaLiniux? Seguiu um caminho diferente. Em vez de brigar com a Red Hat sobre se a subsidiária da IBM poderia restringir o uso de seu código RHEL, o conselho da AlmaLinux OS Foundation, escreveu Vasquez, “decidiu abandonar o objetivo de ser 1:1 com o RHEL. O AlmaLinux OS terá como objetivo ser Compatível com Interface Binária de Aplicativo (ABI).”
O que isso significa? AlmaLinux ainda está no negócio de clones RHEL: “Continuaremos a ter como objetivo produzir uma distribuição Linux de nível empresarial e de longo prazo que esteja alinhada e compatível com ABI com RHEL em resposta às necessidades de nossa comunidade, na medida em que for possível fazer, de modo que o software executado no RHEL será executado da mesma forma no AlmaLinux.”
AlmaLinux permanece compatível com Red Hat Enterprise Linux sem código Red Hat
É fácil dizer isso, mas como fazer isso? AlmaLinux explicou que usará o código-fonte CentOS Stream que a Red Hat continua a oferecer a todos. Esta também é a base de código que a Red Hat usa para criar o RHEL.
Como exatamente isso funcionará? Foi isso que Vasquez veio explicar ao All Things Open. AlmaLinux, assim como RHEL, agora é amplamente baseado no CentOS Stream. O código adicional é extraído do Red Hat Universal Base Images e do código upstream do Linux.
Vasquez acrescentou: “De todos os pacotes, 99% ainda olham exatamente para o RHEL”. Dessa pequena fração que não o faz, “cerca de 24% desses pacotes exigem correção manual”.
A parte mais difícil são as atualizações do kernel Linux da Red Hat porque, acrescentou Vasquez, “você não pode obter essas atualizações do kernel sem violar os acordos de licenciamento da Red Hat”. Portanto, ela continuou: “O que fazemos é extrair os patches de segurança de várias outras fontes e, no mínimo, podemos encontrá-los quando a Oracle os lançar”.
Vasquez notou uma bênção desta mudança na produção: “O AlmaLinux, não mais vinculado aos lançamentos da Red Hat, foi capaz de lançar correções de segurança upstream mais rapidamente do que a Red Hat. “Por exemplo, as explorações de microcódigo da AMD foram corrigidas antes da Red Hat porque demorou um pouco mais para sair. Em seguida, paramos, testamos e saímos cerca de uma semana antes deles.”
O objetivo geral continua sendo manter a compatibilidade do RHEL. “Qualquer alteração significativa entre RHEL e AlmaLinux, qualquer aplicativo que pare de funcionar, é um bug e deve ser corrigido.”
Mais detalhes
Isso não quer dizer que o AlmaLinux será simplesmente um excelente clone do RHEL daqui para frente. Ela planeja adicionar recursos próprios. Por exemplo, os usuários do Red Hat que desejam programas não incluídos no RHEL geralmente recorrem aos Pacotes Extra para Enterprise Linux (EPEL). Normalmente são programas incluídos no Fedora Linux. Além de oferecer suporte ao software EPEL, o AlmaLinux possui seu próprio pacote de software extra – chamado Synergy – que contém programas que a comunidade AlmaLinux deseja, mas que não estão disponíveis no EPEL ou no RHEL. Se um desses programas for posteriormente adicionado ao EPEL ou RHEL, o AlmaLinux o descartará do Synergy para evitar confusão e duplicação de esforços.
Este não foi um caminho fácil para o AlmaLinux. Mesmo uma diferença de código de 1% é muito para escrever e manter. Por exemplo, quando o AlmaLinux tentou corrigir o código do CentOS Stream para corrigir um problema, a Red Hat ficou totalmente irritada com a tentativa do AlmaLinux de consertar uma falha de segurança. Vasquez reconheceu que no início foi uma tarefa difícil, mas observou: “A boa notícia é que eles têm melhorado o processo e as coisas parecerão um pouco mais tranquilas.”
A AlmaLinux, observou ela, também não está tão preocupada, mas ciente de que a Red Hat pode prejudicar seus esforços. Vasquez acrescentou: “Internamente, estamos trabalhando em coisas provisórias que precisaríamos fazer para antecipar que a Red Hat mudará tudo terrivelmente”. Ela não acha que a Red Hat fará isso, mas “queremos estar o mais preparados possível”.