Home Page Home Page Articoli Le licenze Open Source

Le licenze Open Source

Sempre più progetti sposano la filosofia Open Source, ricorrendo alle più disparate licenze software, creando un poco confusione agli sviluppatori che vorrebbero utilizzare il codice di tali progetti. Cerchiamo di rendere il tutto meno complicato.
Autore: Giovanni Ferron Livello:
1 Open Source, definizione
Il 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 storia
Prima 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 Copyleft
Uno 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 licenze
Sul 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 difetti
Fino 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.
Voto medio articolo: 3.0 Numero Voti: 2
Giovanni Ferron

Giovanni Ferron

Sviluppatore dal 2000. Collabora a grandi progetti nella creazione di portali e intranet aziendali. Attualmente ha lasciato la terra natia per una nuova avventura in Australia, dove lavora come programmatore web per una emittente radio Australiana. Profilo completo

Articoli collegati

Un browser alternativo : Mozilla Firefox
Un articolo controcorrente rispetto alla linea editoriale di questo sito, ma è quasi un dovere parlare della tecnologia e delle avanzate features messe a disposizione da questo ottimo Browser di ultima generazione perchè solo così si può definire questo gioiello. Provare per credere.
Autore: David De Giacomi | Difficoltà: | Commenti: 3
Utilizzare il Database MySQL con .NET
Questo articolo è rivolto a tutti quelli che vogliono sviluppare una soluzione efficiente senza sborsare cifre elevate per l'acquisto di licenze di SQL Server o Oracle e che non vogliono rinunciare alle prestazioni minori offerte da un "quasi database" come potrebbe essere Access.
Autore: David De Giacomi | Difficoltà: | Commenti: 11 | Voto:
.Net e il Pinguino? Mono !
Questo articolo vi introduce allo sviluppo orientato alla piattaforma (Mono) che permette l'integrazione tra Microsoft e Linux ... l'open source è tra noi!
Autore: Giovanni Ferron | Difficoltà: | Commenti: 8 | Voto:
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5