1 Open Source, definizioneIl software a codice aperto
(Open Source) si basa su 4 libertà:
Libertà 0: Libertà di eseguire il programma, per qualsiasi scopo.
Libertà 1: Libertà di studiare come funziona il programma e adattarlo alle proprie necessità. L'accesso al codice sorgente ne è un prerequisito.
Libertà 2: Libertà di ridistribuire copie in modo da aiutare il prossimo.
Libertà 3: Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio. L'accesso al codice sorgente ne è un prerequisito.
http://www.gnu.org/philosophy/free-sw.it.html ">Filosofia OpenSource
2 Un po' di storiaPrima di iniziare a parlare in modo approfondito delle maggiori licenze, vediamo come è nato il movimento
Open Source e come si è sviluppato. Al contrario di quanto può sembrare il movimento ha origini che troviamo fino agli albori dell?informatica, infatti già negli anni 60 si scambiavano porzioni di codice su supporti obsoleti come le schede perforate, tutto presupponeva che l?hardware fosse uguale; il risultato fu che nel 1969 nacque
Unix, che per vicissitudini varie venne distribuito da varie università, che si trovarono ad avere un sistema operativo comune. In questo periodo si svilupparono anche le prime Software House che incominciavano a produrre software proprietario. Tutto continuò per questa strada, se non fosse che nel 1985
Richard Stallman fondò la
Free Software Foundation (FSF), il quale contrariato dal comportamento di alcune società di software che assumevano sviluppatori del
MIT (Massachusetts Institute of Technology) obbligandoli a non divulgare il proprio lavoro, decise di sviluppare un sistema operativo compatibile con
UNIX, il famoso
GNU (GNU?s Not UNIX), inoltre sviluppò altri software, primo fra tutti il famoso compilatore
gcc. Questi software venivano distribuiti a un prezzo che copriva i costi di sviluppo, permettendo ai compratori di visionare il codice, nacque così la
GNU General Public License (GPL).
Da questo punto in poi la strada fu tutta in discesa, da allora proliferarono molti progetti
Open Source, tra cui anche
Linux ( emblema della liberalizzazione del codice), che utilizzavano licenze Open, non solo
GPL, ma anche molte altre come la
LGPL o la
BSD, e soprattutto venne coniato il termine
Open Source, per distinguere il software a codice aperto dal Freeware.
3 Copyright e CopyleftUno dei primi problemi che il movimento
Open Source dovette risolvere fu quello del
copyright. Infatti il metodo più semplice per distribuire un software e renderlo pubblico è sicuramente evitare di coprire il software da copyright, purtroppo non tutti sono onesti, e quindi per tutelarsi da chi con fini di lucro possa utilizzare codice per software proprietario è stato introdotto con un gioco di parole il
copyleft.
E il copyright? Vuol dire che non mi viene riconosciuta la paternità del software? No, il copyleft garantisce il diritto a reclamare la proprietà intellettuale del proprio codice, infatti per distribuire un software sotto copyleft è necessario prima dichiarare il copyright dell?autore, dopo di che specificare secondo quali termini dovrà essere distribuito il codice, ovvero a quale licenza il software viene associato. Questo garantisce a chi sviluppa il riconoscimento del proprio lavoro, e a chi vuole utilizzare il lavoro la possibilità di modificare il software a loro piacimento, di rendere le modifiche pubbliche, sempre nel rispetto della licenza.
4 Le licenzeSul mercato esistono molte licenze che hanno come punto in comune la libera distribuzione del codice, ma che differiscono sulla gestione delle modifiche, sul l?ereditarietà delle licenza e la compatibilità con il software proprietario. Se volete una lista completa di tutte le licenze che possono essere utilizzate le trovate al seguente indirizzo:
http://www.opensource.org/licenses/ ">License OpenSource
Noterete che nell?elenco ci sono anche licenze di nomi di grosso calibro come
IBM, Nokia e NASA. Analizziamo ora le licenze più utilizzate.
4.1 GPL (GNU General Public License)Tra tutte la più famosa e la prima, rappresenta la filosofia Open Source. Prima di tutto il codice rilasciato deve essere accompagnato da una copia della licenza, o anche dal link della pagina web dove si può trovare il testo (esiste anche una versione italiana). La licenza viene anche definita
"Infettiva" perché qualsiasi software che utilizzi il componente licenziato
GPL dovrà esserlo a sua volta, e soprattutto il codice non può essere utilizzato in software proprietario. Il vantaggio è che l?utente finale ha il diritto di ricevere tutto il codice e avere la possibilità di modificarlo e studiarlo senza nessuna restrizione, naturalmente con l?obbligo di trasferire tutti i diritti all?autore nel caso di distribuzione del software. Viene fornita anche un?assicurazione per l?autore che non è responsabile del malfunzionamento del programma, l?utente finale si assume il rischio nell?utilizzo del software.
http://www.fsf.org/licensing/licenses/gpl.html ">Licenza GPL
4.2 LGPL (GNU Lesser General Public License)Sorella minore della GPL, e differisce solo sul punto che riguarda la integrazione in software proprietario. Infatti un componente rilasciato con licenza LGPL può essere utilizzato in software
"Closed", questo per favorire la distribuzione delle librerie anche dalle software house. Inizialmente la licenza venne chiamata
Library GPL, una licenza su misura per i componenti del sistema GNU, venne poi rinominata
Lesser per invitare gli sviluppatori ad un utilizzo più parsimonioso.
http://www.fsf.org/licensing/licenses/lgpl.html ">Licenze LGPL
4.3 BSD (Berkeley Software Distribution)Questa licenza è più liberale delle precedenti, infatti permette la distribuzione del codice o solo dei sorgenti, o entrambi, ed è richiesta esclusivamente una nota del copyright, senza l?obbligo di includere una copia della licenza. In più non esiste il discorso del copyleft, il programma può essere incluso all?interno di software proprietari, e permette la distribuzione anche sotto altre licenze, sempre citando i detentori del copyright.
Per concludere la licenza è perfettamente compatibile con la GPL.
http://www.freebsd.org/copyright/license.html ">Licenza BSD
4.4 MPL (Mozilla & Netscape Public Licenses)Studiata a tavolino dalla
Mozilla Foundation (quella di Firefox per intenderci). Con questa licenza vi sono alcune limitazioni sulla distribuzione del codice, infatti è possibile distribuirlo senza modifiche, nel caso che siano fatte variazioni al sorgente originale; le modifiche devono essere rilasciate sotto licenza
MPL, ed è necessario rendere i sorgenti disponibili. I file aggiunti possono anche essere proprietari. Questa licenza non è compatibile con la GPL, invece è completamente compatibile con la BSD, per il semplice fatto che la BSD non è presente il discorso CopyLeft.
http://www.mozilla.org/MPL/MPL-1.1.html ">Licenze MPL
4.5 GNU FDL (GNU Free Documentation License)Anche la documentazione tecnica necessita di una licenza,
GNU FDL, versione della GPL per i testi, infatti ogni copia di documento licenziato deve essere distribuito con la stessa modalità (CopyLeft), anche se viene modificata. Naturalmente è obbligatorio in ogni versione successiva citare gli autori, e soprattutto se si vuole utilizzare uno scritto licenziato è necessario cambiarne il titolo (a meno che l?autore precedente lo permetta). In aggiunta è necessario riportare le sezioni dette "secondarie", cioè copertina, posteriore, storia del documento, dediche varie e riconoscimenti. Importante, nessun materiale di cui è proibita la distribuzione può essere usato con la licenza GNU FDL
http://www.gnu.org/copyleft/fdl.html ">Licenze GNU FDFL
4.6 CC ( Creative Commons )Piccola citazione alle licenze
Creative Commons. Anche se non riguardano il software sono da elogiare per la semplicità e le combinazioni possibili, infatti queste licenze coprono quasi esclusivamente contenuti, immagini, video, musica, opere d?arte e altro riguardante opere dell?ingegno, e il loro pregio è che un utente può scegliere la propria licenza, utilizzando un semplice wizard (
http://creativecommons.org/license/?format=text ">Wizard Licenza CC ); ci viene chiesto se vogliamo che l?opera possa essere usata per scopi commerciali, se vogliamo permettere la modifica ed ecco una pagina HTML con delle immagini esplicative e poca spiegazione, in modo da rendere semplice e immediato a chiunque, per chi invece non si fida potrà anche leggerne la versione completa.
5 E in tutto questo cosa ci guadagno?La domanda più ricorrente è : bella l?idea, ma io non vivo solo di codice, mi piacerebbe anche guadagnare qualche soldino! Nulla di più giusto, le licenze
Open Source non vietano la vendita del software, bensì lasciano la libertà di scelta, ognuno può far pagare quanto vuole, oppure è libero di distribuire il suo software gratuitamente. La questione è ben diversa dal software proprietario, nel senso che chi distribuisce il software può far pagare ad esempio il supporto o il trasferimento, ma un utente che ha acquistato è libero di farne quello che vuole, copiarlo quante volte vuole, non è tenuto, come nel software proprietario, a pagare una licenza per ogni installazione o per ogni processore. Anche il termine vendere software può trarre in inganno, infatti la
FSF suggerisce la dicitura
"distribuire software libero dietro compenso" (
http://www.gnu.org/philosophy/selling.it.html ">Vendere Software Libero ). Se il software sarà di qualità e la comunità soddisfatta, non sarà fantascienza un supporto economico dei nostri utenti.
6 Alcuni difettiFino a questo punto sembra tutto rosa e fiori, ma purtroppo distribuendo codice in modalità
Open Source si creano alcuni problemi soprattutto all?interno della comunità, infatti troppi sviluppatori partecipano al progetto, creando confusione e molte volte sviluppando un software poco user friendly, di conseguenza limitandone la diffusione. Alcune volte si crea anche una competizione tra progetti dello stesso tipo (es:
KDE vs Gnome) che oltre a trovarsi in opposizione non riescono a unire le forze contro la resistenza delle case produttrici di software proprietario. Altro problema è che molti utenti alle prime armi cercando di partecipare a progetti
Open Source non vengono aiutati perché all?interno del progetto si è creata una comunità chiusa e molto gerarchica. Si rischia così di perdere utenti col passare del tempo, e se non vengono rilasciate modifiche e upgrade in tempi relativamente ristretti, il software non risponderà costantemente alle esigenze del mercato. Per ultimo un progetto può morire prima di iniziare se non è sufficientemente pubblicizzato sui maggiori portali di comunità Open come
SourceForge,
Freshmeat e molti altri.
7 Ma come partecipo a un progetto Open? Per contribuire nel migliore dei modi bisogna seguire alcune regole di convivenza comune con gli altri utenti della comunità, quindi, dopo aver scelto il progetto che più ci interessa, dobbiamo documentarci, partecipare ai forum e conoscere gli altri utenti, e poi contribuire seguendo le indicazioni dei responsabili di progetto. Anche chi non è uno sviluppatore può contribuire, ci sono molti modi per essere partecipi: scrittura di codice, design di interfacce, documentazione, traduzioni e debugging... avete l?imbarazzo della scelta.
Requisito minimo? La voglia di creare un buon software.