Da Red Hat a CentOS, Rocky Linux e AlmaLinux
Scopri perché Red Hat ha sostituito Red Hat Linux con Fedora e RHEL, cosa ha interrotto CentOS 8 nel 2021 e da dove nascono Rocky Linux e AlmaLinux.
Perché esistono due rebuild gratuiti di Red Hat Enterprise Linux
Rocky Linux e AlmaLinux esistono perché Red Hat ha terminato CentOS Linux anni prima della data sulla quale gli utenti avevano pianificato il proprio utilizzo. CentOS era un rebuild gratuito e senza il marchio di Red Hat Enterprise Linux (RHEL) e offriva lo stesso lungo periodo di supporto. L'8 dicembre 2020 il CentOS Project ha annunciato che CentOS Linux 8 sarebbe stato terminato alla fine del 2021, invece di continuare fino al 2029. Entro una settimana da quell'annuncio sono stati presentati due progetti sostitutivi, entrambi ancora distribuiti oggi.
L'annuncio è comprensibile solo dopo aver chiarito che cosa fosse CentOS e perché fosse consentita l'esistenza di una copia gratuita di un prodotto commerciale. La storia inizia nel 2003.
Dove è finito Red Hat Linux nel 2003: Fedora e RHEL
Il prodotto originale di Red Hat era una distribuzione in confezione chiamata Red Hat Linux. La prima release non beta è stata pubblicata nel maggio 1995. L'ultima, Red Hat Linux 9, è stata rilasciata il 31 marzo 2003 e ha raggiunto la fine del ciclo di vita il 30 aprile 2004.
A quel punto Red Hat vendeva alle aziende, che cercavano qualcosa che il prodotto in confezione non poteva offrire: una versione stabile per anni, con aggiornamenti di sicurezza e senza upgrade imprevisti. Red Hat ha realizzato questa versione come Red Hat Linux Advanced Server, diventato Red Hat Enterprise Linux 2.1 nel marzo 2002. RHEL viene venduto tramite abbonamento, con addebito annuale per ogni sistema. L'abbonamento include aggiornamenti e supporto. Include anche la certificazione: i produttori di hardware e di software commerciali eseguono test specifici su RHEL e lo indicano nelle condizioni di supporto.
La linea gratuita non aveva quindi una funzione chiara, così Red Hat l'ha unita a un progetto della community esterna. Fedora Project e Red Hat Project si sono fusi formalmente il 22 settembre 2003. Fedora è diventata la distribuzione gratuita e rapida, dove il nuovo lavoro viene integrato per primo. RHEL è diventata la distribuzione più lenta e a pagamento, assemblata a partire da Fedora. Da allora il flusso di sviluppo segue questa direzione: Fedora anticipa, RHEL segue.
La separazione ha lasciato un vuoto. Molti utenti volevano il ciclo di vita di dieci anni di RHEL senza pagare un abbonamento per ogni server, ma Fedora non poteva soddisfare questa esigenza, perché una release di Fedora è supportata per circa tredici mesi.
Perché era possibile ricostruire RHEL gratuitamente?
RHEL è composto quasi interamente da software distribuito con licenze libere, e in questo caso la licenza più importante è la GNU General Public License (GPL). La GPL impone che chiunque riceva i binari possa ottenere anche il relativo codice sorgente. Red Hat rispettava questo obbligo pubblicamente: rendeva disponibili gli SRPM (Source RPM, cioè il codice sorgente impacchettato di ogni componente) su un server pubblico e, in seguito, nei repository git.centos.org.
Il codice sorgente non costituisce l'intero prodotto. Due elementi di RHEL non sono mai stati liberi da copiare. I marchi di Red Hat appartengono a Red Hat, quindi chi ricostruisce il prodotto deve rimuovere ogni logo e ogni riferimento al nome. Anche i servizi a pagamento restano soggetti ad abbonamento: i server degli aggiornamenti, il contratto di supporto, il processo di certificazione e gli errata che descrivono ogni correzione.
La procedura era semplice da descrivere. Si prendono i sorgenti pubblicati, si rimuove il branding, si ricompilano e si pubblica il risultato. L'obiettivo era la compatibilità bug-for-bug, cioè una ricostruzione con le stesse patch e lo stesso comportamento di RHEL, inclusi i bug. Questa precisione era essenziale, perché il software commerciale viene certificato per RHEL. Se la ricostruzione si comporta nello stesso modo, quel software funziona anche su di essa, sebbene il fornitore non la supporti.
A cosa serviva CentOS?
CentOS è l'acronimo di Community ENTerprise Operating System. Nacque da un progetto chiamato cAos Linux, avviato da Gregory Kurtzer nel 2002. La prima release di CentOS fu pubblicata il 14 maggio 2004 con il numero di versione 2, perché era basata su RHEL 2.1AS.
Il suo punto di forza era il ciclo di vita. Ogni release di CentOS seguiva il periodo di supporto di dieci anni di RHEL ed era gratuita. Le aziende di hosting la usavano per le immagini predefinite, le università la eseguivano sui cluster, i produttori di appliance la includevano nei propri prodotti e i pannelli di controllo davano per scontata la sua presenza. Se tra il 2006 e il 2020 circa noleggiavi un server privato virtuale, CentOS compariva nell'elenco dei sistemi operativi e spesso era l'opzione predefinita.
CentOS Linux 7 dimostra che questa promessa veniva mantenuta. Fu pubblicata il 7 luglio 2014 e il supporto di sicurezza terminò il 30 giugno 2024, pochi giorni prima di raggiungere dieci anni completi. È per questo che gli utenti si sentivano sicuri nel pianificare su dieci anni basandosi sulla release successiva.
Cosa cambiò quando CentOS si unì a Red Hat nel 2014
Il 7 gennaio 2014, Red Hat e il CentOS Project annunciarono l'avvio di una collaborazione. All'annuncio intervennero Brian Stevens, all'epoca chief technology officer di Red Hat, e Karanbir Singh, lead developer di CentOS. Red Hat fornì personale e infrastruttura, diversi sviluppatori principali di CentOS entrarono nell'organico di Red Hat e il progetto ottenne un consiglio direttivo formalmente costituito.
Per gli utenti, gli effetti visibili furono positivi. Le build venivano pubblicate più rapidamente dopo ogni release di RHEL. I sorgenti furono spostati su git.centos.org. Gli Special Interest Group producevano contenuti aggiuntivi per la distribuzione di base, ad esempio gli stack per la virtualizzazione e lo storage.
Il cambiamento strutturale fu meno evidente, ma sei anni dopo si rivelò determinante. Il progetto che ricostruiva RHEL era ora finanziato e gestito in larga parte dalla stessa azienda che vendeva RHEL. Nulla in quell'accordo obbligava Red Hat a mantenere attivo il progetto di ricostruzione.
Perché CentOS Linux 8 è terminato nel 2021?
CentOS Linux 8 è stato rilasciato il 24 settembre 2019. RHEL 8 era supportato fino al 31 maggio 2029, quindi si riteneva che anche CentOS Linux 8 sarebbe stato supportato fino al 2029.
L’8 dicembre 2020, Rich Bowen ha pubblicato sul blog di CentOS l’articolo "CentOS Project shifts focus to CentOS Stream". CentOS Linux 8 sarebbe terminato il 31 dicembre 2021. CentOS Linux 7 avrebbe mantenuto la data originaria del 30 giugno 2024. La motivazione indicata era che il futuro del progetto sarebbe stato CentOS Stream.
The data behind this chart
[
{
"label": "Announced at release, September 2019",
"support_window": 9.7
},
{
"label": "Delivered, ended December 2021",
"support_window": 2.3
}
]CentOS Linux 8 è stato rilasciato con un periodo di supporto previsto di circa 9.7 anni. Il supporto effettivo è durato circa 2.3. Nessuna funzionalità è stata rimossa e il codice non è peggiorato. Gli utenti hanno perso una data sulla quale avevano già basato i propri piani, su macchine già in produzione, con un preavviso di poco più di un anno. La migrazione di un sistema operativo su un’intera flotta richiede una pianificazione; in questo caso è diventata un’attività non pianificata con una scadenza.
Che cos'è esattamente CentOS Stream?
Molti articoli descrivono ancora CentOS Stream come il prodotto che ha cancellato CentOS Linux. La cronologia è corretta, ma la descrizione è errata, perché i due prodotti seguono direzioni opposte.
CentOS Linux era downstream rispetto a RHEL. Red Hat rilasciava una minor release di RHEL e CentOS la ricostruiva in seguito. La copia arrivava sempre dopo l'originale.
CentOS Stream è upstream rispetto a RHEL. È il ramo pubblico in cui viene assemblata la minor release successiva di RHEL. Il flusso parte da Fedora, passa per CentOS Stream e arriva a RHEL. Di conseguenza, un pacchetto compare prima in Stream e raggiunge in seguito una minor release di RHEL. Stream viene distribuito continuamente, quindi non rimane fermo tra una minor release e l'altra come accade con una release di RHEL già rilasciata.
Questo rende Stream utile per attività che CentOS Linux non poteva svolgere. Se gestisci software che deve continuare a funzionare sulla minor release successiva di RHEL, Stream ti permette di vedere quella release con mesi di anticipo. Se vuoi correggere un bug in RHEL, puoi inviare la patch a Stream, una possibilità che una ricostruzione downstream non offriva. Nel 2020 Red Hat sosteneva che questo trasformasse una copia passiva in una distribuzione che la community può effettivamente modificare.
Stream rimane comunque un sostituto inadeguato per ciò che gli utenti di CentOS Linux cercavano, come dimostra anche la durata del supporto. CentOS Stream 10 è stato rilasciato il 12 dicembre 2024 con una durata di circa cinque anni, rispetto ai dieci anni di RHEL. Un team che gestiva un parco di sistemi secondo un piano decennale non ha ricevuto una versione più rapida dello stesso piano. Ha ricevuto un prodotto diverso, con uno scopo diverso.
Origini di Rocky Linux e AlmaLinux
Rocky Linux è stato annunciato l'8 dicembre 2020, lo stesso giorno dell'annuncio relativo a CentOS, da Gregory Kurtzer, che aveva avviato il progetto da cui era nato CentOS. Il nome rende omaggio a Rocky McGaugh, uno dei primi cofondatori di CentOS. Il progetto è gestito dalla Rocky Enterprise Software Foundation (RESF), mentre il principale sostenitore commerciale è CIQ, un'azienda fondata da Kurtzer. Una release candidate è stata pubblicata alla fine di aprile 2021 e la prima release stabile, Rocky Linux 8.4 "Green Obsidian", è stata rilasciata il 21 giugno 2021.
AlmaLinux è nato da CloudLinux, un'azienda che già vendeva ai provider di hosting una distribuzione derivata da RHEL. Il 15 dicembre 2020, CloudLinux si è impegnata a destinare più di un milione di dollari statunitensi all'anno a una ricostruzione gratuita di RHEL, allora denominata in codice Project Lenix. Il nome AlmaLinux è stato annunciato il 12 gennaio 2021, una versione beta è arrivata il 1 febbraio e AlmaLinux 8.3 "Purple Manul" è stato rilasciato il 30 marzo 2021. Lo stesso giorno, la proprietà è passata alla AlmaLinux OS Foundation, un'organizzazione non profit che detiene il marchio e gestisce il consiglio direttivo del progetto.
I due progetti hanno risolto lo stesso problema adottando modelli di governance diversi. Rocky è nato dalla persona che aveva avviato CentOS, con un'azienda costruita intorno al progetto. AlmaLinux è nato da un'azienda che ha trasferito il marchio a una fondazione il giorno della release. Per due anni la differenza pratica è stata ridotta e entrambi hanno fornito ciò che gli utenti di CentOS Linux avevano perso.
Cosa ha cambiato Red Hat nelle sorgenti di RHEL nel 2023
Il 21 giugno 2023 Mike McGrath, allora vicepresidente delle piattaforme core di Red Hat, pubblicò «Furthering the evolution of CentOS Stream». La frase chiave affermava che CentOS Stream sarebbe diventato l’unico repository per i rilasci pubblici del codice sorgente correlato a RHEL. Le sorgenti di RHEL che venivano pubblicate su git.centos.org smisero di essere pubblicate lì.
I clienti e i partner di Red Hat continuano ad accedere alle sorgenti di RHEL tramite il portale clienti. Questo soddisfa i requisiti della GPL, perché l’obbligo si applica ai destinatari dei binari. A cambiare fu il canale pubblico. Il dettaglio, pacchetto per pacchetto, di ciò che veniva incluso in una determinata release minore di RHEL non era più pubblicato apertamente. Inoltre, CentOS Stream precede RHEL, invece di essere allineato con esso. Di conseguenza, un progetto di ricostruzione che utilizzi soltanto Stream non può riprodurre esattamente una release minore già pubblicata.
La posizione di Red Hat era che Stream fosse l’upstream e che il codice sorgente pubblico dovesse trovarsi nell’upstream. I progetti di ricostruzione sostenevano invece che il cambiamento avesse rimosso il materiale sul quale si basavano dal 2004. Entrambe le descrizioni sono corrette. Il disaccordo riguarda la finalità della licenza, non il suo contenuto.
Come hanno risposto i progetti di rebuild e che cos'è OpenELA
Rocky Linux ha risposto per primo. In un post del 29 giugno 2023, il progetto ha dichiarato che avrebbe continuato a ottenere i sorgenti di RHEL tramite canali che non richiedono accordi aggiuntivi: le immagini container Universal Base Image (UBI) di Red Hat e le istanze RHEL a consumo nei cloud pubblici. Chi riceve quei binari ha, in base alla GPL, il diritto di ottenere il corrispondente codice sorgente. Rocky ha mantenuto l'obiettivo di seguire ogni release di RHEL.
AlmaLinux ha risposto in modo diverso. Nel luglio 2023, il consiglio direttivo, presieduto da benny Vasquez, ha abbandonato l'obiettivo della corrispondenza uno-a-uno con RHEL e ha adottato invece la compatibilità dell'application binary interface (ABI). La compatibilità ABI significa che il software compilato per RHEL viene eseguito senza modifiche su AlmaLinux, anche se le due distribuzioni non sono build identiche. Questo compromesso ha garantito maggiore autonomia. AlmaLinux può distribuire una correzione prima di RHEL e continuare a supportare hardware che RHEL non supporta più.
Anche due vendor più grandi si sono mossi. L'11 luglio 2023, SUSE ha dichiarato che avrebbe creato un fork del codice RHEL disponibile pubblicamente e investito più di dieci milioni di dollari statunitensi in una distribuzione compatibile. Oracle, che distribuisce Oracle Linux come prodotto compatibile con RHEL dal 2006, ha pubblicato la propria risposta nella stessa settimana.
Il 10 agosto 2023, CIQ, Oracle e SUSE hanno annunciato la Open Enterprise Linux Association (OpenELA). È un'associazione di settore con un unico obiettivo: pubblicare i sorgenti di enterprise Linux, in modo che le distribuzioni compatibili con RHEL possano continuare a essere realizzate e che tali sorgenti restino liberi di essere ridistribuiti. Nel novembre 2023 ha annunciato i propri documenti di governance e la disponibilità del codice. AlmaLinux non ha aderito. La decisione è coerente con la scelta della compatibilità ABI, perché non ha più bisogno di un feed esatto dei sorgenti.
Quale dovresti usare oggi su un server?
The data behind this chart
[
{
"distro": "RHEL 10",
"support_window": 10,
"notes": "Released May 2025, supported to May 2035"
},
{
"distro": "AlmaLinux 10",
"support_window": 10,
"notes": "Released May 2025, supported to May 2035"
},
{
"distro": "Rocky Linux 10",
"support_window": 10,
"notes": "Released June 2025, supported to May 2035"
},
{
"distro": "CentOS Stream 10",
"support_window": 5,
"notes": "Released December 2024, supported to May 2030"
}
]Le release della versione 10 mostrano come si è evoluta la situazione. RHEL 10 è arrivato il 20 maggio 2025, AlmaLinux 10 "Purple Lion" il 27 maggio 2025 e Rocky Linux 10 "Red Quartz" l'11 giugno 2025. Ognuna di queste versioni offre un periodo di supporto di 10 anni. CentOS Stream 10 offre 5 anni, un'indicazione chiara del fatto che si tratta di un ramo di sviluppo e non di una versione destinata a rimanere stabile.
I progetti hanno iniziato a differenziarsi anche in aspetti pratici che possono causare problemi. RHEL 10 ha innalzato il requisito hardware di base a x86-64-v3, un livello di microarchitettura che richiede istruzioni CPU più recenti, come AVX2. Rocky Linux 10 ha adottato lo stesso requisito e ha abbandonato x86-64-v2. AlmaLinux 10 usa x86-64-v3 per impostazione predefinita e pubblica una build separata x86-64-v2 per i processori meno recenti. Su un VPS economico eseguito su un host con una CPU datata, questa singola scelta determina se il sistema può essere installato.
Quattro interpretazioni pratiche della cronologia:
- Se ti serve il rapporto con il fornitore, acquista RHEL. L'abbonamento è il prodotto e include le certificazioni e il supporto tecnico che nessuna rebuild può offrire.
- Se vuoi ciò che offriva CentOS Linux, AlmaLinux e Rocky Linux lo forniscono entrambe, gratuitamente e con un periodo di supporto di dieci anni.
- Se scrivi software che deve funzionare su RHEL o vuoi che le tue patch arrivino a RHEL, CentOS Stream è la destinazione corretta e il periodo più breve è il prezzo da pagare.
- Se nessuna di queste condizioni si applica, il mondo Debian risponde alla stessa domanda sul ciclo di vita in modo diverso e la scelta tra Ubuntu LTS e le release intermedie è la versione della stessa decisione che incontrerai in quell'ambito.
La lezione di fondo riguarda la governance, non il codice. CentOS Linux era un buon software, ma il suo sviluppo è terminato comunque in anticipo perché era finanziato dall'azienda di cui riproduceva il prodotto. Quando scegli una distribuzione per una macchina che prevedi di usare per un decennio, verifica chi la finanzia e chi possiede il marchio. AlmaLinux mantiene il proprio marchio presso una fondazione. Rocky lo mantiene presso la RESF, con CIQ come sponsor commerciale. Entrambi i progetti pubblicano queste informazioni, cosa che un utente CentOS non avrebbe potuto verificare nel 2019.
Questo ti riguarda direttamente se noleggi server. Su un VPS non gestito applichi tu gli aggiornamenti, quindi una fine anticipata del ciclo di vita diventa una migrazione da pianificare e tempo da dedicare. Se la scelta del sistema operativo è ancora aperta a un livello più generale, il confronto tra Linux e Windows Server viene prima di tutto questo.
FAQ
CentOS è morto?
CentOS Linux è stato dismesso. CentOS Linux 8 ha raggiunto la fine del ciclo di vita il 31 dicembre 2021 e CentOS Linux 7 il 30 giugno 2024; pertanto nessuno dei due riceve più aggiornamenti di sicurezza. Il progetto CentOS continua a esistere e produce CentOS Stream, che è un prodotto diverso: il ramo di sviluppo pubblico da cui deriva Red Hat Enterprise Linux. Se un server esegue ancora CentOS Linux, non riceve patch e presenta vulnerabilità note. Le destinazioni di migrazione più comuni sono AlmaLinux e Rocky Linux.
Qual è la differenza tra CentOS Stream e CentOS Linux?
La differenza riguarda la direzione del flusso di sviluppo. CentOS Linux era downstream: Red Hat pubblicava una minor release di RHEL e CentOS la ricostruiva in seguito. CentOS Stream è upstream: è il ramo in cui viene assemblata la minor release RHEL successiva, quindi i relativi contenuti arrivano prima in Stream e non dopo, come accadeva con CentOS Linux. Stream viene aggiornato continuamente invece di rimanere congelato e CentOS Stream 10 offre una finestra di supporto di circa cinque anni, rispetto ai dieci anni di RHEL.
È meglio scegliere Rocky Linux o AlmaLinux?
Entrambi sono gratuiti, seguono da vicino RHEL e pubblicano una finestra di supporto di dieci anni. Per la maggior parte dei server, quindi, entrambe le opzioni sono valide. Le differenze pratiche dipendono dalle decisioni prese nel 2023. Rocky punta a corrispondere a ogni release di RHEL, ricostruendo i pacchetti a partire da sorgenti ottenute tramite immagini container UBI e istanze cloud pubbliche. AlmaLinux punta alla compatibilità ABI, che consente di applicare patch prima e di mantenere il supporto per hardware che RHEL ha abbandonato. AlmaLinux 10 pubblica una build x86-64-v2 per CPU meno recenti, mentre Rocky Linux 10 richiede x86-64-v3. Su hardware datato, questo singolo requisito può quindi essere decisivo.
Red Hat ha violato la GPL nel 2023?
Nessun tribunale lo ha stabilito e l'obbligo previsto dalla GPL riguarda le persone che ricevono i binari. Red Hat continua a fornire ai propri clienti le sorgenti corrispondenti. La questione riguarda ciò che accade in seguito: un abbonamento può non essere rinnovato e i progetti di rebuild interpretano questa possibilità come una pressione a non esercitare il diritto di redistribuzione concesso dalla licenza. Per questo Rocky è passato a percorsi di accesso alle sorgenti che non richiedono un accordo di abbonamento e OpenELA è stata costituita per pubblicare le sorgenti apertamente.
Perché Red Hat ha interrotto CentOS Linux?
Il motivo dichiarato nell'annuncio dell'8 dicembre 2020 era che il futuro del progetto fosse CentOS Stream e che un rebuild che si limitava a copiare RHEL non offrisse alla community alcun modo per influenzarne lo sviluppo. Molti utenti vi hanno letto anche una motivazione commerciale, poiché CentOS Linux era una versione gratuita di un prodotto venduto da Red Hat e veniva utilizzato in produzione da organizzazioni che avrebbero potuto sostenere il costo di un abbonamento. I post pubblicati da Red Hat trattano il modello di sviluppo, non questa interpretazione.