Che cos'è la Gnu GPL (GNU General Public License)

La GNU General Public License (comunemente indicata con l'acronimo GNU GPL o semplicemente GPL) è una licenza fortemente copyleft per software libero, originariamente stesa nel 1989 da Richard Stallman per patrocinare i programmi creati per il sistema operativo GNU. Infatti, a differenza di altre licenze libere non-copyleft, un'opera protetta da GNU GPL deve rimanere libera, ovvero col susseguirsi delle modifiche deve continuare a garantire ai suoi utenti le cosiddette quattro libertà. fonte: wikipedia

Ma quali sono queste quattro libertà?Andiamo a conoscerle meglio: (fonte https://www.gnu.org/philosophy/free-sw.it.html)

Un programma è software libero se gli utenti del programma godono delle quattro libertà fondamentali:

Libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).

Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità (libertà 1). L'accesso al codice sorgente ne è un prerequisito.

Libertà di ridistribuire copie in modo da aiutare gli altri (libertà 2).

Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti da voi apportati (e le vostre versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio (libertà 3). L'accesso al codice sorgente ne è un prerequisito.

Un programma è software libero se l'utente ha tutte queste libertà in modo adeguato. Altrimenti diciamo che è non libero. I modelli di distribuzione non liberi si possono differenziare a seconda di quanto si distanziano dall'essere liberi, ma per noi sono tutti non etici allo stesso modo.

In qualsiasi scenario specifico, queste libertà devono applicarsi a qualsiasi codice noi vogliamo usare o fare usare agli altri. Ad esempio, consideriamo un programma A che automaticamente lancia un programma B per svolgere determinati compiti. Se vogliamo distribuire A così com'è, allora gli utenti avranno bisogno anche di B e dovremo giudicare se la coppia di programmi A e B è libera. Altrimenti, se vogliamo modificare A in modo che non usi B, dovrà essere libero solo A e non ci importa di B.

“Software libero” non vuol dire “non-commerciale”. Un programma libero deve essere disponibile per uso commerciale, sviluppo commerciale e distribuzione commerciale. Lo sviluppo commerciale di software libero non è più inusuale: questo software commerciale libero è molto importante. Si può ottenere software libero pagandolo o non pagandolo, ma, a prescindere da come lo si è ottenuto, rimane sempre la libertà di copiare e modificare il software, persino di venderne copie.

Un programma libero deve offrire le quattro libertà a qualsiasi utente che riceve una copia del programma, purché l'utente abbia rispettato fino a quel momento le condizioni della licenza libera applicata al programma. Escludere alcune delle libertà per quanto riguarda certi utenti, o esigere che gli utenti paghino, in qualsiasi forma, per poterli esercitare, equivale a non garantire le libertà in questione, e quindi rende il programma non libero.

Il resto di questa pagina chiarisce cosa significa che determinate libertà sono concesse in modo adeguato. Libertà di eseguire il programma come si desidera

La libertà di usare un programma significa libertà per qualsiasi tipo di persona od organizzazione di utilizzarlo su qualsiasi tipo di sistema informatico, per qualsiasi tipo di attività e senza dover successivamente comunicare con lo sviluppatore o con qualche altra entità specifica. Quello che conta per questa libertà è lo scopo dell'utente, non dello sviluppatore; come utenti potete eseguire il programma per i vostri scopi; se lo ridistribuite a qualcun altro, egli è libero di eseguirlo per i propri scopi, ma non potete imporgli i vostri scopi.

La libertà di eseguire il programma come si desidera significa semplicemente che non ci sono divieti a farlo, e non ha nulla a che fare con quali funzioni ha il programma, con il fatto che possa o non possa tecnicamente funzionare in un determinato ambiente, o se è utile per una specifica attività. Libertà di studiare il codice sorgente ed apportare modifiche

Affinché le libertà 1 e 3 (libertà di fare modifiche e di pubblicare versioni modificate) abbiano senso, si deve avere accesso al codice sorgente del programma. Perciò, l'accessibilità al codice sorgente è una condizione necessaria per il software libero. Il “codice sorgente” deliberatamente offuscato non è vero codice sorgente e non può essere considerato tale.

La libertà 1 comprende la libertà di utilizzare una versione da voi modificata anziché l'originale. Se il programma è distribuito in un prodotto che, per scelta progettuale, esegue le versioni modificate da una specifica persona o azienda ma si rifiuta di eseguire quelle modificate da voi (tecnica nota come “tivoization” o come “lockdown” o come “secure boot” secondo la discutibile definizione che ne danno i suoi sostenitori), allora la libertà 1 diventa una richiesta vuota senza alcun valore concreto. Lla versione eseguibile di questi programmi non è software libero anche se il codice sorgente da cui sono stati ottenuti è libero.

Un importante modo di modificare un programma è quello di includervi funzioni e moduli liberi già esistenti. Se la licenza del programma prevede che non si possano includere moduli già esistenti (nonostante abbiano una licenza appropriata), ad esempio se richiede che voi possiate aggiungere solo codice di cui detenete il copyright, allora la licenza è troppo restrittiva per essere considerata libera.

Se una modifica costituisca o meno un miglioramento è una questione soggettiva. Se i vostri diritti di modificare un programma sono limitati, in sostanza, a variazioni che qualcun altro considera miglioramenti, quel programma non è libero. Libertà di ridistribuire copie se si desidera: requisiti di base

La libertà di distribuire (libertà 2 e 3) significa che si è liberi di ridistribuire copie, con o senza modifiche, gratis o addebitando delle spese di distribuzione a chiunque ed ovunque. Essere liberi di fare queste cose significa (tra l'altro) che non bisogna chiedere o pagare alcun permesso.

Bisogna anche avere la libertà di fare modifiche e usarle privatamente nel proprio lavoro o divertimento senza doverlo dire a nessuno. Se si pubblicano le proprie modifiche, non si deve essere tenuti a comunicarlo a qualcuno in particolare o in qualche modo particolare.

La libertà 3 comprende la libertà di usare e rilasciare le versioni modificate come software libero. Una licenza libera può anche permettere altri modi di distribuzione; insomma, non c'è l'obbligo che si tratti di una licenza con copyleft. Tuttavia, una licenza che imponesse che le versioni modificate non siano libere non si può categorizzare come licenza libera.

La libertà di ridistribuire copie deve includere le forme binarie o eseguibili del programma e anche il codice sorgente, sia per le versioni modificate che non modificate (distribuire programmi in formato eseguibile è comodo per avere sistemi operativi liberi facili da installare). È legittimo anche se non c'è alcun modo di produrre una forma binaria o eseguibile (dal momento che alcuni linguaggi non supportano questa caratteristica), ma si deve avere la libertà di ridistribuire tali forme nel caso si trovi o si sviluppi un modo per farlo.

Add a comment

HTML code is displayed as text and web addresses are automatically converted.

They posted on the same topic

Trackback URL : https://gnublog.it/index.php?trackback/4

This post's comments feed

Page top