Il software è un codice che è trattato dalle leggi sul diritto di autore, in maniera simile a quanto avviene per le opere letterarie.
Tradizionalmente, il contratto che regola l'uso del software è la licenza ed è sempre importante conoscere i termini di questo accordo per il software con cui si intende avere a che fare.
La legge sul diritto di autore stabilisce già quali sono i diritti di chi produce l'opera e di chi la utilizza, ma nell'ambito del software si è introdotto nella pratica un contratto, non firmato, il cui scopo è spesso quello di limitare ulteriormente i diritti di chi ne fruisce. Questo contratto è la licenza. |
Il software ha un proprietario (salvo il caso del software di dominio pubblico che verrà descritto), che è tale in quanto «detiene i diritti di autore». Questo proprietario può essere l'autore originale, oppure un altro detentore che ne ha acquisito i diritti in base a un contratto. Il detentore dei diritti di autore è colui che possiede il copyright.
L'utilizzo del software può essere concesso gratuitamente o a pagamento, per le operazioni stabilite nel contratto di licenza, o in sua mancanza per quanto stabilito dalla legge. Il pagamento per l'«acquisto» di software, non si riferisce all'acquisizione dei diritti di autore, ma solo delle facoltà stabilite dalla legge, ovvero da quanto indicato nella licenza.
La natura del software è tale per cui questo è composto da due parti fondamentali: il codice sorgente e il codice eseguibile. Il primo è intelligibile, il secondo è adatto all'esecuzione e non è intelligibile. Dal momento che per funzionare è sufficiente il codice eseguibile, le leggi dei vari paesi che tutelano il diritto di autore per il software tendono a consentire la distribuzione del solo codice eseguibile, lasciando che chi detiene i diritti di autore possa mantenere nascosto il codice sorgente.
Inoltre, le leggi di questi paesi tendono a considerare illecita la decompilazione, ovvero lo studio del codice eseguibile volto a scoprirne il funzionamento.
Compilazione.
file sorgente file eseguibile
.-----------------------------. .-----------------------------.
| #include | | .ELF......ô[ÉÃU.å.ì.ÉÃ.4.4. |
| int main () | compilazione | t&.U.å.ì.Sè....[.Ã.....43s. |
| { |----------------->| ... |
| printf ("Ciao mondo!\n"); | | ... |
| } | | è.yyy[......Ciao mondo!U.å |
`-----------------------------' `-----------------------------' |
|
In molti paesi esiste anche la possibilità di brevettare algoritmi e altri concetti riconducibili al software. Il brevetto impedisce così l'uso dell'algoritmo o dell'idea registrata, se non dopo un'autorizzazione esplicita da parte del detentore di questo tipo di diritto.
Schema della classificazione del software; disegno di Chao-Kuei, ottenuto dal sito di FSF.
|
Software libero
Il software libero è software che fornisce il permesso per chiunque di utilizzarlo, copiarlo e distribuirlo, in forma originale, o anche dopo averlo modificato, sia gratuitamente che a pagamento. Il software libero può essere tale solo se viene messo a disposizione assieme al codice sorgente, per cui, a questo proposito, qualcuno ha detto: «se non è sorgente, non è software» (if it's not source, it's not software).
È importante sottolineare che la «libertà» del software libero non sta tanto nel prezzo, che eventualmente può anche essere richiesto per il servizio di chi ne distribuisce le copie, ma nella possibilità di usarlo senza vincoli, di copiarlo come e quanto si vuole, di poterne distribuire le copie, di poterlo modificare e di poterne distribuire anche le copie modificate.
Alcune persone preferiscono utilizzare la definizione «Open Source» per fare riferimento al software libero nei termini che sono stati descritti, per evitare ambiguità nella lingua inglese. Nella lingua italiana, come in molte altre lingue, è più opportuno l'uso della definizione «software libero».
Si distinguono quattro punti fondamentali, necessari perché il software possa essere considerato «libero»:
- libertà 0, ovvero la libertà di eseguire il programma per qualunque scopo;
- libertà 1, ovvero la libertà di studiare come funziona il programma e di adattarlo alle proprie esigenze (in tal caso, deve essere disponibile il sorgente);
- libertà 2, ovvero la libertà di ridistribuire copie del programma;
- libertà 3, ovvero la libertà di migliorare il programma e di distribuire tali miglioramenti (anche per questo è necessario disporre dei sorgenti).
Nell'opera, il software che non può essere commercializzato, pur soddisfacendo i punti elencati qui, non viene considerato software libero. |
Vale la pena di elencare alcune definizioni riferite al software libero. - software di dominio pubblico
Il software di dominio pubblico è software senza copyright. Di per sé, questo tipo di software è libero, solo che, non avendo un copyright, non ha nemmeno una licenza e chiunque può farne quello che vuole, anche appropriarsi dei diritti. Questo implica che alcune copie, o varianti di questo software possono non essere più libere.
- software protetto da copyleft
La parola copyleft («permesso d'autore») è un'invenzione e vuole rappresentare il copyright di chi, mentre difende il proprio diritto di autore, vuole difendere la libertà della sua opera, imponendo che questa e le sue derivazioni restino libere. In pratica, una licenza appartenente alla categoria «copyleft» impedisce che chi ridistribuisce il software (originale o modificato che sia) possa aggiungere delle restrizioni ulteriori. Il classico esempio di licenza di questo tipo è la licenza pubblica GNU-GPL
- software libero non protetto da copyleft
Il software libero non è necessariamente di tipo copyleft e ciò accade quando la licenza non vieta espressamente l'aggiunta di restrizioni da parte di chi lo ridistribuisce. Quando si utilizza software di questo tipo, non è possibile generalizzare: occorre accertarsi dei termini del contratto che riguarda la copia particolare della quale si è venuti in possesso.
- software GPL
La licenza GNU-GPL è l'esempio più importante di licenza che protegge il software libero con il copyleft. Quando si parla di «software GPL» si intende fare riferimento a software protetto con la licenza pubblica GNU-GPL.
Software non libero
Il software non è libero tutte le volte che non sono soddisfatti tutti i requisiti necessari per poterlo essere. È bene ricordare che il prezzo non è un fattore che limita la libertà, mentre altri dettagli sono più importanti. Anche in questo caso, vale la pena di elencare alcune definizioni che in generale riguardano software non libero.
- software semi-libero
Il software semi-libero è software che permette agli individui di usarlo, copiarlo, modificarlo e distribuirlo, anche modificato, per qualunque scopo, escluso quello di trarne profitto. In altri termini, si potrebbe dire che si tratta di software libero a cui è stata aggiunta la limitazione per la quale questo non può essere usato e distribuito per trarne profitto. Questo dettaglio è molto importante e non va trascurato.
- software proprietario
Il software proprietario è quel software che non è né libero, né semi-libero. Di solito, per «avere a che fare» con questo software è necessario ottenere un permesso speciale, che spesso si limita a concedere l'uso su un elaboratore, o su un gruppo ben determinato.
- software freeware
Il termine freeware non è abbinato a una definizione precisa, ma in generale viene inteso generalmente come software gratuito, del quale non viene reso pubblico il codice sorgente, che può essere usato e copiato senza poterlo modificare. In questo senso, il prefisso «free» serve solo a evidenziare la gratuità della cosa, ma non la libertà che invece richiede molto di più.
- software shareware
Con il termine shareware si fa riferimento a software proprietario che può essere ridistribuito, ma per il quale viene richiesto espressamente il pagamento dopo un periodo di prova.
Software commerciale
In base alle classificazioni viste in questo capitolo, il software commerciale è tale solo in quanto viene venduto per profitto. Uno degli elementi cardine del software libero è proprio il fatto che viene concessa espressamente la facoltà di venderne delle copie (originali o modificate), per trarne profitto. In questo senso, è importante evitare di confondere il software proprietario con il software commerciale, perché non sono la stessa cosa.
Per comprendere o confondere meglio le cose, si aggiunga il fatto che può esistere anche del software non-libero, che non è nemmeno commerciale.
Annotazioni su alcune licenze
Il documento Various Licenses and Comments about Them raggiungibile all'indirizzo <http://www.gnu.org/philosophy/license-list.html>, elenca dettagliatamente le caratteristiche di un numero molto elevato di licenze. Vale la pena, qui, di fare qualche annotazione su alcune licenze che non sono nate dalla Free Software Foundation.
Schema riassuntivo minimo per il confronto tra alcune licenze importanti, secondo le informazioni pubblicate da Free Software Foundation nel documento Various Licenses and Comments about Them raggiungibile all'indirizzo <http://www.gnu.org/philosophy/license-list.html>. Prima parte.
Denominazione | Sigla | Software libero entro i termini minimi di tale definizione | Copyleft | Compatibile con GNU-GPL | Compatibile con software non libero | Annotazioni |
GNU General Public License | GPL | Sì | Sì | Sì | No |
|
GNU Lesser General Public License | LGPL | Sì | Sì | Sì | Sì |
|
X11 o MIT | X11 | Sì | No | Sì | Sì |
|
Cryptix General License |
| Sì | No | Sì | Sì |
|
BSD non Berkeley |
| Sì | No | Sì | Sì | Esiste troppa confusione attorno alla sigla BSD, con la quale vengono definite diverse licenze più o meno simili a quella di Berkeley. |
W3C | W3C | Sì |
| Sì |
|
|
Clarified Artistic License |
| Sì | No | Sì |
|
|
Schema riassuntivo minimo per il confronto tra alcune licenze importanti, secondo le informazioni pubblicate da Free Software Foundation nel documento Various Licenses and Comments about Them raggiungibile all'indirizzo <http://www.gnu.org/philosophy/license-list.html>. Seconda parte.
Denominazione | Sigla | Software libero entro i termini minimi di tale definizione | Copyleft | Compatibile con GNU-GPL | Compatibile con software non libero | Annotazioni |
Arphic Public License |
| Sì | Sì | No |
|
|
BSD originale | BSD | Sì | No | No | Sì |
|
Zope Public License |
| Sì | No | No |
|
|
Apache License |
| Sì | No | No |
|
|
OpenLDAP |
| Sì | No | No |
|
|
IBM Public License |
| Sì |
| No |
|
|
Phorum License |
| Sì |
| No |
|
|
LaTeX Project Public License | LPPL | Sì |
| No |
|
|
Mozilla Public License | MPL | Sì |
| No |
|
|
Netizen Open Source License | NOSL | Sì |
| No |
|
|
Interbase Public License |
| Sì |
| No |
|
|
Sun Public License |
| Sì |
| No |
|
|
Nokia Open Source License |
| Sì |
| No |
|
|
Netscape Public License | NPL | Sì |
| No |
|
|
Jabber Open Source License |
| Sì |
| No |
|
|
Sun Industry Standards Source License |
| Sì |
| No |
|
|
Qt Public License | QPL | Sì |
| No |
|
|
FreeType License |
| Sì | No | No |
|
|
Open Compatibility License |
| Sì |
| No |
|
|
Schema riassuntivo minimo per il confronto tra alcune licenze importanti, secondo le informazioni pubblicate da Free Software Foundation nel documento Various Licenses and Comments about Them raggiungibile all'indirizzo <http://www.gnu.org/philosophy/license-list.html>. Terza parte.
Denominazione | Sigla | Software libero entro i termini minimi di tale definizione | Copyleft | Compatibile con GNU-GPL | Compatibile con software non libero | Annotazioni |
Artistic License | Artistic | No |
| No |
| Licenza formulata male. |
Apple Public Source License | APSL | No |
| No |
|
|
Sun Community Source License |
| No |
| No |
|
|
Plan 9 License |
| No |
| No |
|
|
Open Public License |
| No |
| No |
|
|
Sun Solaris Source Code License |
| No |
| No |
|
|
YaST License |
| No |
| No |
|
|
Licenza Artistic
La licenza Artistic originale è, per convinzione diffusa, una licenza formulata male, troppo vaga e per questo inadatta a garantire la libertà del software. Sotto questo aspetto, si tratta di una licenza che non rientra nell'ambito del software libero. Per porre rimedio alle carenze della licenza Artistic, ne esiste una versione revisionata, definibile come Clarified Artistic License. Licenza BSD
La licenza BSD originale fa esplicito riferimento all'università di Berkeley, con espresso divieto di utilizzarne il nome per scopi pubblicitari. Anche se questo fatto non crea alcun problema alla fruizione del software, non è conveniente utilizzare questa licenza, a meno di avere un motivo valido in tal senso. A ogni modo, questa particolarità non la rende una licenza adatta a situazioni generali e crea problemi di compatibilità con la licenza GNU-GPL. Esistono versioni modificate di questa licenza, per ovviare all'inconveniente che è stato descritto. Tuttavia, non esiste una definizione chiara per queste licenze e si continuano a indicare come licenze BSD, creando una confusione che invece sarebbe bene evitare. Licenza QPL
La licenza QPL, nota perché è stata usata in passato per la libreria grafica Qt, è incompatibile con la licenza GNU-GPL e pone delle restrizioni alla circolazione delle modifiche. Riferimenti
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
Nessun commento:
Posta un commento
Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.