2. Un po' di storia
L'idea di software libero nasce nel 1983 da Richard M.
Stallman, ricercatore nel laboratorio di intelligenza
artificiale del MIT, il quale, fondando il progetto GNU si
prefigge l'obiettivo di creare un sistema operativo
completamente libero.
Per adempiere a questo scopo, crea la Free Software
Foundation e la licenza GPL per dare supporto legale al
progetto.
3. Free as in Freedom,
not as in Free Beer
●Free si traduce con libero e non con gratis
●Un software può essere gratis ma non libero, e viceversa
Ci sono diversi esempi di software gratuiti sulla rete, che
definiamo FreeWare, ma che sono comunque software
proprietari (es. Acrobat Reader, Flash Player, Winamp).
Viceversa il software libero non è necessariamente gratuito
(Aziende che sviluppano distribuzioni di Linux vendono i loro
prodotti, che sono comunque free software)
4. Le Quattro
Libertà
Quand'è allora che un software viene definito libero?
Quando la licenza con cui è distribuito rispetta quattro libertà fondamentali:
Libertà 0 : Libertà di utilizzare il programma per qualsiasi scopo legittimo
Libertà 1 : Libertà di studiare il funzionamento del programma, e di adattarlo ai
propri bisogni.
Libertà 2 : Libertà di copia e redistribuzione.
Libertà 3 : Libertà di migliorare il programma e rendere pubblici i miglioramenti,
in modo che l'intera comunità ne tragga beneficio.
L'accesso al codice sorgente è una precondizione per le libertà 1 e 3
5. Libertà 0
Era davvero necessario specificare che “L'utente deve poter eseguire il programma
per qualsiasi scopo legittimo?”
Molte software house impongono delle limitazioni sui propri software
● Numero massimo di installazioni
● Uso a solo scopo didattico
● Uso a solo scopo personale
● ...
La libertà 0 assicura che chi usufruisce del programma possa farne l'uso che vuole,
fintanto che non viola le leggi del proprio paese o la libertà altrui.
6. Libertà 1
Libertà di studiare il programma e adattarlo ai propri bisogni
Capita spesso di trovare buoni programmi ai quali manca
“un certo non so che “
Potendo esaminare il codice sorgente di un software, possiamo aggiungere
funzioni che ci servono, oppure riadattare quelle esistenti in modo che diano
l'output desiderato
Se non siamo programmatori, possiamo sempre contattarne uno e lasciare
a lui il compito, magari sotto compenso.
7. Libertà 2
Quante volte, un nostro amico vedendo un bel programma ci chiede di fargliene
una copia?
Se copiamo il programma e lo diamo al nostro amico, abbiamo infranto una legge
Dobbiamo scegliere se essere criminali o buoni amici
La libertà 2 ci solleva dal compiere questa scelta, consentendoci di copiare il
programma a chiunque vogliamo senza essere dei criminali.
8. Libertà 3
Se ci siamo trovati nella situazione descritta per la libertà 1, possiamo decidere sia
di tenere per noi i miglioramenti, che di renderli pubblici
Se decidiamo di rendere pubbliche le modifiche, ne beneficia l'intera comunità,
in primo luogo il creatore del programma, che può imparare dalle correzioni che
abbiamo apportato.
Se invece di correzioni abbiamo aggiunto nuove features, più persone usufruiranno
delle nostre migliorie, e noi ci siamo fatti un po' di pubblicità come programmatori :)
9. Lati positivi:
sicurezza
Sappiamo tutti che di un software proprietario non si può visualizzare il codice.
Se decidiamo quindi di utilizzare un software proprietario, non possiamo giudicare
la qualità del software, che potrebbe, a nostra insaputa, essere pieno di errori, o
peggio, di codice malevolo.
Siamo quindi costretti a fidarci della società/azienda produttrice.
Un software libero invece può essere esaminato da un esperto che può
comunicarci se sono presenti errori nel codice o pezzi di codice malevolo.
Molti obiettano che non conoscendo il codice sorgente di un software, è più
difficile sfruttare degli exploit per violarlo.
Anche se diamo per vera questa affermazione, è sicuramente più difficile
correggere l'eventuale errore.
10. Lati positivi:
aggiornamenti
Quando usiamo un software proprietario, è l'azienda produttrice che decide quali
funzioni aggiungere al programma e quando renderle disponibili.
Con un software libero possiamo chiedere direttamente agli sviluppatori di
aggiungere una determinata funzione, o se siamo programmatori, possiamo
direttamente implementarla e inviarla agli sviluppatori perché la integrino nel
software.
11. Lati negativi:
i Fork
Molte persone tendono ad abusare delle libertà offerte dalla filosofia Free Software,
specialmente della libertà 1, prendendo codice da progetti già esistenti e creando
progetti paralleli, che si traducono in difficoltà di scelta da parte dell'utente, e
rallentamento dello sviluppo
Il tema di fondo deve essere la collaborazione e non il protagonismo a tutti i costi
12. Conclusioni
Il software libero, con tutti i suoi pregi e difetti, è un ottima alternativa al
software proprietario. E' un modo di vedere il software che riporta
l'informatica alle sue radici universitarie, esaltandone gli aspetti di ricerca e
collaborazione fra sviluppatori, senza però distruggere l'aspetto economico.