Open Source VS Free Software ed il mezzo flop della GPLv3

OSS vs FOSS
Ecco il mio ultimo articolo per Bytelite.it, enjoy!

Partiamo da una doverosa distinzione, ovvero quella tra Free and Open Source Software e semplice Open Source Software.

Open Source vs Free and Open Source

Il concetto di Open Source Software, o software a codice aperto, si riassume nella possibilità di accedere al codice sorgente di un programma, verificarlo e modificarlo. Cosa si possa fare di preciso una volta ottenuto il codice sorgente è una questione di licenza, ma in genere è permesso anche riutilizzarlo in progetti commerciali e/o a codice chiuso.

Differentemente, il concetto di Free and Open Source Software (FOSS) è stato inventato e sostenuto da Richard Stallman e prevede che il software debba non solo avere il “sorgente aperto”, ma anche che garantisca quattro libertà fondamentali (quanto meno per Stallman e chi la pensa come lui) ovvero:

  1. La libertà di eseguire il software per qualsiasi scopo;
  2. La libertà di modificare il comportamento del software, di cui il sorgente aperto è prerequisito;
  3. La libertà di ridistribuire il software per aiutare il prossimo;
  4. La libertà di ridistribuire il software modificato a beneficio di intere comunità, di cui il sorgente aperto è prerequisito.

Le libertà di cui sopra devono essere garantite e tutti gli utenti del software in questione, e questo richiede un particolare tipo di licenza definito copyleft (opposto al termine copyright, un gioco di parole sul doppio significato di right: destra, diritto). La più famosa licenza copyleft è la GNU Public License (GPL). Vi pregherei di notare come le libertà sopra indicate riguardino sempre e solo il software.

Come si può ben immaginare dall’introduzione, sebbene la GPL sia una licenza open source, non tutte le licenze open source sono anche licenze copyleft. Esistono infatti molte licenze open source estremamente semplici e succinte che garantiscono maggiori diritti della GPL, ma che non trasmettono necessariamente tutti tali diritti agli altri utenti: spesso l’unico requisito degno di nota è che venga indicato il detentore dei diritti sul codice. Alcune famose licenze open non copyleft sono le licenze BSD a 2 e 3 clausole e la licenza Zlib.

La licenza GPL, in particolar modo la versione 2 tutt’ora usata dal kernel Linux ed altri progetti, ha senza ombra di dubbio avuto un ruolo fondamentale nella diffusione del software open source e nella creazione di un mercato del lavoro incentrati. Il fatto di essere costretti a rilasciare il sorgente modificato utilizzando la GPL stessa, pena possibili azioni legali, ha fatto sì che tutte le aziende che prima “depredavano” il software open (pur con il beneplacito degli autori) si trovassero ad un bivio: imparare a fare da sole oppure contribuire al movimento FOSS.

Un po’ di storia: TiVo e la GPLv3

Nel 1999 la società statunitense TiVo lancia il digital video recorder omonimo.
La peculiarità di tale prodotto fu che il firmware si basava sul kernel Linux, ma era possibile installare solo pacchetti “firmati” con la chiave crittografica di TiVo, impedendo quindi all’utente di installare firmware modificati. TiVo è stata per lungo tempo una seria contributrice al kernel Linux, rispettando quindi le clausole della GPLv2, ma molti ritennero che impedire agli utenti di installare firmware modificati fosse lesivo di una delle quattro libertà fondamentali del free software, nonostante nella GPLv2 non si faccia alcun riferimento all’hardware di esecuzione. L’episodio fu tanto importante da spaccare la comunità degli sviluppatori e dare il nome di tivoization (tivoizzazione) a questo tipo di comportamento.

Da una parte della barricata si schierarono Stallman, la Free Software Foundation (FSF) e tutti quelli che ritenevano tale comportamento lesivo delle libertà del free software e delle intenzioni della GPL. A seguito della diatriba la FSF rilasciò la GPLv3, una versione della licenza molto più lunga, complicata e comprendente clausole riguardanti l’hardware. La v3 fu accolta a braccia aperte da molti puristi del free software, con il supporto di progetti importanti come gli strumenti GNU, Samba, SugarCRM e tanti altri ancora.

Tuttavia la GPLv3 creò tante divisioni quanto il comportamento di TiVo. In posizione contrapposta a quella della FSF, infatti, si trovarono Linus Torvalds e tutti coloro che ritenevano il comportamento di TiVo rispondente al testo della GPLv2.

In particolare Torvalds decise di non passare alla GPLv3, mantenendo invece la versione 2 per il kernel Linux. Molti altri progetti decisero di rimanere con la GPLv2 o di passare direttamente a licenze più permissive, ritenendo che l’importanza di contribuire ai progetti open fosse ormai chiara al mondo, ad esempio Ogre3D (da GPL a MIT), VLC (da GPL a LGPL), Video.js (da GPL a Apache), Busybox e KDE (GPLv2).

Personalmente tendo a sposare la posizione di chi utilizza licenze non copyleft. Tuttavia, se proprio dovessi scegliere la GPL per un mio progetto, sceglierei la versione 2, perché la GPLv3 mi sembra un orribile papocchio nato per le ragioni sbagliate.

Lascia un commento

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