Free software e Open source
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Premessa
• Inizialmente il software era libero e gratuito.
• Le comunità di programmatori cooperavano e si
scambiavano i programmi tra loro liberamente.
• Non veniva ancora applicato il concetto di
copyright nel software e le informazioni si
diffondevano all'interno della comunità
informatica, così come avveniva ed avviene
tuttora all'interno della comunità scientifica.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Premessa su sorgente ed
eseguibile
• Il software esiste in due formati particolari: un formato
'sorgente' ed uno 'eseguibile'.
• La parte sorgente è il codice del programma scritto con un
qualsiasi linguaggio di programmazione (come il C, il Java
od il Visual Basic). Il sorgente è visionabile e modificabile
da parte di chiunque abbia le competenze per farlo.
• La parte eseguibile è la “traduzione” di quel codice in un
linguaggio comprensibile solo al calcolatore: una serie di
comandi e di istruzioni impartite al calcolatore e scritte da
un programmatore. Il formato eseguibile (o compilato) non
è comprensibile, quindi non è modificabile.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Software proprietario
• Dei programmi viene distribuita solo la parte
eseguibile.
• Il programma rimane di proprietà di una società
produttrice di software e per potere utilizzare la
copia acquistata occorrono delle licenze d’uso.
• Su ogni copia del programma distribuita, la
casa produttrice detiene dei diritti (copyright) e
può imporre limitazioni nell’uso.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software = Open source?
• Si contrappongono a questa visione i
movimenti per il Free software e per
l’Open source.
• Pur avendo in comune il “nemico” (il
software proprietario), il movimento per il
Free software e quello per l’Open source
sono distinti e hanno punti di vista ed
obiettivi diversi.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Distinzioni
• Free software → il software deve essere “libero”
(non nel senso di gratuito, bensì di non proprietario,
aperto) per motivi sociali, etici. L’utente merita la
libertà e il software “libero” ne è una
manifestazione.
• Open source → il codice sorgente dei programmi
deve essere aperto e visionabile per motivi pratici:
è una metodologia di sviluppo (permettendo a più
persone di guardare il codice sorgente e di aiutare
a migliorarlo, lo sviluppo del software sarà più
veloce e migliore).
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software
• Richard M. Stallman, ricercatore presso l’AI Lab
(Laboratorio di Intelligenza Artificiale) del MIT
(Massachussets Institute of Technology), nel 1983 creò
il progetto GNU (acronimo ricorsivo che sta per GNU's
Not Unix) e nell' anno seguente fondò la Free Software
Foundation.
• L'espressione Free software si riferisce alla libertà
dell'utente nei confronti del software.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Il Progetto GNU e la FSF
• Il Progetto GNU è stato lanciato per sviluppare un sistema
operativo Unix-compatibile completo che fosse Free
software: il sistema GNU. GNU è un acronimo ricorsivo per
"GNU's Not Unix" (GNU Non è Unix) e si pronuncia gh-nu
(con la g dura). Varianti del sistema operativo GNU, che
utilizzano il kernel Linux (nato grazie al lavoro di Linus
Torvalds e di tanti altri, a partire dal 1991), sono ora
ampiamente utilizzate; anche se a questi sistemi ci si
riferisce spesso come Linux, essi vengono chiamati con più
precisione sistemi GNU/Linux.
• La Free Software Foundation (FSF) è la principale
organizzazione che sponsorizza il Progetto GNU. Riceve
fondi per il 67% da donatori privati e per il resto da aziende
o fondazioni benefiche.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Software proprietario vs. Free
vs.
vs.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: le libertà
• Libertà 0: eseguire il programma, per qualsiasi scopo.
• Libertà 1: studiare come funziona il programma e
adattarlo alle proprie necessità. L'accesso al codice
sorgente ne è un prerequisito.
• Libertà 2: ridistribuire copie in modo da aiutare il
prossimo.
• Libertà 3: 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.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: il copyleft
• Copyleft (“permesso d’autore”) è la regola per cui, quando un
programma viene ridistribuito, non è possibile aggiungere
restrizioni per negare ad altre persone le libertà principali.
• Indipendentemente dal fatto che si siano ottenute copie di
software a pagamento o gratuitamente, si ha sempre la libertà
di copiare e cambiare il software ed anche di venderne copie.
• Un programma è "copylefted" se la sua licenza prevede che le
modifiche possano essere distribuite solo con la licenza del
programma originale.
• Copyright → all rights reserved
• Copyleft → all rights reversed
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: le licenze
GPL (General Public License)
• Garantisce le quattro libertà e impone anche che
tutte le modifiche siano rilasciate sotto la stessa
licenza. Questa è effettivamente una "limitazione"
che però serve solamente per garantire la libertà e
per impedire che software derivati siano venduti
come programmi proprietari.
• La GPL riflette l' idea della cooperazione: se io
concedo ad altri la possibilità di modificare e
redistribuire il mio programma, costoro sono tenuti
a concedere le stesse libertà sulle loro modifiche.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: le licenze
BSD
• Anch' essa è libera ma si distingue nettamente
dalla GPL, in quanto non è di tipo copyleft: questo
significa che il software derivato può essere
distribuito sotto qualsiasi altra licenza, anche
proprietaria.
• Con questa licenza vengono distribuiti sistemi
operativi come FreeBSD e NetBSD.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: FAQ
• Il Free software è gratuito?
- Nonostante in molti casi il Free software sia liberamente
scaricabile da Internet, libertà e gratuità sono due aspetti
distinti.
- Esistono diverse aziende che hanno impostato il loro
business sul Free Software (vendita e/o manutenzione).
- Un esempio di Free software commerciale sono le
distribuzioni del sistema operativo Linux (Red Hat, SuSE,
Mandrake, etc.).
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: FAQ
• Il software gratuito è Free software?
- Esistono moltissimi software scaricabili
gratuitamente da Internet, ma che non
garantiscono necessariamente le libertà
e/o sono software proprietario. Vedasi
Microsoft Internet Explorer.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Free software: FAQ
• Il Free software non ha copyright?
• Falso. Semplicemente la proprietà intellettuale
su un software è gestita in modo diverso da
quello tradizionale.
• Benché si possa rinunciare al copyright su un
proprio programma e renderlo così di pubblico
dominio, la gran parte del software libero è
distribuito con una licenza.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Open source
• Nel 1998 Bruce Perens, Eric Raymond e altre personalità
nel campo del Free software si convinsero che i principi di
libertà associati ad esso fossero malvisti nel mondo degli
affari, a causa della loro carica ideologica. Decisero perciò
di evitare accuratamente ogni riferimento a considerazioni
politiche o di principio e di lanciare una campagna di
promozione del Free software che ne mettesse in luce i
numerosi vantaggi pratici, come la facilità di adattamento,
l'affidabilità, la sicurezza, la conformità agli standard,
l'indipendenza dai singoli fornitori.
• A tal fine scrissero la Open Source Definition, il documento
fondamentale del movimento Open source.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• DIDATTICA
- La disponibilità del codice sorgente permette di
studiare nel dettaglio il funzionamento del
software e di implementare nuove funzioni e
soluzioni tecniche.
- Lo spirito di condivisione della comunità degli
sviluppatori facilita la risoluzione dei problemi e
la collaborazione.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• RICERCA E SVILUPPO
- La possibilità di sperimentare nuove soluzioni è
limitata alla sola fantasia del ricercatore.
- Non bisogna sottostare a nessun NDA (NonDisclosure Agreement) ed è quindi possibile
scambiare idee liberamente con qualsiasi altro
ricercatore in tutto il mondo.
- E’ disponibile codice riutilizzabile a proprio
piacimento per lo sviluppo di nuove applicazioni.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• AMMINISTRAZIONE DEL SISTEMA
- Il controllo totale del software (sorgente incluso),
permette di rilevare e risolvere i problemi in modo facile,
veloce e sicuro.
- Migliaia di sviluppatori controllano continuamente e
contemporaneamente il sorgente e condividono le
soluzioni ai problemi e le migliorie apportate.
- Le patches per i bug non sono centralizzate: non è
necessario attendere il rilascio ufficiale.
- La vulnerabilità a virus e malicious codes affligge
maggiormente il mondo del software proprietario.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• AZIENDE
- Alcune ricerche e case studies dimostrano che il Free software può
portare a importanti riduzioni dei costi di gestione della struttura
informatica aziendale.
- Il contenuto del software è verificabile. Non è possibile celare backdoors
(falle di sicurezza inserite deliberatamente dal programmatore che
possono fornire accesso ai dati) né spyware (programmi che
trasmettono in rete dati relativi all’utente). In passato è stata scoperta
una backdoor nel software Borland Interbase ed anche attualmente vi
sono molti sospetti sui programmi proprietari.
- Il software è adattabile alle esigenze aziendali senza rivolgersi alla
società produttrice, anche in proprio.
- La società che distribuisce un software proprietario può fallire, con
conseguenze tragiche sull’assistenza al prodotto. La comunità del Free
software è esente da tale problema.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• UTENTE FINALE
- I costi del software sono bassi e spesso nulli.
- Lo sviluppo di un mercato concorrenziale a quello
del software proprietario e della possibilità di
scegliere porta delle riduzioni nei prezzi praticati.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Vantaggi di Free software e Open
source
• PUBBLICA AMMINISTRAZIONE
- L’uso di formati di file leggibili con software non
necessariamente a pagamento, piuttosto che
proprietario, garantirebbe il libero accesso del
cittadino alla informazione pubblica.
- La sicurezza del software è fondamentale per uno
Stato e questa è direttamente collegata alla
verificabilità del contenuto dei programmi, quindi
del codice sorgente.
- Francia e Germania, tra gli altri, utilizzano già
software Open source nelle scuole e nella PA.
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Sitografia
www.gnu.org
www.fsfeurope.org
www.stallman.org
www.opensource.org
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Domande
• ????
Seminario sull'Hacktivism - Free software e Open
source - Tony Siino
Scarica

Free software e Open source