3 Jul 2009
Licenze software
Licenze software (12 novembre 2008)
Una licenza software è un contratto relativo ad un software che specifica le modalità di utilizzo di tale prodotto, garantendo dei diritti ed imponendo certi obblighi all’utente finale.
La licenza viene imposta dall’autore del prodotto software, vale a dire da chi detiene il copyright su di esso. In un certo senso quindi una licenza software può essere vista come una “promessa” da parte dell’autore di non fare causa all’utente finale riguardo la possibilità di usare una o più copie del prodotto in certi modi che normalmente costituirebbero una violazione stessa del copyright.
Vi sono sostanzialmente due tipi di licenze software che si contraddistingono per i diritti che concedono all’utente finale: le licenze proprietarie e le licenze open source.
Le licenze proprietarie permettono all’utente di usare una o più copie del software, ma la proprietà di tali copie rimane al produttore (da qui il termine “proprietarie”). Questo fa sì che tutti i diritti che riguardano il software rimangano nelle mani del produttore, il quale concede all’utente solamente alcuni diritti ben definiti; molto spesso accade che il proprietario del software includa molte proibizioni nell’uso del prodotto stesso, addirittura proibendo azioni che sarebbero perfettamente legali secondo il copyright.
Un’altra importante conseguenza del fatto che la proprietà del software rimane al produttore è il fatto che l’utente è costretto ad accettare la licenza per poter utilizzare il software.
Per esempio la licenza di Microsoft Windows impone numerose restrizioni come la possibilità di fare “reverse engineering”, l’uso contemporaneo del software da persone diverse e la pubblicazione di test di performance.
Le licenze open source, contrariamente a quelle proprietarie, attestano che la proprietà di una particolare copia del software non rimanga al produttore, bensì venga trasferita all’utente finale. In questo modo l’utente detiene tutti i diritti che sono concessi dalla legge sul copyright a chi detiene una copia. E’ importante notare che il diritto trasferito è soltanto quello sulla proprietà di una particolare copia (quella detenuta appunto dall’utente), non il copyright che invece rimane al proprietario. Inoltre le licenze open source tipicamente permettono altri diritti che normalmente sarebbero riservati al produttore di software.
La licenza open source pertanto non obbliga l’utente ad accettarla per poter usare il software, ma lo “invita” a farlo garantendogli dei diritti addizionali (uno tra tutti la possibilità di ridistribuire il software) che altrimenti non potrebbe esercitare.
Una delle licenze open source più conosciute è la GPL (GNU General Public License). Il suo principio base è che nessuno dovrebbe essere limitato dal software che usa. Le libertà che ogni utente dovrebbe avere sono:
- libertà ad usare il software per qualsiasi scopo
- libertà a cambiare il software secondo le proprie esigenze
- libertà a condividere il software con i tuoi amici e vicini e
- libertà a condividere le modifiche apportate al software.
Un programma che tuteli queste libertà è definito software libero.
Un software è open source se rispetta i seguenti criteri:
- ridistribuzione libera: la licenza non deve vietare ad alcuno la vendita o la cessione del software; ognuno ha il diritto di fare tutte le copie che desidera, venderle o cederle, senza pagare nulla ad altri per poterlo fare.
- Codice sorgente: il codice sorgente, necessario per apportare modifiche al programma, deve essere incluso.
- Opere derivate: la licenza deve dare la possibilità di effettuare modifiche ed opere derivate, consentendo la loro distribuzione con la stessa licenza del programma originale.
- Integrità del codice sorgente dell’autore: la licenza può vietare modifiche al codice sorgente soltanto se la licenza ammette la possibilità di creare delle patch (con il codice sorgente incluso) al fine di aggiornare e migliorare il programma.
- Nessuna discriminazione contro persone o gruppi: la licenza non deve discriminare nessuno in alcun modo, nemmeno terroristi o criminali.
- Nessuna discriminazione di settori: la licenza non può essere negata ad alcun settore, per quanto deplorevole possa essere, per esempio sviluppo di armi di distruzione di massa.
- Distribuzione della licenza: la licenza si applica in modo automatico a tutti colori ai quali viene distribuito il programma.
- La licenza non dev’essere specifica di un prodotto: i diritti di un programma non devono dipendere dal fatto che questo sia parte di una particolare distribuzione di software.
- La licenza non deve contaminare altro software: la licenza non può porre limiti ad altro software distribuito insieme a quello licenziato.
- La licenza deve essere tecnologicamente neutra: nessuna clausola della licenza deve fare riferimento ad una singola tecnologia o stile di interfaccia.
I vantaggi che derivano dall’utilizzo di licenze open source, a detta dei sostenitori delle stesse, sono sostanzialmente tre:
- innovazione: è stato ampiamente dimostrato che i programmatori desiderano contribuire a progetti open source senza alcuna ricompensa, se non la soddisfazione di migliorare un programma. Più programmatori possono contribuire, più alto sarà probabilmente il valore del software prodotto.
- Affidabilità: nel caso un utente riscontri un bug in un programma, la comunità di sviluppatori generalmente è più interessata a correggerlo che non un impiegato al servizio di un’azienda, che magari ha priorità diverse.
- Longevità: i programmi open source anche se cadono in disuso, possono essere sempre riscoperti, adattati e tornare in vita, magari con un utilizzo completamente diverso dall’originale. Al contrario un software proprietario difficilmente sarà aggiornato od adattato una volta che non è più supportato dal suo autore.
