[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 1.   Software: concetti elementari e tipologia in base alla licenza

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.

Figura 1.1. Compilazione.

         file sorgente                                   file eseguibile
.-----------------------------.                  .-----------------------------.
| #include <stdio.h>          |                  | .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.

Figura 1.2. Schema della classificazione del software; disegno di Chao-Kuei, ottenuto dal sito di FSF.

figure/a2-software-categorie

1.1   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»:

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.

1.2   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.

1.3   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.

1.4   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.

Tabella 1.1. 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 No
GNU Lesser General Public License LGPL
X11 o MIT X11 No
Cryptix General License No
BSD non Berkeley No Esiste troppa confusione attorno alla sigla BSD, con la quale vengono definite diverse licenze pių o meno simili a quella di Berkeley.
W3C W3C
Clarified Artistic License No

Tabella 1.2. 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 No
BSD originale BSD No No
Zope Public License No No
Apache License No No
OpenLDAP No No
IBM Public License No
Phorum License No
LaTeX Project Public License LPPL No
Mozilla Public License MPL No
Netizen Open Source License NOSL No
Interbase Public License No
Sun Public License No
Nokia Open Source License No
Netscape Public License NPL No
Jabber Open Source License No
Sun Industry Standards Source License No
Qt Public License QPL No
FreeType License No No
Open Compatibility License No

Tabella 1.3. 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

1.4.1   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.

1.4.2   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.

1.4.3   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.

1.5   Riferimenti

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome software_concetti_elementari_e_tipologia_in_base_alla_licenz.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]