Scegliere una Licenza

Quando scegliete una licenza per il vostro progetto, per quanto possibile, usate una licenza esistente invece di crearne un'altra. Ci sono due ragioni per cui le licenze esistenti sono le migliori:

Per applicare una di queste licenze al vostro progetto, vedete sezione chiamata �Come Applicare Una Licenza Al Vostro Software� in Capitolo�2, Partenza .

La licenza MIT / X Window System

Se il vostro obiettivo � quello che il vostro codice sia accessibile dal pi� grande numero di sviluppatori e di lavori derivati e non date importanza al fatto che sia usato in programmi proprietari, scegliete la licenza MIT / X Window System (cos� chiamata perch� � la licenza sotto la quale il Massachusetts Institute of Technology rilasci� il codice del sistema X Window). Il messaggio fondamentale di questa licenza � “Siete liberi di usare questo codice in qualunque modo vogliate”. Essa � compatibile con la GNU GPL, ed � breve, semplice e facile da capire:

        Copyright (c) <anno> <detentori del copyright>

        Il permesso � cos� garantito, gratuito, a qualunque persona che ottenga
        una copia di questo software e i file associati di documentazione (il
        “Software”), per commerciare col Software senza restrizioni, inclusi
        i diritti illimitati all'uso, alla copia, alla modifica, all'unione, alla pubblicazione,
        alle sotto licenze e/o a vendere copie del Software, e a
        permettere a persone alle quali il Software � fornito a fare lo stesso,
        soggetto alle seguenti condizioni:

        L'avviso di copyright summenzionato e questo avviso di permesso devono essere inclusi
        in tutte le copie o porzioni del Software sottostante.

        IL SOFTWARE E' FORNITO “COSI' COM'E'”, SENZA GARANZIA DI ALCUN GENERE,
        ESPRESSA O IMPLICITA, INCLUDENDO E SENZA ESSERE LIMITATO ALLE GARANZIE
        DI POTER ESSERE VENDUTO, L'IDONEITA' A UN PARTICOLARE FINE E
        LA NON VIOLAZIONE DEI DIRITTI ALTRUI. IN NESSUN CASO GLI AUTORI O I DETENTORI DEL COPYRIGHT
        SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA RESPONSABILITA', SIA IN FORZA
        DEL CONTRATTO, IN SITUAZIONE NON CONTEMPLATE NEL CONTRATTO O ALTRO, CHE NASCA DA, AL DI FUORI
        O IN RIFERIMENTO AL SOFTWARE O ALL'USO O AD ALTRE QUESTIONI RIGUARDANTI IL SOFTWARE.
      

(Presa da http://www.opensource.org/licenses/mit-license.php.)

La GNU General Public License

Se preferite che il codice del vostro progetto non sia usato in programmi proprietari o se almeno non vi interessa se venga usato o no in programmi proprietari, scegliete la GNU General Public License (http://www.fsf.org/licensing/licenses/gpl.html). La GPL � probabilmente la licenza pi� largamente usata nel mondo oggi. Questo fatto di essere riconosciuta all'istante � di per se stesso uno dei pi� importanti vantaggi della GPL.

Quando scrivete una libreria con l'intendimento che sia usata come parte di altri programmi, considerate attentamente se le restrizioni imposte dalla GPL siano in linea con gli obiettivi del vostro progetto. In alcuni casi—per esempio, quando state cercando di sostituire una libreria proprietaria concorrente che fa le stesse cose—pu� essere molto pi� strategico licenziare il vostro codice in modo che possa essere mescolato con programmi proprietari, anche se invece non vorreste ci�. La Free Software Foundation ha anche foggiato una alternativa alla GPL in queste circostanze: la GNU GPL per librerie, pi� avanti rinominata GNU GPL Minore (la maggior parte della gente usa l'acronimo LGPL, in ogni caso). La LGPL ha meno stringenti restrizioni della GPL, e pu� essere mescolata facilmente con codice non libero. Comunque, � un po' pi� complessa e ha bisogno di qualche tempo per essere compresa, cosicch� se vi state orientando per usare la GPL, vi consiglio di usare la licenza tipo MIT/X.

La GPL � libera o non libera?

Una conseguenza della scelta della GPL � la possibilit�—piccola ma non infinitamente piccola che voi stessi siate invischiati nella disputa se la GPL sia “libera” o meno, dato che essa pone delle restrizioni su ci� che potete fare con il codice—cio� la restrizione che il codice non pu� essere redistribuito sotto ogni altra licenza. Per qualcuno, l'esistenza di questa restrizione significa che la GPL � “meno libera” di licenze pi� permissive come la licenza MIT/X. Dove questo argomento funziona, certamente, � che, poich� “pi� libero” � meglio che “meno libero” (dopotutto chi non � a favore della libert�?), conseguentemente queste licenze sono migliori della GPL.

Questo dibattito � un'altra popolare guerra santa (vedere sezione chiamata �Evitare le Guerre Sante� in Capitolo�6, Comunicazione ). Evitate di parteciparvi, almeno nei forum di progetto. Non tentate di provare che la GPL � meno libera, altrettanto libera, o pi� libera di altre licenze. Piuttosto mettete l'accento sulle ragioni per cui il vostro progetto ha scelto la GPL. Se il fatto di essere riconosciuta per una licenza � una ragione, ditelo. Se l'obbligo di una licenza libera per lavori derivati � anche un ragione, dite anche questo, ma rifiutatevi di essere coinvolti sulla discussione se ci� rende il codice pi� o meno "libero". La libert� � un argomento complesso e serve a poco parlare di esso se la terminologia sta per essere usata come pretesto al posto della sostanza.

Poich� questo � un libro e non argomento di mailing list, comunque ammetter� di non aver mai capito l'argomento “La GPL non � libera”. La sola restrizione che essa impone � che la gente non imponga ulteriori restrizioni. Dire che ci� d� luogo a minore libert� a me � sempre sembrato come dire che bandire la schiavit� riduce la libert�, perch� impedisce a certa gente di possedere schiavi.

(Oh, se siete coinvolti in un a discussione su questo, non rilanciate facendo analogie incendiarie.)

Cosa sulla Licenza BSD?

Una discreta quantit� di software open source � distribuito sotto la licenza BSD (o, a volte una licenza stile BSD). La licenza originale BSD fu usata dalla Berkeley Software Distribution, con essa l'Universit� della California rilasci� importanti parti dell'implementazione Unix. La licenza (il testo esatto pu� essere visto nella sezione 2.2.2. di http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6) era simile nello spirito alla licenza MIT/X, eccetto che in una clausola:

Tutti i materiali pubblicitari devono mostrare il seguente riconoscimento: Questo prodotto include software sviluppato dall'Universit� della California, Laboratorio Lawrence Berkeley.

La presenza di quella clausola non solo rese la licenza originale BSD incompatibile con la GPL, ma stabil� anche un pericoloso precedente: che altre organizzazioni mettono simili clausole pubblicitarie nel loro software libero—mettendo il nome della propria organizzazione al posto della "l'Universit� della California, Lawrence Berkeley Laboratory"—e i ridistributori di software furono investiti da un sempre crescente carico su quello che a loro era richiesto di esibire. Fortunatamente molti dei progetti che usarono quella licenza diventarono consci del problema, e semplicemente eliminarono la clausola pubblicitaria. Nel 1999 anche l'Universit� della California fece lo stesso.

Il risultato fu una licenza BSD rivisitata, che � semplicemente una licenza originale BSD con la clausola pubblicitaria rimossa. Comunque, questa storia rende la frase “licenza BSD” un po' ambigua: si riferisce alla licenza revisionata o alla originale? Questo � il motivo per i quale io preferisco la licenza MIT/X, che � essenzialmente equivalente, e che non soffre di nessuna ambiguit�. Comunque c'� forse un motivo per preferire la licenza BSD alla MIT/X, ed � quello che la licenza BSD include questa clausola:

N� il nome dell' <ORGANIZZAZIONE> n� il nome dei suoi collaboratori pu� essere usato per sottoscrivere o promuovere prodotti derivati da questo software senza precedente autorizzazione scritta.

Non � chiaro il fatto che senza una tale clausola un destinatario avrebbe avuto i diritti di usare il nome del licenziatario in qualche modo, ma la clausola rimuove ogni possibile dubbio. Per organizzazioni preoccupate del controllo del marchio, quindi, la licenza BSD pu� essere di poco preferibile alla MIT/X. In generale, comunque, una licenza liberale di copyright non implica che il destinatario abbia il diritto di usare o indebolire il vostro marchio— la legge sul copyright e quella sul marchio sono due bestie differenti.

Se volete usare un licenza BSD revisionata, un modello � disponibile a http://www.opensource.org/licenses/bsd-license.php.



[27] La storia della licenza e del suo nome � un po' complicata. La prima versione della licenza fu rilasciata da Affero, Inc, che la bas� sulla GNU GPL versione 2. A questa si fece comunemente riferimento come AGPL. Pi� tardi la Free Software Foundation decise di adottarne l'idea, ma fino ad allora essa aveva rilasciato la versione 3 della sua GNU GPL, cos� bas� la sua nuova licenza Afferoizzata su quella e la chiam� "GNU AGPL". La vecchia licenza Affero � pi� o meno deprecata adesso. Se volete clausole tipo Affero, dovreste usare la versione GNU. Per evitare ambiguit�, chiamatela "AGPLv3”, "GNU AGPL", o con la massima precisione, "GNU AGPLv3".