buzzoole code

GPL3, l’errore di Free Software Foundation

fsfFree Software Foundation (FSF) ha un grande, innegabile merito: quello di aver portato all’attenzione di milioni di sviluppatori la licenza di distribuzione del software.
Fino alla prima GPL (GNU General Public License) non c’era una licenza di riferimento, tutti i programmatori scrivevano la loro, con un moltiplicarsi di clausole e con l’effetto collaterale che era pressoché impossibile utilizzare materiale di altri per ovvi motivi di incompatibilità.

Le prime versioni della GPL hanno avuto un effetto catalizzante: una licenza comprensibile, con principi di funzionamento abbastanza chiari, non certo ideale per tutti i casi ma, tra una licenza non perfetta ma standard e una licenza sempre nuova di dubbia validità legale, molti sceglievano la prima, anche perché non tutti possono permettersi un avvocato esperto di licenze software.
Ma FSF ha anche un grosso difetto: essere troppo abile nei giochi di parole.

Di convegno in convegno, di presentazione in presentazione, è passata l’analogia che chi utilizza la GPL non lo fa per quello che sta scritto nelle clausole della licenza, come sarebbe lecito aspettarsi essendo comunque un bel pezzo di “legalese”, ma per i principi fondamentali che la FSF persegue, e che stanno tutti nella testa di una persona, Richard Stallman, di cui la GPL rappresenta il “braccio operativo”.
Il papà di Linux, Linus Torvalds, non è d’accordo, e si rifiuta di prendere parte a questo meccanismo perverso: la sua opinione la esprime in pubblico, sulla Linux Kernel Mailing-list, con frasi fin troppo chiare:

And you are just parrotting their (della FSF, NdR) idiotic line.
(…) Dammit, the GPL is a license. I understand it quite well. Probably better than most. The fact that the FSF then noticed that there were *other* things that they wanted to do, and that were *not* covered by the GPLv2, does *not* mean that they can claim that others “misunderstood” the license.
I understood it perfectly fine, and it fit my needs. So tell me: who is the more confused one: the one who chose the license fifteen years ago, and realized what it means legally, and still stands behind it? I don’t think so.

Linus Torvalds ha scelto la GPL per le clausole contenute nella licenza. Punto.
Parole come “spirito della GPL”, in un contesto del genere, non hanno semplicemente senso. La GPLv3 mi piace poco – parere personalissimo – e mi convince ancora meno.

Ritengo la versione 2 della licenza un buon compromesso: permetteva sia il mantenimento di una comunità, obbligando le modifiche al software a tornare pubbliche, sia la creazione di un ecosistema intorno al software libero, che rendeva possibile alle molte aziende finanziatrici di avere ritorni economici senza dover abbracciare a 360 gradi una “filosofia”, quella open source, che non faceva parte del loro DNA.

Già con la GPL2 però questo ecosistema è in forte crisi: non so se vi siete accorti che, Red Hat a parte, non c’è una sola azienda open source che abbia raggiunto dimensioni considerevoli vantando bilanci in ordine (anche se è bastata una dichiarazione di Larry Ellison (CEO di Oracle, NdR), con la presentazione di Oracle Linux, per far perdere a Red Hat un quarto del suo valore: quel business è davvero così solido?). Red Hat, quella più in salute, vale circa un settantesimo di Microsoft: settanta volte meno!

Le altre società del panorama open source che hanno investito in Linux, quali Caldera, Turbo Linux, VA Linux ecc., se non sono fallite poco ci manca.
La stessa SuSE è stata venduta con i bilanci in rosso, ed anche Novell non va a gonfie vele, tanto che recentemente ha cambiato diversi suoi alti dirigenti, e questo non è mai un buon segno.

Con un ecosistema del genere, già debilitato, i nuovi paletti che la GPL3 inserisce, se da un lato vanno a proteggere quei principi che la FSF persegue, dall’altro rischiano di uccidere il malato, facendolo tornare un gioco per geek. Se a questo rischio la FSF risponde con un “non ce ne importa, i nostri principi vengono prima di tutto”, Torvalds e altri preferiscono un approccio più pragmatico e realista.

Ma spostare il discorso sulla libertà è un vantaggio di troppo che si concede a FSF: per come la vede Torvalds, la GPL3 limita le libertà, non le amplia, ficcando il naso in cose che non dovrebbero riguardare la licenza. È invadenza bella e buona! E soprattutto non si limita a difendere principi generalmente accettati, li impone, con la forza che deriva dal copyright su pacchetti come gcc e glibc, fondamentali per qualsiasi distribuzione: a tal proposito vi invito a leggere questo vecchio post di Ulrich Drepper, maintainer della glibc, che risulta illuminante sotto molti aspetti.

Si equipara quello che FSF vuole sia “legale” con quello che è il proprio credo. Un po’ come se Torvalds, che sviluppa l’unico kernel GPL tecnicamente valido, domani iniziasse a dettare legge sulle licenze software delle applicazioni che possono essere eseguite da Linux: chiunque la vedrebbe come una violazione della libertà, un approccio dittatoriale di Torvalds, non certo come una sua libera scelta come project leader del kernel. Secondo FSF, invece, è una procedura perfettamente lecita.

Chi tiene molto alla libertà dovrebbe quantomeno lasciar liberi gli altri di scegliere se usare o no la nuova licenza, semplicemente utilizzando la clausola “GPL2 o versioni successive”. Non credo sia giusto obbligare ad essere liberi, mi sa un po’ di politica per l'”esportazione della democrazia” tanto cara a certi governi.

Non vedo niente di male nella cosiddetta “tivoizzazione” (v. anche tivoization su Wikipedia): come noto, TiVo è un dispositivo basato su Linux che non si avvia se il sistema operativo viene modificato in qualche sua parte.
Il solo termine “tivoizzazione” è dispregiativo: è il software l’aspetto importante, non il mezzo che lo esegue. Le formule matematiche, alle quali Eben Moglen (mente legale di FSF) equipara gli algoritmi, esistono adesso, esistevano anche prima delle calcolatrici o dei computer, ed esistono indipendentemente dall’hardware in grado di risolverle.

Dove sta quindi il problema? La cosa fondamentale non è che sul TiVo si possa o meno avviare un altro kernel, ma che TiVo pubblichi le modifiche eventualmente apportate al software GPL e che magari vi sia un modo per verificare che il sorgente rilasciato sia proprio quello che, compilato, è in esecuzione sul device.

TiVo attinge a piene mani alla comunità, ma restituisce un sistema “stabilizzato”, non un’accozzaglia di pacchetti, e su quel sistema fornisce garanzie, corre dei rischi anche legali, non si trincera dietro alla fornitura del software “as-is”.

Se oggi si mettono paletti su dove eseguire il software, chi ci garantisce che domani la GPL3.1 o la GPL4 non contengano una clausola che vieterà l’uso di software coperto da GPL nei paesi dove vige la pena di morte, o in quelli non considerati “liberi” (dalla FSF, ovviamente!), o in quelli che non concedono una pensione agli sviluppatori GPL per lavoro usurante? Un po’ più di rispetto per le idee altrui e meno proclami aiuterebbero sicuramente a non dividere la comunità creando blocchi contrapposti, ma a favorirne l’espansione.

La GPL3 gioca contro l’accordo Microsoft-Novell, portando l’azienda di Redmond a modificare i suoi accordi così che la nuova licenza non intacchi i suoi brevetti. Ma con quell’accordo società come Novell, Linspire, Xandros e persino LG non hanno fatto altro che difendere se stesse e i propri azionisti da un eventuale attacco legale: non dovevano farlo? Secondo FSF questo non è illegale, è qualcosa di peggio: è contro quello che Stallman reputa giusto, perché queste società hanno osato trovare un modo per dribblare i vincoli che aveva inserito nella GPL2. Un grave affronto che non poteva rimanere impunito.

Anche se io non lo credo, o ritengo quanto meno che sia un problema che interessi tutti i sistemi operativi, incluso Windows, mettiamo il caso che Linux vìoli davvero certo brevetti di Microsoft: ragionando per assurdo, chi finirà in un’aula di tribunale, il singolo sviluppatore? Punirne uno per allontanarli tutti? O forse verrà citata in giudizio un’azienda che ha le capacità economiche di risarcire un danno, laddove questo vi sia e sia realmente dimostrabile?

Microsoft non indica dove il codice di Linux vìola i suoi brevetti: ma non prendiamoci per il naso, se oggi pubblicasse un report con tutte le violazioni, domani quel codice sarebbe sostituito, e tra due giorni ci sarebbe una distribuzione pulita e nuovamente illibata; chi è stato danneggiato non potrebbe fare più niente.

Ma se quel codice ha creato un danno, se quel codice ha fatto concorrenza sleale perché si è posto in una posizione di superiorità rispetto a quello prodotto da altre società (che, invece, devono rispettare quei brevetti violati pena cause miliardarie), stazionando in una sorta di limbo non punibile, chi dovrebbe risarcire quel danno?
Se quel codice non viola alcun brevetto, quale svantaggi ha portato in pratica l’accordo di Novell con Microsoft?

Ha forse diviso la comunità tra buoni e cattivi? Forse, ma non l’ha divisa più di quanto stia facendo FSF con la GPL3. Con la scusante, o l’aggravante decidete voi, che Novell lo ha fatto per difendere se stessa e gli azionisti.
C’è da chiedersi a questo punto come debba sopravvivere il software open source: si può considerare un costo che ogni Stato dovrebbe sopportare e finanziare, come la scuola o le infrastrutture, perché alza il livello medio tecnologico a disposizione di tutti? Oppure deve restare sul mercato, e dal mercato ottenere le risorse?

Delle due l’una: se qualcuno finanzia si possono seguire alla lettera i principi di chiunque, quelli condivisi almeno.
Altrimenti si deve cercare una collaborazione possibile. L’asticella deve rimanere a metà tra principi e sviluppo, altrimenti il sistema collassa, a tutto vantaggio di chi vede nel free software un nemico.
I grossi progetti, che stanno portando l’Open Source verso penetrazioni di mercato (anche desktop) mai raggiunte prima, senza il fondamentale apporto di società esterne non progredirebbe con la necessaria velocità per sopravvivere.

E non sto parlando di effetti 3D del desktop, dove bastano una manciata di programmatori che lavorano nel tempo libero per ottenere risultati egregi (con l’innegabile soddisfazione di rendere ridicole quelle aziende che hanno fatto passare quegli stessi effetti come chissà quali miracoli), ma parlo di prodotti ormai maturi dove, prima di iniziare a scrivere una riga di codice, c’è da investire parecchio in studio e analisi. Se dietro a quel desktop 3D tanto carino non ci sono le applicazioni, dopo aver giocato con i plug-in di Compiz si torna ad usare le applicazioni dove esse sono.

Penso, ad esempio, a OpenOffice, un progetto che, ricordo, non nasce dalla comunità, ma prende vita perché qualcuno, Sun, ha pagato per rilasciare quel sorgente. E le decine di sviluppatori che lavorano full-time al progetto sono tutti prestati da quelle società (tra cui anche Novell) che, ho paura, si allontaneranno dall’Open Source se l’equilibrio tra ideologia e business si sposterà troppo verso la prima.

Eppure non c’è uno studio che presenti i vantaggi del software libero senza citare OpenOffice: forse perché, senza una donazione così cospicua di codice, l’unica alternativa oggi sarebbe KOffice, un software che, se mai potrà reggere il confronto con i prodotti Microsoft, lo farà in tempi geologici.

Quando lo sviluppo ha due velocità, è sufficiente aspettare abbastanza tempo affinché chi ha più risorse guadagni un vantaggio considerevole in termini di funzionalità, supporto, diffusione, schiacciando il concorrente senza alcuna pietà, libero o no.
Dopo innumerevoli draft, dopo averne discusso per mesi, non ho notizia di UNA sola società che abbia dichiarato l’immediata adozione della GPL3. MySQL, per citare uno dei progetti free software più famosi e con alle spalle una realtà commerciale, per precauzione è passata da GPL2 or later a GPL2 only… quando si dice aver fiducia!

Apple, che basa il proprio motore di stampa su CUPS, pubblicato sotto GPL2, quel prodotto l’ha comprato, ha assunto il principale sviluppatore, e in tre righe – tre! – di comunicato ha trovato spazio per affermare che manterrà la versione attuale della licenza: qualcuno legge questi avvenimenti come una barricata contro la nuova GPL3. E vi risparmio altre dichiarazioni di progetti importanti, che hanno a che fare con il business e con le aziende (Eclipse, ad esempio), che hanno rigettato tout-court la licenza, non risparmiando critiche pungenti a FSF.
E sono commenti provenienti da progetti con licenza open source, non sono commenti del monopolista di turno!

GPL3 è una licenza che ha fatto e continuerà sicuramente a far discutere, se non altro perché è incompatibile con la vecchia GPL2, per cui sarà interessante verificare cosa succederà quando certi software rilasciati sotto GPL3 si linkeranno a librerie ancora coperte dalla GPL2 (v. questo post): se non altro si risolverà una volta per tutte (finalmente!) il dilemma della “viralità” dei link dinamici a librerie condivise, un problema che non si è mai voluto chiarire definitivamente perché dove ci sono risposte cristalline non ci sono spauracchi da agitare (Qui è disponibile una matrice di compatibilità delle licenze pubblicata da FSF, NdR).

È il fatto di essere contro qualcosa l’aspetto che mi convince di meno della GPL3: contro Tivo, contro Microsoft-Novell, contro il DRM, contro i brevetti. Sembra sempre più un manifesto politico, che vive di una vita propria astraendosi dal mondo reale, che una licenza software.
È una licenza anche difficile da leggere, contorta in più parti, e senza le FAQ di chi l’ha scritta si comprende con difficoltà: peccato che, di fronte ad una eventuale causa, quelle FAQ abbiano davvero poco valore, e contano invece le clausole della licenza, nessuna esclusa. Almeno una libertà la GPL3 l’ha eliminata: il diritto a farci capire tutto il testo della licenza senza l’aiuto di esperti legali.

L’adozione della GPL3 intanto prosegue ed oltre ai software di FSF e ad altri minori, degno di nota è il passaggio di Samba, di GPG, di Bayonne alla nuova licenza. In ogni caso, il numero dei progetti che la utilizzeranno ha ben poco valore: dipende quali sono i progetti che migrano, la loro diffusione, la base di utenza, il numero di sviluppatori dietro a quel software, la complessità intrinseca, non il loro numero. Quelli più importanti credo che rimarranno ancorati alla GPL2. Tra l’altro, sono certo che proprio sul numero dei progetti che passeranno alla GPL3 si baserà la futura comunicazione di FSF per dimostrare il successo della nuova licenza… una bella cortina fumogena!

Per concludere, ritengo si sia fatta troppa confusione tra ideologia e legalità, tra quello che FSF identifica come “moralmente accettabile” e quello che deve essere “legalmente accettabile”, forzando una sovrapposizione della prima sulla seconda e facendo leva sulla propria “forza politica” per imporre le nuove scelte, con tecniche non dissimili da quelle usate dalle aziende che molto spesso FSF contesta.

Se dovesse passare la linea di pensiero che FSF ha fatto propria nella GPL3, non oso nemmeno pensare cosa potrebbe riservarci in futuro un’ipotetica GPL4, anche se dubito che saranno in molti ad interessarsene.

Questo Blog è Indipendente e Supportato Solamente dai suoi Lettori.
Se vuoi sostenerlo, Condivi il Post sui Social Network:
Aggiungi il nostro sito alla Whitelist di Adblock Plus
e magari Fai Anche un Acquisto su Amazon partendo da Qui
(a te non costa nulla!).
Tags:, ,