Informatica e Software Libero
Università Cattolica di Brescia
5 dicembre 2001

Il software
Codice tutelato dalle leggi sul diritto di autore
la licenza rappresenta il “contratto d’uso”
il copyright corrisponde ad avere i diritti d’autore
Normalmente è diviso in due parti
codice sorgente
codice eseguibile (normalmente in forma binaria)
Distribuito in varie forme
gratuito o a pagamento
con o senza sorgente

Categorie del software

Software Libero (Free Software)
Libertà dell’utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software
Software libero con copyleft
restringe la redistribuzione delle modifiche ad essere rilasciate come software libero
Software libero senza copyleft
non impedisce che modiche possano essere rilasciate come software non libero
Software in pubblico dominio
software libero senza copyright
a completa disposizione di chiunque
Software GPL

Le libertà del Software Libero
Libertà di eseguire il programma, per qualsiasi scopo
Libertà di studiare come funziona il programma, e adattarlo alle proprie necessità
l’accesso al codice sorgente ne è un prerequisito
Libertà di ridistribuire copie in modo da aiutare il prossimo
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

Conseguenze
Da queste libertà deriva l’accessibilità al codice sorgente
Possono essere imposte restrizioni per garantire queste libertà (copyleft)
Queste  libertà non si applicano solo al software ma alla produzione culturale in genere
Per maggiori informazioni:
http://www.gnu.org/philosophy/free-sw.it.html

Vantaggi specifici
Il prezzo (ma non è detto)
costi di migrazione e manutenzione
Indipendenza dal fornitore
possibilità di ricorrere a qualunque esperto
Verificabilità del comportamento del codice
importante nel caso di documenti riservati e questioni di sicurezza
Accesso alla tecnologia
Riutilizzo del codice
Patrimonio pubblico
i miglioramenti sono a disposizione di tutti

Software non libero
Software semi-libero
può prevedere solo alcune delle libertà di uso, copia, distribuzione o modifica
Software proprietario
l’uso, la modifica e la distribuzione sono proibite o fortemente ristrette, ma può essere gratuito
Freeware
software gratuito, non comporta né l’accesso ai sorgenti né la possibilità di redistribuzione
Shareware
software di cui è permessa la distribuzione
ma bisogna pagare per l’uso

Software commerciale
Software commerciale
software venduto e per il quale c'è assistenza commerciale
anche il software libero può essere commerciale

OpenSource o Software Libero
Differenze sul piano filosofico, non su quello pratico (almeno per ora)
OpenSource
nato per evitare l’ambiguità del termine “free”
mette l’accento sugli aspetti di convenienza pratica
tende a tralasciare gli aspetti filosofici (legati alla libertà)
Software Libero
mette l’accento sull’aspetto filosofico
si tende a salvaguardare la libertà al di là degli aspetti di convenienza immediata

Copyright e Copyleft
Copyright
traducibile come diritto d’autore
che però ha un significato più ampio
indica una serie di diritti che l’autore in genere trattiene e non concede agli utenti
Copyleft
tradotto come permesso d’autore
è una forma speciale di uso del copyright in cui si cedono i diritti agli utenti, impedendo che altri possano ritirarli in seguito
http://www.gnu.org/copyleft/copyleft.html

Licenze per il Software Libero (1)
Software libero con copyleft
GNU GPL (General Public Licence)
usa il diritto d’autore per proteggere la libertà del software
impone che i lavori che usano codice GPL vengano rilasciati con la stessa licenza
protegge la libertà del software, tutelando:
gli autori (a cui resta il copyright)
gli utenti (a cui restano le libertà fondamentali)
GNU LGPL (Lesser GPL)
usata principalmente per le librerie di uso comune, consente l’uso di queste ultime in programmi proprietari
ogni modifica al codice della libreria deve comunque essere rilasciata sotto LGPL

Licenze per il Software Libero (2)
Software libero senza copyleft
BSD
licenza che consente libero uso, distribuzione, modifica del software
chiede che vengano riportate notizia del copyright e del contenuto della licenza
limita l’uso del nome dell'autore nella promozione dei prodotti derivati
non impone restrizioni sui prodotti derivati.
X11, Apache
Per una classificazione più completa:
http://www.gnu.org/licenses/license-list.html

Il ruolo delle Università
Maggiori possibilità per gli studenti
di imparare
sono richieste maggiori conoscenze tecniche
di “presentarsi” sul mondo del lavoro
larga diffusione del software libero
Protezione degli investimenti
investimento non in beni, ma in persone
non è detto che vi sia un risparmio immediato
maggior indipendenza da evoluzioni tecnologiche
Crescita culturale per le nuove generazioni

Questioni sociali/economiche
Il software libero costa di meno?
il software può anche essere gratuito, ma qual è il costo del tempo per imparare ad usarlo?
Le soluzioni libere sono sostenibili e produttive?
diffusione di Linux in Estremo Oriente
Il software libero è di sinistra?
non ha nulla a che vedere con la politica o la religione!
di sinistra c’è il motto: “informazione alle masse”
di destra c’è il criterio meritocratico e la libera (e selettiva) competizione

Restrizioni al Software Libero
Brevetti sull’hardware e mancanza di specifiche
Brevetti sul software
possibilità di brevettare algoritmi o idee legate al software
GIF compresso con l’algoritmo LZW
protezione della “proprietà intellettuale”
Leggi contro il “reverse engineering”
Leggi “contro” la diffusione del software libero
legge 248/2000 (bollino SIAE)
Librerie non libere
Motif e QT
Documentazione non libera

Disinformazione sul Software Libero
Dovuta a varie cause
mancanza di cultura
pratiche di FUD (Fear, Uncertainty and Doubt)
Sono nate molte leggende urbane
“Come fa il povero programmatore a campare?”
“Il software libero è per gli hacker” (=criminali)
“Il software libero è meno sicuro di quello proprietario”
“Il software libero è più lento”
“Il software libero è meno aggiornato”
Il Manifesto GNU dimostra che sono false
http://www.linux.it/GNU/manifesto.html

La libertà dei dati personali
Il formato dei dati è noto
possibilità di leggerli anche senza il programma
Programmi proprietari potrebbero gestire in modo “non noto” i propri dati riservati
Libertà di proteggere i dati con strumenti di crittografia
Maggior rispetto della propria privacy

La sicurezza informatica
Si basa spesso su software
ad esempio per la crittografia
Vantaggi del software libero
verificabilità del comportamento del codice
disponibilità di aggiornamenti frequenti
protezione del lavoro
Svantaggi del software libero
verificabilità del comportamento del codice
in violazione del principio “security through obscurity”
che comunque può avere un’efficacia limitata

Cenni storici
1971: Richard Stallman entra al MIT
1984: Progetto GNU (GNU’s Not Unix)
realizzare un sistema operativo libero per sviluppare ed utilizzare software libero
http://www.gnu.org
1985: Free Software Foundation
http://www.fsf.org
Per una trattazione più completa:
http://www.gnu.org/gnu/thegnuproject.it.html

GNU/Linux
1991: Linus Torvalds sviluppa il kernel 0.0.2
1994: Kernel 1.0
2000: Kernel 2.4
Architettura:
kernel
parte GNU
applicazioni
Meriti di Torvalds?
Per maggiori informazioni:
http://www.gnu.org/gnu/linux-and-gnu.it.html
http://www.linux.{org|com|it}

Il “caso” Linux
Vantaggi
sistema operativo libero molto diffuso
strumento a disposizione per utenti e sviluppatori
incremento di utenti di software libero
Svantaggi
non tutte le distribuzioni sono “libere”
alcuni programmi proprietari
non tutto il software Linux è “libero”
eccessiva attenzione sul “prodotto” e non sull’idea

Altri casi di Software Libero
TeX
XFree86
GNOME
Apache

Successi del Software Libero
GNU/Linux
25% dei server
the only non-Microsoft OS that is gaining market share
Apache
60% dei server web
TCP/IP
standard “de facto”

“Copertura” del Software Libero
Copre tutti i settori applicativi?
ci sono programmi per tutti?
Cosa si può fare?
lo si può fare “allo stesso livello” dei software proprietari?
Cosa non si può fare?
ci sono dei limiti di applicabilità?

“Limiti” del Software Libero
?

Riferimenti
Associazione Software Libero
http://www.softwarelibero.it
Siti in italiano
www.linux.it/GNU/
Manifesto GNU
Trappola nel Cyberspazio
www.apogeonline.it
La cattedrale e il bazaar
www.swlibero.org
Appunti di informatica libera
Filosofia GNU (anche in italiano)
http://www.gnu.org/philosophy/