I calendari di rilascio delle distribuzioni Linux

Uno degli aspetti del lavoro con Linux rispetto a quello con Windows è la varietà e le sfide dei diversi calendari di rilascio. Nel mondo di Windows questo è piuttosto semplice: c’è un solo prodotto e viene rilasciato quando viene rilasciato, ovvero all’incirca una volta ogni due anni circa. Chiunque lavori con Windows è ben consapevole delle release imminenti, di quando avverranno, di quando entreranno in release candidate, di quando giungerà il loro fine vita e così via. È tutto molto chiaro e molto semplice.
Nel mondo di Linux, questo è molto diverso. Naturalmente, la differenza più grande è che Windows è un solo prodotto, una sola cosa proveniente da un unico fornitore. In Linux parliamo di una “famiglia” di prodotti correlati provenienti da molti fornitori, alcuni con più prodotti. Ciò si aggiunge al calendario di rilascio del kernel che proviene da Linux stesso – di cui qui non ci preoccuperemo.
Ogni distribuzione è unica e prende le proprie decisioni di rilascio. In effetti, il calendario di rilascio è spesso un fattore chiave in ciò che distingue una distribuzione da un’altra. Per esempio, tutti e tre i principali fornitori di Linux enterprise offrono due prodotti differenti e, in tutti e tre i casi, la differenziazione riguarda principalmente il calendario di rilascio! Quindi il concetto di calendario di rilascio è certamente importante in questo mercato.
Ci sono tre principali “stili” di rilascio che troviamo in tutti i sistemi operativi, non solo nelle distribuzioni Linux: rilascio a lungo termine, rilascio a breve termine e rilascio continuo (rolling release). Ciascuno stile di rilascio serve a uno scopo diverso, ma tutti seguono in genere un insieme simile di regole.
L’idea alla base di una release è che i pacchetti al suo interno non cambieranno al di fuori delle patch di sicurezza e stabilità. Naturalmente, ciò si fonda sul comportamento dei fornitori enterprise così come esistono oggi; una qualsiasi distribuzione può scegliere di seguire le norme consolidate oppure no. Non esistono regole intrinseche dell’universo che rendano questo comportamento tale quale è; ma è una forte convenzione e il concetto di release si basa su questa convenzione.
Rilascio a lungo termine
Questo modello di rilascio è il più comune nell’ambito generale dei sistemi operativi enterprise ed è seguito, al di fuori di Linux, da sistemi come FreeBSD, Solaris, AIX, Mac OSX e Windows. Le release a lungo termine, spesso indicate con LTS, sono progettate attorno a bassi tassi di cambiamento del sistema, fornendo anni, talvolta molti anni, tra una release principale di sistema e l’altra, consentendo ai team IT di evitare migrazioni molto più a lungo e offrendo ai fornitori di software obiettivi stabili per un lungo periodo.
Nel mondo Linux enterprise, tutti i fornitori offrono almeno un prodotto a rilascio a lungo termine. Questi sono i più comunemente implementati.
Da Red Hat, i prodotti RHEL e CentOS sono a rilascio a lungo termine con cicli di rilascio estremamente lunghi – non secondo un calendario prefissato, ma attualmente con un rilascio ogni tre o quattro anni.
Suse ha due prodotti LTS: Suse Linux Enterprise Server e openSuse Leap. SLES mantiene un calendario di rilascio attualmente compreso tra tre e cinque anni e openSuse Leap si basa in modo relativamente stretto sulle release di SLES.
La release LTS di Ubuntu è opportunamente chiamata LTS ed esce ogni due anni negli anni pari, in aprile, con precisione cronometrica. Ubuntu ha attualmente il ciclo di rilascio più breve tra tutti i prodotti LTS di questa categoria.
Tutte le release a lungo termine hanno release minori che escono tra le release principali e portano piccole modifiche o aggiustamenti ai sistemi operativi che sono più consistenti di quanto sarebbe appropriato rilasciare con una patch, ma non abbastanza importanti da giustificare il rilascio di un nuovo sistema operativo. L’idea di queste release minori è che siano abbastanza piccole da non essere “breaking”, consentendo al software destinato alla release principale di restare funzionante per tutto il ciclo della release principale. Le release principali sono considerate “breaking”, con grandi cambiamenti come nuove e significative funzionalità del kernel, modifiche nella scelta dei pacchetti, nuove funzionalità del compilatore, librerie diverse e così via.
Rilascio a breve termine o rapido
I calendari di rilascio a lungo termine creano ovviamente problemi a chi è in cerca di pacchetti e funzionalità più moderni. Per ovviare a questo, tutti i fornitori di Linux enterprise offrono un prodotto a rilascio a breve termine.
Red Hat fornisce la distribuzione Fedora, che viene rilasciata all’incirca ogni sei mesi, ma con un calendario flessibile. Fedora non è esattamente una distribuzione separata da RHEL e CentOS, ma piuttosto, ogni tanto, una release di Fedora viene scelta per essere la “base” di una futura release di RHEL e CentOS. La derivazione non è diretta e talvolta vengono aggiunti alcuni pacchetti da release successive di Fedora, vengono apportate alcune modifiche, ma le fondamenta corrispondono fedelmente a una release di Fedora. La release di Fedora viene congelata e sottoposta a test approfonditi prima di trasformarsi in una release RHEL a lungo termine.
La famiglia Suse non utilizza un prodotto a rilascio a breve termine ed è unica in questo.
Ubuntu ha una strategia in qualche modo diversa da quella di Red Hat. Ubuntu rilascia un prodotto ogni sei mesi, secondo un calendario molto preciso. Ogni quarta release è designata come release a lungo termine, le altre tre sono release a breve termine. Ciò dà luogo a un sistema molto più semplice e lineare rispetto a come funziona Red Hat, con utenti delle release a breve termine e utenti delle release a lungo termine che si sovrappongono per sei mesi ogni due anni.
Rilascio continuo (Rolling Release)
Il tipo di calendario di rilascio più rapido è quello del rilascio continuo, che avviene fondamentalmente senza interruzione. Questa strategia di rilascio è poco comune, ma sta iniziando a essere presa più sul serio negli ultimi tempi. Oggi solo Suse, con la distribuzione openSuse Tumbleweed, fornisce un sistema enterprise a rilascio continuo. Gli aggiornamenti possono essere frequenti quanto ogni paio di giorni.
A differenza degli altri calendari di rilascio, che prendono grandi gruppi di pacchetti e li “congelano” come un’unica release, il rilascio continuo prevede aggiornamenti ai singoli pacchetti man mano che sono pronti. Gli aggiornamenti sono quindi piccoli, ma costanti. Ciò consente un adattamento semplificato, mantenendo i cambiamenti su scala micro, ma rende molto difficile creare un obiettivo unico e prevedibile.
Chi è alla ricerca dei pacchetti più aggiornati e delle funzionalità all’avanguardia troverà nei rilasci continui il modo migliore per mantenere tutto il più aggiornato possibile.
Un aspetto importante da comprendere sui calendari di rilascio è che questo non è direttamente legato né alla durata del supporto fornito a una release, né indica la quantità di test che confluisce in ciascuna release.
Ogni stile di rilascio svolge un ruolo importante nell’ecosistema di sistema e, disponendo di stili di rilascio diversi, il mondo Linux enterprise dispone di maggiore varietà e flessibilità per soddisfare una gamma di esigenze più ampia di quanto sarebbe altrimenti possibile.
Attualmente, le release a lungo termine sono le più importanti e diffuse nell’amministrazione dei sistemi, ma questa tendenza sembra improbabile che continui. La stabilità complessiva nell’intero ambito di Linux enterprise è aumentata e la necessità di essere aggiornati è così spesso una preoccupazione più critica che distribuzioni più rapide sono sempre più desiderate.
