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


Capitolo 709.   Software libero

709.1   Aspetti giuridici del software

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.

Il software ha un proprietario (salvo il caso del software di dominio pubblico), 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.

L'utilizzo del software può essere concesso gratuitamente o a pagamento, per le operazioni stabilite nel contratto di licenza. 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 solitamente da due parti fondamentali: il codice sorgente e il codice eseguibile. Il primo è intelligibile, il secondo è adatto all'esecuzione e non è intelligibile. 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

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.

709.2   Concetto di «libertà» del software

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.

Pertanto, il software libero può essere tale solo se viene messo a disposizione assieme al codice sorgente; inoltre, la «libertà» del software libero non sta nel prezzo, 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.

Si distinguono quattro punti fondamentali, necessari perché il software possa essere considerato «libero»:

libertà 0 La libertà di eseguire il programma per qualunque scopo.
libertà 1 La libertà di studiare come funziona il programma e di adattarlo alle proprie esigenze (in tal caso, deve essere disponibile il sorgente).
libertà 2 La libertà di ridistribuire copie del programma.
libertà 3 La libertà di migliorare il programma e di distribuire tali miglioramenti (anche per questo è necessario disporre dei sorgenti).

Il software che, oltre alle libertà fondamentali, concede di trarre profitto dalla ridistribuzione del software (di solito perché sono stati introdotti dei miglioramenti), è libero, mentre quello che non lo consente, è software semi-libero.

Il software che non dà le libertà fondamentali è definito come software proprietario.

Il software libero, quando impone che le sue derivazioni restino libere, è software copyleft («permesso d'autore»). Il classico esempio di licenza di questo tipo è la licenza GNU-GPL.

709.3   Sintesi storica del software libero

1978 UNIX e BSD

I primi utenti di UNIX sono state le università, a cui in particolare questo sistema operativo veniva fornito a costo contenuto, con i sorgenti, ma senza alcun tipo di supporto tecnico, né alcuna garanzia. Proprio questa assenza di sostegno da parte della casa che lo aveva prodotto, assieme alla presenza dei sorgenti, stimolava la cooperazione tra gli utenti competenti, in pratica tra le università.

Il maggior fermento intorno a UNIX si concentrò presso l'università della California a Berkeley, dove a partire dal 1978 si cominciò a distribuire una variante di questo sistema operativo: BSD (Berkeley software distribution). Per il software prodotto in questo modo, nacque una licenza d'uso che rimane il progenitore della filosofia del software libero: la licenza BSD.

1984 progetto GNU

Nel 1984, Richard Stallman inizia il progetto GNU (Gnu's not Unix), per la realizzazione di un sistema operativo libero; libertà intesa come la possibilità data agli utenti di distribuire e modificare il software a seconda delle proprie esigenze e di poter distribuire anche le modifiche fatte. Il progetto parte da un compilatore C.

Il progetto GNU darà vita così a una grande quantità di software utilizzabile anche sulla maggior parte delle piattaforme Unix, indirizzando implicitamente il software libero nella direzione dei sistemi di questo tipo.

1985 Free software foundation

Nel 1985, Richard Stallman fonda la FSF, Free software foundation, con lo scopo preciso di creare e diffondere la filosofia del «software libero», finanziando in particolare il progetto GNU.

1990 sistema Minix

Alla fine degli anni 1980, il professor Andrew S. Tanenbaum sviluppa Minix, un sistema operativo in stile Unix per elaboratori i86, realizzato specificamente per uso didattico. Era sufficiente acquistare il libro a cui era abbinato e si otteneva un sistema completo di sorgenti. Tuttavia, Minix poteva essere usato, distribuito e modificato, solo per fini didattici.

1990 sviluppo del kernel Hurd

Nel 1990, il progetto GNU inizia lo sviluppo del kernel Hurd.

1991 sviluppo del kernel Linux

Linus Torvalds inizia lo studio delle funzionalità di multiprogrammazione dei microprocessori i386, cercando di applicare queste conoscenze alla realizzare di un sistema simile a Minix, lavorando inizialmente proprio su un sistema Minix.

Nel 1991, Linus Torvalds arriva a ottenere un sistema operativo minimo, composto da una primissima edizione del kernel Linux, autonomo da Minix, sfruttando il lavoro del progetto GNU. Da quel punto inizia il progetto di sviluppo del kernel Linux.

Il sistema GNU/Linux è il sistema GNU con il kernel Linux.

1992 BSD senza codice UNIX

A partire dal 1992 appaiono le prime edizioni di un sistema BSD libero dal codice originale UNIX. I primi tentativi con 386BSD sono ostacolati da battaglie legali e da quel punto si sviluppano diverse varianti libere del sistema BSD (NetBSD, FreeBSD, OpenBSD), mentre 386BSD scompare.

1998 definizione Open Source

Nel 1998 nasce la definizione Open Source, con l'intenzione di sostituire la definizione di «software libero»; tuttavia, Open Source e «software libero» (secondo FSF) non sono esattamente la stessa cosa.

2000 sistema GNU/Hurd

Intorno al 2000 inizia la distribuzione del sistema GNU/Hurd (sistema GNU basato su kernel Hurd).

2000 cambia la licenza Minix

Nell'anno 2000, la licenza del sistema Minix viene modificata diventando molto simile alla licenza BSD.

709.4   Licenze importanti nella storia del software libero

Denominazione Sigla Software libero Copyleft Compatibile con GNU-GPL Compatibile con software non libero Annotazioni
GNU
General
Public
License
GPL No sezione 675
GNU
Lesser
General
Public
License
LGPL Viene usata normalmente per la produzione di librerie. Sezione 677.
X11 o MIT X11 No Sezione 683.
UCB BSD No No 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 (<http://www.gnu.org/licenses/gpl-faq.html#OrigBSD>). Sezione 681.
UCB BSD
revised
No Si tratta della licenza UCB BSD senza la clausola che crea problemi di compatibilità con la licenza GNU-GPL (sezione 682).
Artistic
License
Artistic La licenza Artistic originale (nata per l'interprete del linguaggio Perl) è, 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 (sezione 679).
Clarified
Artistic
License
No sezione 680

709.5   Vantaggi e svantaggi del software libero

Vantaggi per l'utente finale:

Vantaggi per chi lo produce:

Svantaggi per l'utente finale:

Svantaggi per chi lo produce:

Conseguenze per la società:

Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome software_libero.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!