RedHat, profitto e comunicazione: crisi dell’open source

di Fabio De Sicot (*)(**)

by opensourceway


Redhat, con una decisione che ha spiazzato molti utenti, ha deciso che, da ora in poi, rilascerà il codice sorgente soltanto attraverso il repository di Centos Stream, mentre il codice di RHEL sarà disponibile attraverso il portale di RedHat accessibile con un account registrato. In questo articolo proveremo ad analizzare le conseguenze che questa decisione rappresenta per tutta la comunità open source.

INTRO
Una stanzetta, una luce accesa ed una finestra semi aperta. Era il lontano settembre del 1999 ed un bambino, che amava scienza e tecnologia, si apprestava ad installare la sua prima distribuzione Linux. Dopo molte ore, e dopo molti tentativi, sul monitor apparve la scritta “kernel panic”. Inconsapevole di cosa stava leggendo, e intestarditosi nel voler risolvere il problema, quel bambino non si scoraggiò e continuò a provare e riprovare finché non apparve una schermata nera con la richiesta di login. Nessun server grafico, nessun accesso ad internet, tante man pages da consultare. Quando il sole fu alto nel cielo, il padre lo trovò ancora davanti al computer e gli chiese “hai fatto colazione”?

LEGAMI AFFETTIVI INVOLONTARI
In quelle prime notti insonni imparai una cosa: poter leggere il codice sorgente di un software, poter attivare o disattivare un modulo del kernel, poter creare un link simbolico, poter navigare liberamente fra i file di configurazione, modificarli e potenzialmente distruggerli facendo danni(!), era straordinariamente importante. Stavo, in sostanza, “imparando cose” grazie all’open source, un’idea sviluppatasi negli anni ’80 grazie alla Free Software Foundation di Richard Stallmann che poi diede vita a licenze come la GPL, la MIT, la Apache, la MPL e così via. Il kernel Linux, appunto, era rilasciato proprio sotto licenza GPL, e quella era una distribuzione GNU/Linux.

Sviluppai quasi immediatamente una sorta di legame affettivo con la RedHat. Un po’ perché (forse) il primo amore non si scorda mai, un po’ perché quel terminale mi faceva capire quanto fossi ignorante. E la cosa mi piaceva tanto (masochismo uber alles).

RedHat Linux (aka RHL), insieme a Slackware, Debian e altre, era una delle distribuzioni più popolari a quei tempi. La sua prima versione stabile venne pubblicata nel lontano 1995 e resistette fino alla fine del 2003, anno dell’ultima release numerata come 9.0.

A quel punto della storia, apparvero in campo però i primi tre attori  di cui ci occuperemo. Il primo si chiama RedHat Enterprise Linux (aka RHEL) , l’altro Fedora e il terzo (l’attore principale) CentOS .

RHEL, OPEN SOURCE E PROFITTO
RedHat Enterprise Linux è una distribuzione GNU/Linux, nata negli anni 2000 e sviluppata principalmente per utilizzo aziendale. Per poterla utilizzare a lungo termine – discorso diverso è il programma developer che è gratuito fino a 16 nodi – una azienda deve acquistare una licenza d’uso che, per esperienza, definirei non esattamente economica. È basata sul codice sorgente open source di Fedora, ha un ciclo di vita del prodotto che solitamente è di dieci anni, e fornisce una serie di certificazioni hardware e software che possono essere rilevanti in campo professionale. Per narrare un po’ di storia, RHEL nacque a seguito della decisione da parte di RedHat di fornire un servizio “premium” alle aziende che avevano bisogno di supporto IT per sistemi Linux e a seguito – giusto un anno dopo – della sua prima quotazione in borsa con il simbolo RHAT. Quando si dice: i conti contano.

Va detto, ad onor del vero, che il sistema RHEL è da sempre estremamente stabile. Tanto per essere chiari, giusto il CERN di Ginevra (non uno qualunque) utilizza RHEL per gestire i dati provenienti dagli esperimenti effettuati col Large Hadron Collider. Inoltre, pacchetti come Ansible, Cockpit, Satellite, OpenShift, Virtualization e altri, forniscono spesso un incentivo alle aziende per rimanere all’interno del costoso(!) ecosistema Redhat.

Si può dunque far business con l’open source? Si, si può.

UPSTREAM, DOWNSTREAM
Per spiegare il concetto di “upstream” e “downstream” proverò a fare una analogia. Immaginate di essere in procinto di scrivere un libro. La vostra bozza, piena di correzioni, verifiche, magari anche appunti. la chiameremo upstream. La copia della versione finale, magari con una differente introduzione o una differente copertina, la chiameremo invece downstream.

Fedora è tradizionalmente considerata una distribuzione upstream rispetto a RHEL. Ciò significa che Fedora è un ambiente di sviluppo in cui vengono introdotte nuove funzionalità che, successivamente, vengono integrate in RHEL. Allo stesso modo, CentOS Linux era una distribuzione downstream rispetto ad RHEL, e cioè aveva l’obiettivo di fornire una versione gratuita di RHEL, senza le componenti proprietarie, ma mantenendo la piena compatibilità binaria. Questo significa che CentOS manteneva la stabilità tipica di RHEL, e inoltre tutte le applicazioni sviluppate primariamente per RHEL potevano essere eseguite 1:1, senza problemi, anche su CentOS.

UN ATTO DI RIBELLIONE (parte 1/2)
La distribuzione CentOS nacque nel 2004 come un tentativo, da parte di alcuni sviluppatori fra cui Gregory Kurtzer, di creare un clone di RHEL, disponibile per tutti, stabile e, sopratutto gratuito. Questo dava un vantaggio competitivo a piccole aziende e singoli sviluppatori che, potendo usufruire della stabilità del codice RHEL senza impattare sulle proprie finanze, potevano fornire servizi, creare progetti e sviluppare applicazioni completamente compatibili.

Questa operazione era permessa dal fatto che tutto il codice sorgente di RHEL, linea per linea, tarball per tarball, rispettando una consuetudine ormai consolidata nel mondo open source, era disponibile pubblicamente per il download.

CentOS, inoltre, era un sistema stabile e sicuro anche a livello desktop, e quindi molti utenti cominciarono ad usarlo come rpm-based distro anche in alternativa alla upstream Fedora. I due team cominciarono ad interagire e collaborare insieme. Fu così che RHEL rimase, per anni, relegato soltanto alle ricche aziende che potevano permettersi una salata e costosa sottoscrizione.

Intorno al 2014, a seguito delle statistiche che mostravano come CentOS fosse una delle distribuzioni Linux più utilizzate a livello server, RedHat decise di supportare finanziariamente CentOS con l’intento di integrare il lavoro che i due team realizzavano separatamente. Sembrava una buona notizia, e forse lo era, ma non lo fu per molto. CentOS divenne un progetto direttamente controllato da RedHat e circa 6 anni dopo, A.D 2020, RedHat comunicò la morte di CentOS in luogo di un nuovo progetto, upstream stavolta, chiamato CentOS Stream. CentOS Stream non era un clone 1:1 di RHEL, e l’ultimo supporto ufficiale per CentOS 7 si sarebbe interrotto nel 2024.

CentOS è morto, lunga vita a CentOS.

UN ATTO DI RIBELLIONE (parte 2/2)
La comunità open source, usando un eufemismo, non la prese benissimo. Molti collegarono la decisione di chiudere il progetto ad una storica acquisizione che aveva riempito le pagine dei giornali appena un anno prima. IBM infatti, nel 2019, aveva acquisito RedHat pagandola una cifra pari a 34 milioni miliardi di dollari. In una intervista rilasciata a The Register, lo sviluppatore Brian Exelbierd dichiarò che il progetto CentOS stava finendo semplicemente perché Red Hat aveva rifiutato di investirci sopra. Come si dice in gergo “business is business”, ma evidentemente non per tutti.

A questo punto della storia, quando tutto sembra andare male, come in una favola dove ci sono i buoni e i cattivi, gli eroi tornano alla ribalta e rimescolano tutte le carte in tavola. Uno di quegli eroi lo abbiamo già incontrato: si chiama Gregory Kurtzer ed è uno dei fondatori di CentOS. Kurtzer, a seguito dell’infausta decisione di RedHat, decise di creare la distribuzione Rocky Linux con lo scopo di ricominciare laddove CentOS si era fermata, e cioè avere un clone 1:1 completamente compatibile con RHEL e sopratutto gratuito. Inoltre, unendo al danno anche la beffa, Rocky creò uno script su github per poter migrare automaticamente tutti i server con CentOS 8 a Rocky. Quasi contemporaneamente, altri progetti, aderendo alla filosofia del free e open source, nacquero con lo stesso scopo, il più popolare dei quali era certamente Alma Linux.

CentOS dunque non era morto, lunga vita a CentOS.

DUE PAROLE SULLA LIBERTÀ
Prima di entrare sulla mera attualità, vi chiedo un attimo di pazienza per poter, perlomeno, introdurre i concetti essenziali del FOSS (Free and Open Source Software). Generalmente, quando si parla di software libero, si parla della licenza GPL ma questo è tristemente molto riduttivo. Le licenze sono molte e ogni distribuzione può aderire a differenti licenze. La stessa RockyLinux aderisce non alla GPLv2 come RHEL ma alla BSD 3-Clause, AlmaLinux aderisce alla GPLv2 e così via. Ed è ancora più complicato di così: ogni pacchetto interno alla distro potrebbe essere rilasciato secondo una licenza differente. Ciò nonostante, tutte le licenze open source sottostanno a quattro pilastri fondamentali formulati dalla Free Software Foundation circa 30 anni fa.

Libertà 0: libertà di utilizzare il programma
Libertà 1: libertà di studiare il programma e di modificarlo
Libertà 2: libertà di distribuire copie del programma originale
Libertà 3: libertà di distribuire copie del programma con i suoi miglioramenti

Tenendo a mente questi pilastri…

RHEL CHIUDE IL CODICE. MA DAVVERO DAVVERO?
Con un post da appena 2046 caratteri intitolato “Furthering the evolution of CentOS Stream“, RedHat comunica che “CentOS Stream sarà da ora in poi l’unico repository per le versioni pubbliche di codice sorgente relative a RHEL. Per i clienti e i partner di Red Hat, il codice sorgente rimarrà disponibile tramite il Red Hat Customer Portal”.

Ok, facciamo un passo indietro. Vi ricordate quando abbiamo detto, parlando di CentOS come clone originale 1:1, che questa operazione era permessa dal fatto che tutto il codice sorgente di RHEL, linea per linea, tarball per tarball, era disponibile pubblicamente per il download ? Bene, il problema sta tutto qua. Se l’unico codice aperto da ora in poi sarà quello di CentOS Stream, che è una versione upstream di RHEL, vuol dire il codice sorgente di RHEL sarà disponibile solo sul portale RedHat con accesso chiuso ai clienti. Ora, stante il fatto che si può creare un account sul portale RedHat senza dover pagare un centesimo, il problema è la “user agreement“. Infatti, se RedHat identificasse un utilizzo non appropriato del proprio codice, in base alle clausole che si accettano in ambito di registrazione, avrebbe tutto il diritto di chiudere l’account incriminato.

Ma, come specifica la Software Freedom Conservancy riguardo la licenza GPLv3:

Non è possibile imporre ulteriori restrizioni all’esercizio dei diritti concessi o confermati ai sensi della presente licenza. Per esempio, non si può imporre un canone di licenza, royalty o altro addebito per l’esercizio dei diritti concessi ai sensi della presente licenza.

La situazione dunque è un gioco di legalese molto complesso. Tanto complesso che le reazioni prese da RockyLinux e da AlmaLinux non sono dello stesso tono. Anzi

https://almalinux.org/blog/impact-of-rhel-changes/

Questo cambiamento significa che noi, in qualità di costruttori di un clone RHEL, saremo ora responsabili delle licenze e degli accordi intorno alle interfacce di RedHat. Purtroppo il modo in cui lo comprendiamo oggi, gli accordi di interfaccia utente di Red Hat indicano che la ripubblicazione delle fonti acquisite attraverso il portale clienti sarebbe una violazione di tali accordi.

https://rockylinux.org/news/2023-06-22-press-release/

Mentre questa decisione cambia l’automazione che usiamo per la costruzione di RockyLinux, abbiamo già creato una mitigazione a breve termine e stiamo sviluppando la strategia a lungo termine. Non ci saranno interruzioni o modifiche per gli utenti, collaboratori o partner di RockyLinux.

La comunità open source ha reagito in maniera non univoca e sullo storico portale LWN.net, i commenti degli utenti non tardano a segnalare dettagli, pareri popolari e impopolari, e prospettive per un incerto futuro. Il problema è che, a mio (e non richiesto) parere, questo è un precedente molto pericoloso che se passasse senza conseguenze potrebbe aprire la strada alla fine dell’open source per come noi lo conosciamo. Senza contare la profonda crisi che sta vivendo, negli ultimi anni, la licenza GPL. Viviamo in tempi interessanti.

QUANDO LA TOPPA È PEGGIO DEL BUCO
In un tentativo, direi raffazzonato, di mettere una pezza al disastro comunicativo degli ultimi giorni, il vice presidente delle piattaforme core Mike McGrath decide di scrivere un altro post sul blog RedHat. E qui le cose si chiariscono. In peggio. Dopo essersi opportunamente lamentato del fatto che la comunità open source ha cominciato ad appellare RedHat come “maligna” e “contro l’open source” (qui alcune delle reazioni sotto un toot di Jeff Geerling) ecco che arrivano alcune frasi capolavoro:

gran parte della rabbia per la nostra recente decisione proviene da coloro che non vogliono pagare per il tempo, gli sforzi e le risorse che entrano in RHEL o da coloro che vogliono riconfezionarlo per il proprio profitto

E poi:

la semplice ricostruzione del codice, senza aggiungere valore o modificarlo in alcun modo, rappresenta una vera minaccia per le aziende open source ovunque. questa è una vera minaccia per l’open source ed ha il potenziale di riportare l’open source in un’attività riservata soltanto agli hobbisti e agli hacker

Di grazia: da quando è diventato un problema che l’open source sia una attività per hobbisti e hacker? Se non fosse per hobbisti e hacker, Linux neanche esisterebbe e IBM non pagherebbe neanche un lauto stipendio a McGrath. Così, per ricordare l’ovvio eh…

UNA COMUNICAZIONE FATTA MALE
Negli ultimi anni, RedHat ha davvero dato un calcio alla reputazione che, durante questi anni si era guadagnata nel mondo open source. RedHat da sempre sponsorizza progetti per la promozione dell’open source: iniziative, portali, podcast, convegni, chi più ne ha più ne metta. Inoltre RedHat è ad oggi il secondo contributore al mondo per quanto riguarda la scrittura del codice Linux. Ergo: sostenere che RedHat è contro l’open source non è soltanto ingeneroso, ma, dati alla mano, è anche falso. Nonostante ciò, le decisioni di killare CentOS prima e tentare di killare AlmaLinux e RockyLinux poi, non sono proprio nel suo stile. Anzi.

Cara RedHat, sei meglio di così, e lo sai. La comunità ha bisogno di te come tu hai bisogno della comunità. Torna ad essere quello che sei sempre stata e smettila di essere arrogante. Sta casa ‘aspietta à te.

(*) ripreso da Diogene
(**) modificato il 03/07/23

jolek78 on Email
jolek78
Un tizio che pensava di essere uno scienziato. Si ritrovò divulgatore scientifico. Poi si addormentò su un aereo e si risvegliò informatico. Ma era sempre lui.

3 commenti

  • La Rocky Enterprise Software Foundation aggiorna la comunità open source con un nuovo post:
    https://rockylinux.org/news/keeping-open-source-open/

    Alcuni punti essenziali:
    – In precedenza, abbiamo ottenuto il codice sorgente per Rocky Linux esclusivamente dal repository CentOS Git come raccomandato. Tuttavia, questo repository non ospita più tutte le versioni corrispondenti a RHEL. Di conseguenza, ora dobbiamo raccogliere il codice sorgente da più fonti, tra cui CentOS Stream, pacchetti upstream incontaminati e RHEL SRPM. Inoltre, i Termini di servizio (TOS) e i Contratti di licenza per l’utente finale di Red Hat (EULA) impongono condizioni che tentano di impedire ai clienti legittimi di esercitare i loro diritti garantiti dalla GPL. Mentre la comunità discute se questo viola la GPL, crediamo fermamente che tali accordi violino lo spirito e lo scopo dell’open source. Di conseguenza, ci rifiutiamo di essere d’accordo con loro, il che significa che dobbiamo ottenere gli SRPM attraverso i canali che aderiscono ai nostri principi e sostengono i nostri diritti.

    Le due opzioni per mantenere aggiornato il codice:
    – Un’opzione è attraverso l’utilizzo di immagini di container UBI basate su RHEL e disponibili da più fonti online (incluso Docker Hub). Utilizzando l’immagine UBI, è possibile ottenere fonti Red Hat in modo affidabile e non grastruito. Lo abbiamo convalidato attraverso i contenitori OCI (Open Container Initiative) e funziona esattamente come previsto. Un altro metodo che sfrutteremo è le istanze di cloud pubblico pay-per-use. Con questo, chiunque può far girare le immagini RHEL nel cloud e ottenere così il codice sorgente per tutti i pacchetti ed errata.

    E poi:
    – Questi metodi sono possibili grazie al potere della GPL. Nessuno può impedire la ridistribuzione del software GPL. Per ribadire, entrambi questi metodi ci consentono di ottenere legittimamente binari e SRPM RHEL senza compromettere il nostro impegno a favore del software open source o di accettare le limitazioni TOS o EULA che ostacolano i nostri diritti.
    – Nel caso sfortunato in cui Red Hat decida di intensificare gli sforzi per avere un impatto negativo sulla comunità, Rocky Linux continuerà a continuare a servire i migliori interessi dell’intera comunità open source.

    Lunga vita all’open source. Lunga vita alla GPL.

  • “IBM infatti, nel 2019, aveva acquisito RedHat pagandola una cifra pari a 34 milioni di dollari.”
    *miliardi.

    Grazie per l’articolo.

  • Il B di billion inglese fu malandrino. Grazie della nota.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *