GPL 3 Nuova licenza, vecchi problemi

Linux&C n. 60 – di Andrea Monti
Il 29 giugno 2007 è la data di nascita della GPL3, la licenza che governerà i software sviluppati dalla FSF e da tutti coloro che sceglieranno di “sposare” la visione del mondo di Richard Stallman. Il rilascio di GPL3 è stato preceduto da roventi polemiche (ricordiamo quella innescata dal messaggio di Linus Torvalds che annunciava di non applicare questa licenza al kernel di Linux) che non sembrano destinate a spegnersi. I critici della nuova GPL, infatti, sono convinti che sia troppo restrittiva e che la GPL v.2 sia migliore, mentre chi supporta la nuova arrivata ne esalta le capacità di proteggere le creazioni dei programmatori in modo più flessibile ed efficiente. Per capire quale dei due partiti abbia ragione è necessario, innanzi tutto, andare alle fonti e leggere comparativamente i due testi.

Le novità di GPLv3
Il preambolo, l’introduzione alla licenza vera e propria, ha subito modifiche puramente formali e cosmetiche, a parte l’inclusione di un paragrafo sulla contrarietà ai DRM e un chiarimento sul rapporto fra GPL e brevetti.
Più sostanziali, invece, le modifiche successive: compare un comma intitolato “definizioni”, sul quale poggia l’intero impianto della licenza. Vale la pena di osservare che – ora – è vincolata alla GPLv3 qualsiasi forma di circolazione del software (riassunta nella licenza con il termine propagate), mentre la versione precedente si occupava solo di “copia” e “ridistribuzione”. Come in molti casi – altrove nella licenza – questa è una modifica puramente formale che serve a ridurre le ambiguità del testo piuttosco che ad aggiungere qualcosa di nuova.
Elementi di novità sono rappresentat1, invece, dall’art. 2 (Basic permission) e dall’art. 3 (Digital Restrictions Management) della licenza. Il primo introduce prime limitazioni al diritto di uso del software da parte dell’utente finale in rapporto al rischio di provocare cause per violazione di brevetto. Il secondo vieta la distribuzione di software che violano la privacy degli utenti e limitano, in qualsiasi modo, l’esercizio dei diritti attribuiti con la GPL. Questo articolo ha una importanza centrale perchè si riflette non solo sulla progettazione di un software, ma anche sul modello di business che dovrebbe sostenere la commercializzazione dei servizi a esso collegati. Un esempio fra i tanti è il sistema automatico di aggiornamento di un’applicazione, che conserva la cronologia delle installazioni via via eseguite dall’utente. La cosa si può fare in diverse maniere, dalle più “innocenti” (limitando quanto più possibile tipo e “numerosità” delle informazioni raccolte) a quelle in palese malafede. Dovendo conformarsi alla estrema genericità dell’art. 3 della GPL, quindi, è evidente che non sempre si potrà rispettarne il dettato – la licenza è chiara: è vietata qualsiasi invasione della privacy – e quindi alcuni modelli di business, anche se gestiti in buona fede, saranno comunque in violazione di licenza.

Mentre gli articoli successivi sono, come detto, essensialmente delle riformulazioni di concetti già presenti nella GPL2, l’art. 7 (License compatibility) è di nuova introduzione e limita la facoltà dell’utente di aggiungere ulteriori condizioni di licenza a quelle previste dalla GPL3.

L’art. 9 (Not a contract) tratta in modo alquanto farraginoso e contraddittorio un tema che da tempo è in discussione nella comunità giuridica: una licenza d’uso è un contratto (e quindi richiede di essere accettato dall’utente), oppure è una attribuzione unilaterale di diritti (e quindi l’utente può solo “prendere atto” di quello che gli viene attribuito)? Nella GPL2 il ragionamento funziona più o meno sulla base di questo teorema: “siccome non firmi un documento, allora la licenza non è un contratto”. Questa affermazione può – forse – andar bene per il sistema giuridico nordamericano, ma di certo non in quello italiano, dove i contratti chiamati “a forma libera” non richiedono necessariamente la firma del “pezzo di carta”. La GPL3 cerca di migliorare le cose eliminando il riferimento alla non necessità di firmare il testo della licenza, e introducendo il concetto più generico di “accettazione”, stabilendo un meccanismo analogo a quello delle famigerate “licenze a strappo” tanto care all’industria del software proprietario: per ricevere il software l’utente non è obbligato ad accettare la licenza, ma se lo usa, allora la ha accettata. Al di là del wording, quindi, sembra di poter concludere che, dal punto di vista del diritto italiano, la GPL3 sia a tutti gli effetti un contratto per adesione (tipo quelli di banche e assicurazioni) il che potrebbe privare di valore giuridico almeno alcune parti della nuova licenza.

Potenziali problemi possono derivare dall’introduzione del nuovo art. 11 (Licenza sui brevetti) che impone al titolare di un brevetto che lo utilizza in un software regolato dalla GPL3, di concedere agli utenti licenza gratuita e non esclusiva sul brevetto in questione. Il programmatore che fosse titolare di un brevetto, infatti, potrebbe trovarsi nella condizione di non scegliere la GPL3 perchè questo priverebbe di valore economico la sua creazione. Ora, è vero che questo è il risultato che la FSF intende raggiungere, nello stesso tempo, però è sicuramente discutibile chiedere a un programmatore di rinunciare “in nome della causa” a quella che potrebbe essere la sua unica possibilità di guadagnare una somma decorosa.

Dopo una serie di ulteriori modifiche cosmetiche, merita una “menzione speciale” l’art.18 che chiude la licenza: a meno che non sia specificamente indicato, il programma non è stato collaudato per essere utilizzato in ambienti a rischio sicurezza.

Una licenza “contro”
Il problema fondamentale della GPL3, già evidenziato da Linus Torvalds, è l’accentuazione della componente integralista e politica già presente – ma tollerabile – nella GPL2.

La GPL3 non è uno strumento giuridico per regolare determinati rapporti economici, ma un vero e proprio “atto etico” che distingue i “buoni” dai “cattivi”. Si tratta, in altri termini, non di una licenza “per” ma di una licenza “contro”.

Per convincersene, basta leggere cosa scrive la FSF sul “perché” di GPL3: uno dei maggiori pericoli bloccati da GPL3 è la Tivoizzazione. Tivoizzazione significa computer (chiamati “appliance”) che contentono software GPL che non si possono cambiare perchè l’appliance si spegne quando rileva modifiche software. La ragione solitamente usata per giustificare la Tivoizzazione è che il software possiede funzionalità che il produttore non ritiene desiderate dagli utenti. I produttori di questi computer si avvantaggiano dalla libertà offerta dal software, ma non lasciano all’utente analoga libertà. Da un lato è sicuramente vero che una vasta schiera di “furbetti del computer” si è arricchito – o ci sta provando – grazie alla Tivoizzazione. Ma è anche vero che dal punto di vista dell’utente, l’impossibilità di modificare i contenuti di un appliance che gestisce sistemi di sicurezza (per esempio) è una garanzia in più che il servizio garantito tramite lo “scatolotto” continui a funzionare, essendo impedito all’utente di “pasticciare” con il programma.

Un altro esempio della forte componente ideologica che caratterizza GPL3 è l’approccio ai DRM: GPLv3 ti garantisce la libertà di togliere le manette. Non vieta i DRM o altri tipi di funzionalità. Non limita il diritto ad aggiungere o a rimuovere funzionalità sostanziali del programma. Piuttosto, GPL3 si asicura che tu sia libero di rimuovere quelle cattive funzionalità, così come il distributore della tua copia è libero di aggiungerle. La Tivoizzazione è il mezzo con il quale ti viene negata questa libertà. Per proteggere la tua libertà, GPLv3 vieta la Tivoizzazione. I DRM sono un tema grave e importante. Limitano inaccettabilmente i diritti degli utenti e sono uno strumento per il controllo – e l’eliminazione – della conoscenza. Detto questo, però, è altrettanto grave stabilire limiti alla libertà del mercato e sostituirsi all’utente stabilendo “cosa è meglio per lui”. L’abolizione dei DRM dovrebbe derivare dalla diffusa consapevolezza della loro pericolosità e inutilità, e non da una imposizione di chicchessia (FSF inclusa) che stabilisce unilateralmente la differenza fra il bene e il male.

Ma la natura “militante” del nuovo prodotto della FSF appare definitivamente come tale leggendo le parole “dedicate” all’accordo Microsoft/Novell: Microsoft ha fatto qualche errore nell’accordo Novell-Microsoft, e GPLv3 è progettata per rivolgere questi errori contro la Microsoft, estenendo quella limitata protezione brevettuale all’intera comunità. Per avvantaggiarsi di questa facoltà, i programmi hanno bisogno di usare GPLv3. Questo è, francamente, inaccettabile. Quello fra Microsoft-Novell (come ho avuto occasione di scrivere su queste pagine) è un accordo perfettamente legale fra due società che operano nel settore IT. Può piacere (a me non piace) oppure no, ma non viola la legge. Concorrenti e critici sono liberi di organizzarsi come meglio credono per contrastare l’impatto commerciale e culturale di questo accordo. Ma da qui a dichiarare apertamente che uno strumento (GPL3, nel caso particolare) è stato progettato “contro” qualcuno, vuol dire che stiamo parlando di guerra santa e fanatismo, non di mercato e competizione.

Scontro di culture
Grazie a GPL3 si profila sempre di più un vero e proprio scontro fra le culture dell’oligopolio turbocapitalista e quella dell’integralismo etico. Non importa quale delle due vinca. Sicuramente avranno perso gli utenti e il mercato.

Possibly Related Posts: