Introduzione al Free Software

14
Introduzione Introduzione al al Free Software Free Software

description

Intervento per il linux day @ università degli studi di salerno, ottobre 2008

Transcript of Introduzione al Free Software

Page 1: Introduzione al Free Software

IntroduzioneIntroduzionealal

Free SoftwareFree Software

Page 2: Introduzione al Free Software

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.

Page 3: Introduzione al Free Software

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)

Page 4: Introduzione al Free Software

Le QuattroLibertà

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

Page 5: Introduzione al Free Software

Libertà 0

Era davvero necessario specificare che “L'utente deve poter eseguire il programmaper 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.

Page 6: Introduzione al Free Software

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

Page 7: Introduzione al Free Software

Libertà 2

Quante volte, un nostro amico vedendo un bel programma ci chiede di farglieneuna 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.

Page 8: Introduzione al Free Software

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 usufruirannodelle nostre migliorie, e noi ci siamo fatti un po' di pubblicità come programmatori :)

Page 9: Introduzione al Free Software

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

Page 10: Introduzione al Free Software

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.

Page 11: Introduzione al Free Software

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 creandoprogetti 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

Page 12: Introduzione al Free Software

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 riportal'informatica alle sue radici universitarie, esaltandone gli aspetti di ricerca ecollaborazione fra sviluppatori, senza però distruggere l'aspetto economico.

Page 13: Introduzione al Free Software

Riferimenti

Free Software Foundation - http://www.fsf.org

Progetto GNU - http://www.gnu.org

HCSSLug - http://www.hcsslug.org

Page 14: Introduzione al Free Software

Fine

Grazie