Da Red Hat a CentOS, Rocky Linux e AlmaLinux
Scopri perché CentOS Linux 8 è terminato nel 2021 anziché nel 2029 e come sono nati Rocky Linux e AlmaLinux, dopo la svolta di CentOS Stream.
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 prevista dai suoi utenti. CentOS era un rebuild gratuito e senza 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 terminato alla fine del 2021, invece di proseguire fino al 2029. Due progetti sostitutivi sono stati annunciati entro una settimana da quella comunicazione ed entrambi vengono ancora rilasciati oggi.
L'annuncio diventa comprensibile solo dopo aver chiarito che cosa fosse CentOS e perché fosse consentito distribuire una copia gratuita di un prodotto commerciale. La storia comincia nel 2003.
Dove è finito Red Hat Linux nel 2003: Fedora e RHEL
Il prodotto originale di Red Hat era una distribuzione confezionata in scatola chiamata Red Hat Linux. La prima release non beta è stata pubblicata nel maggio 1995. Red Hat non ha scritto quel sistema da zero e il percorso da Unix di Bell Labs a un kernel Linux libero spiega perché i componenti inclusi potevano essere venduti liberamente in una confezione. L'ultima versione, 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 volevano qualcosa che il prodotto in scatola non poteva offrire: una versione stabile per anni, con correzioni di sicurezza e senza aggiornamenti 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 un abbonamento, con un costo annuale per sistema. L'abbonamento include aggiornamenti e supporto. Include anche la certificazione: i produttori hardware e i fornitori di software commerciali eseguono test specifici su RHEL e lo indicano nelle condizioni di supporto.
La linea gratuita non aveva quindi più un ruolo chiaro, 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 veloce e gratuita in cui arrivano per prime le nuove funzionalità. RHEL è diventata la distribuzione lenta e a pagamento, assemblata a partire da Fedora. Da allora il lavoro ha seguito questa direzione: Fedora anticipa, RHEL segue. L'esempio più chiaro è systemd, diventato predefinito in Fedora nel maggio 2011 e arrivato in RHEL solo con la versione 7, nel giugno 2014. Di conseguenza, la discussione sulla sostituzione di SysV init era stata risolta nel progetto upstream diversi anni prima di arrivare su un server enterprise.
La separazione ha lasciato una lacuna. Molti utenti volevano il ciclo di vita di dieci anni di RHEL senza un costo per 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 è basato quasi interamente su software distribuito con licenze libere, e in questo caso la licenza più importante è la GNU General Public License (GPL). La GPL impone a chiunque distribuisca i binari di rendere disponibile anche il codice sorgente corrispondente. Red Hat rispettava questo obbligo pubblicamente: inizialmente pubblicava i Source RPM (SRPM, cioè il codice sorgente pacchettizzato di ogni componente) su un server pubblico e, in seguito, nei repository di git.centos.org.
Il codice sorgente non costituisce l'intero prodotto. Due elementi di RHEL non sono mai stati liberamente copiabili. I marchi Red Hat appartengono a Red Hat, quindi chi ricostruisce il sistema deve rimuovere ogni logo e ogni riferimento al nome. Anche i servizi a pagamento restano riservati agli abbonati: i server per gli 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, li si ricostruisce e si pubblica il risultato. L'obiettivo era ottenere una 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 in modo identico, quel software funziona anche su di essa, sebbene il fornitore non offra supporto in quell'ambiente.
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 è stata pubblicata il 14 maggio 2004 con il numero 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 e non aveva costi di licenza. Le aziende di hosting lo usavano per le immagini predefinite, le università lo eseguivano sui cluster, i fornitori di appliance lo 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 era tra i sistemi operativi disponibili e spesso era l'opzione predefinita.
CentOS Linux 7 dimostra che questa promessa veniva mantenuta. È stato pubblicato il 7 luglio 2014 e il supporto per la sicurezza è proseguito fino al 30 giugno 2024, pochi giorni in meno di dieci anni completi. È per questo che gli utenti si sentivano sicuri nel pianificare un ciclo di dieci anni basato sulla release successiva.
Cosa cambiò quando CentOS entrò in Red Hat nel 2014
Il 7 gennaio 2014, Red Hat e il CentOS Project annunciarono che avrebbero unito le forze. Nell'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 divennero dipendenti di Red Hat e il progetto ottenne un comitato direttivo formale.
Per gli utenti, gli effetti visibili furono positivi. Le build arrivavano più rapidamente dopo ogni release di RHEL. I sorgenti furono spostati su git.centos.org. Gli Special Interest Groups produssero contenuti aggiuntivi rispetto alla distribuzione di base, come gli stack per la virtualizzazione e lo storage.
Il cambiamento strutturale fu meno evidente, ma fu quello che contò sei anni dopo. Il progetto che ricostruiva RHEL era ora finanziato e gestito in larga parte dall'azienda che vendeva RHEL. Questo accordo non obbligava Red Hat a mantenere in funzione la 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. Ciò che gli utenti hanno perso è stata una data su cui avevano già basato i propri piani, su macchine già in produzione, con poco più di un anno di preavviso. La migrazione di un sistema operativo su un'intera flotta richiede una pianificazione; in questo caso è diventata un'attività non pianificata, con una scadenza precisa.
Che cos'è esattamente CentOS Stream?
Molte descrizioni presentano ancora CentOS Stream come il prodotto che ha cancellato CentOS Linux. La sequenza temporale è corretta, ma la descrizione è sbagliata, 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 lavoro passa da Fedora a CentOS Stream e quindi a RHEL: un pacchetto compare prima in Stream e raggiunge in seguito una minor release di RHEL. Stream viene aggiornato continuamente, quindi non rimane fermo tra una minor release e l'altra come accade con un RHEL rilasciato.
Per questo 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 mostra quella release con mesi di anticipo. Se vuoi correggere un bug in RHEL, puoi inviare la patch a Stream, cosa che una ricostruzione downstream non permetteva. Nel 2020 Red Hat sosteneva che questo trasformasse una copia passiva in una distribuzione che la community può effettivamente modificare.
Stream resta comunque un sostituto inadeguato di ciò che gli utenti di CentOS Linux cercavano, e la durata del supporto lo dimostra. 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 una flotta con un piano decennale non ha ricevuto una versione più rapida di quel 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 della pubblicazione dell'annuncio su CentOS, da Gregory Kurtzer, che aveva avviato il progetto da cui è nato CentOS. Il nome rende omaggio a Rocky McGaugh, uno dei primi cofondatori di CentOS. Il progetto è gestito dalla Rocky Enterprise Software Foundation (RESF) e il principale finanziatore 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", è seguita 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 all'anno a una ricostruzione gratuita di RHEL, allora chiamata 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 titolarità è 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 con modelli di governance diversi. Rocky è nato dalla persona che aveva avviato CentOS, con un'azienda costruita attorno al progetto. AlmaLinux è nato da un'azienda che ha trasferito il marchio a una fondazione il giorno della pubblicazione. 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 relativo a RHEL. Le sorgenti di RHEL che venivano pubblicate su git.centos.org non furono più 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 soggetti che hanno ricevuto i binari. A cambiare fu il canale pubblico. Il registro, pacchetto per pacchetto, di ciò che era stato incluso in una determinata release minor di RHEL non veniva più pubblicato apertamente. Inoltre, CentOS Stream precede RHEL, anziché essere allineato a esso. Di conseguenza, un progetto di ricostruzione che lavora soltanto a partire da Stream non può riprodurre esattamente una versione minor già rilasciata.
La posizione di Red Hat era che Stream fosse il progetto upstream e che il codice sorgente pubblico dovesse appartenere all'upstream. La posizione dei progetti di ricostruzione era che il cambiamento avesse rimosso il materiale sul quale si basavano dal 2004. Entrambe le descrizioni sono corrette. Il disaccordo riguarda lo scopo della licenza, non il suo contenuto.
Come hanno risposto le ricostruzioni e cos'è OpenELA
Rocky Linux ha risposto per primo. In un post datato 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, ai sensi della 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à con l'application binary interface (ABI). La compatibilità ABI significa che il software compilato per RHEL funziona senza modifiche su AlmaLinux, anche se le due distribuzioni non sono build identiche. Questa scelta ha aumentato la libertà del progetto. AlmaLinux può distribuire una correzione prima di RHEL e continuare a supportare hardware che RHEL non supporta più.
Anche due vendor più grandi hanno modificato la propria posizione. L'11 luglio 2023, SUSE ha dichiarato che avrebbe creato un fork pubblico di 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 categoria con un unico obiettivo: pubblicare i sorgenti di Enterprise Linux affinché le distribuzioni compatibili con RHEL possano continuare a essere realizzate e affinché tali sorgenti restino liberamente ridistribuibili. Nel novembre 2023 ha annunciato i propri documenti di governance e la disponibilità del codice. AlmaLinux non ha aderito, in linea con la sua decisione sull'ABI, perché non ha più bisogno di un feed esatto dei sorgenti.
Quale distribuzione conviene 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 è conclusa la vicenda. 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 release pubblica un periodo di supporto di 10 anni. CentOS Stream 10 pubblica 5 anni, un'indicazione chiara del fatto che si tratta di un ramo di sviluppo e non di un obiettivo stabile.
I progetti hanno iniziato a differenziarsi anche in modi che possono creare problemi pratici. 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 rimosso il supporto per x86-64-v2. AlmaLinux 10 usa x86-64-v3 per impostazione predefinita e pubblica una build separata x86-64-v2 per i processori più vecchi. Su un VPS economico eseguito su un host con una CPU datata, questa singola scelta determina se il sistema può essere installato. Se stai valutando questo compromesso per una macchina specifica, il confronto tra le due rebuild per un VPS mette a confronto le promesse di compatibilità e i requisiti CPU. Le differenze proseguono dopo l'installazione, e installare Docker Engine su Rocky Linux o AlmaLinux è spesso la prima che si incontra, perché podman occupa già il comando docker e SELinux rietichetta i bind mount in modi che una guida per Ubuntu non prende in considerazione.
Quattro interpretazioni pratiche della cronologia:
- Se ti serve il rapporto diretto con il vendor, 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 arrivi da una macchina Debian o Ubuntu, l'adattamento quotidiano riguarda soprattutto il package manager; tieni quindi a portata di mano l'equivalente dnf di ogni comando apt durante la prima settimana.
- Se scrivi software che deve funzionare su RHEL o vuoi che le tue patch vi arrivino, CentOS Stream è l'obiettivo corretto e il periodo più breve è il prezzo da pagare.
- Se nessuno di questi casi si applica, il mondo Debian risponde alla stessa domanda sul ciclo di vita a modo suo, e la scelta tra Ubuntu LTS e le release intermedie è la versione di questa decisione che incontrerai in quell'ambito.
La lezione di fondo riguarda la governance più che il codice. CentOS Linux era un buon software, ma il suo ciclo di vita è terminato in anticipo perché era finanziato dall'azienda il cui prodotto replicava. Quando scegli una distribuzione per una macchina che prevedi di eseguire 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 personalmente gli aggiornamenti, quindi la fine anticipata del ciclo di vita diventa una migrazione da pianificare e tempo da investire. La parte ordinaria di questo lavoro non richiede la tua presenza davanti alla tastiera, e configurare dnf-automatic per installare gli aggiornamenti di sicurezza in base a una pianificazione ti lascia libero di dedicare l'attenzione alle migrazioni che richiedono davvero il tuo intervento. Installare una patch non equivale a eseguirla, quindi verifica quali di questi aggiornamenti richiedono un riavvio e quali richiedono soltanto il riavvio di un servizio prima di considerare aggiornata una macchina. 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 è dismesso. CentOS Linux 8 ha raggiunto la fine del ciclo di vita il 31 dicembre 2021 e CentOS Linux 7 il 30 giugno 2024, quindi 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 ed è quindi esposto; 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 rilasciava una release secondaria di RHEL e CentOS la ricostruiva in seguito. CentOS Stream è upstream: è il ramo in cui viene assemblata la release secondaria successiva di RHEL, quindi i relativi contenuti arrivano prima di RHEL e non dopo. Stream viene aggiornato continuamente invece di rimanere congelato, e CentOS Stream 10 offre un periodo di supporto di circa cinque anni, contro i dieci anni di RHEL.
Devo scegliere Rocky Linux o AlmaLinux?
Entrambi sono gratuiti, seguono da vicino RHEL e pubblicano un periodo di supporto di dieci anni; per la maggior parte dei server, quindi, entrambi sono adatti. Le differenze pratiche derivano dalle decisioni prese nel 2023. Rocky punta a corrispondere a ogni release di RHEL, ricostruendo i pacchetti dai sorgenti ottenuti tramite immagini container UBI e istanze di cloud pubblico. AlmaLinux punta alla compatibilità ABI, che gli 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; sull'hardware più vecchio, questo dettaglio può quindi determinare la scelta.
Red Hat ha violato la GPL nel 2023?
Nessun tribunale lo ha stabilito, e l'obbligo previsto dalla GPL vale nei confronti delle persone che ricevono i binari. Red Hat continua a fornire ai propri clienti i sorgenti corrispondenti. La controversia riguarda ciò che accade dopo: un abbonamento può non essere rinnovato e i progetti di ricostruzione interpretano questa possibilità come una pressione a non esercitare il diritto di ridistribuzione concesso dalla licenza. Per questo Rocky è passato a modalità di accesso ai sorgenti che non prevedono un accordo di abbonamento e OpenELA è stata costituita per pubblicare apertamente i sorgenti.
Perché Red Hat ha dismesso CentOS Linux?
Il motivo dichiarato nell'annuncio dell'8 dicembre 2020 era che il futuro del progetto fosse CentOS Stream e che una ricostruzione che si limitava a copiare RHEL non offrisse alla community alcun modo per influenzarlo. 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 permettersi un abbonamento. I post di Red Hat affrontano il modello di sviluppo, non questa interpretazione.