Introduzione al software Open Source ed al software libero. Notizie a proposito degli enti (Open Source Software) più importanti e delle licenze più utilizzate.
1. Mazza Dario Merlino Sebastiano
Linux
&
Open Source
Lezione UNO
Startup
2. “I programmi fanno parte della nostra cultura come le
poesie o i brani musicali.
Al contrario ci vogliono convincere che il software non
sia un elemento di cultura ma solamente un prodotto,
una scatoletta da comperare al supermercato.
Va da sé che anche quot;comprare un programmaquot; non ha
senso.
Non si compera una poesia, si compera il libro dove è
stampata, la poesia è dell'autore e i concetti espressi
patrimonio dell'umanità.”
Renzo Davoli a.k.a. rd235
Mazza Dario – Merlino Sebastiano 2
3. Il Software Libero
“L'espressione Software libero si riferisce alla libertà
dell'utente di eseguire, copiare, distribuire, studiare,
cambiare e migliorare il software.”
Richard M. Stallman
Il software libero: software rilasciato con una licenza che
permette a chiunque di utilizzarlo e che ne incoraggia lo
studio, le modifiche e la redistribuzione; per le sue
caratteristiche,si contrappone al software proprietario ed è
differente dalla concezione open source, incentrandosi sulla
libertà dell'utente e non solo sull'apertura del codice
sorgente.
Mazza Dario – Merlino Sebastiano 3
4. Il Software Libero
Parlando di software libero ci riferiamo a
quattro tipi di libertà per gli utenti dello
stesso:
● Libertà di eseguire il programma, per
qualsiasi scopo (libertà 0).
● Libertà di studiare come funziona il
programma, e adattarlo alle proprie Richard Stallman enuncia le 4 libertà al convegno
Wikimania 2005
necessità (libertà 1).
● Libertà di ridistribuire copie in modo da aiutare il
prossimo (libertà 2).
● Libertà di migliorare il programma, e distribuirne
pubblicamente i miglioramenti, in modo tale che tutta la
comunità ne tragga beneficio (libertà 3).
L'accesso al sorgente è un prerequisito delle libertà 1 e 3.
Mazza Dario – Merlino Sebastiano 4
5. Classificazione del Software
È possibile individuare le seguenti tipologie di software:
1. Software semilibero: il software semilibero è software non
libero in quanto distribuito col permesso di essere usato, copiato,
distribuito e modificato(incluse le versioni distribuite con
modifiche) senza scopo di lucro, solo dai privati.
2. Software proprietario: il software proprietario è quello che non
è libero o semilibero. Il suo utilizzo, la ridistribuzione o la modifica
sono proibiti, oppure richiedono un permesso, o sono sottoposti a
vincoli.
3. Software Open Source: il termine quot;open sourcequot; software è
usato da alcuni più o meno con lo stesso significato di software
libero. In realtà si tratta di software libero sviluppato secondo le
idee del movimento dell’Open Source (ben distinto dal movimento
del software libero).
Mazza Dario – Merlino Sebastiano 5
6. Classificazione del Software
4. Software di pubblico
dominio: il software di pubblico
dominio è software privo di
copyright. È un caso speciale: si
tratta di software libero senza
permesso d'autore. Questo implica
la possibilità che alcune copie o
versioni modificate non siano
affatto libere.
5. Software con permesso d'autore (copyright): il software con
permesso d'autore è software libero le cui modifiche possono essere
distribuite solo con la stessa licenza del software originale. Questo
significa che ogni copia del software, anche se modificata, deve
essere software libero.
Mazza Dario – Merlino Sebastiano 6
7. Classificazione del Software
6. Software con licenza GPL: la GPL (General Public License) è
una licenza di software libero con permesso d'autore. La FSF (Free
Software Foundation) la utilizza come licenza per la maggior parte
del software GNU.
7. Software Freeware : il termine quot;freewarequot; non ha una definizione
comunemente accettata, ma viene spesso utilizzato per pacchetti
software che possono essere ridistribuiti ma non modificati (il loro
codice sorgente non è disponibile). Non sono un esempio di software
libero.
8. Software Shareware: lo shareware è software che dà la
possibilità di ridistribuire copie, ma impone a chiunque continui ad
usarne una copia di pagarne la licenza d'uso.
9. Software Commerciale: il software commerciale è software
sviluppato allo scopo di guadagnare dal suo uso.
Mazza Dario – Merlino Sebastiano 7
8. Il Progetto GNU
Il progetto GNU (Gnu's Not Unix) nasce nel
1984 da un’idea di Richard Stallman. Egli
iniziò la sua carriera al MIT, dove lavorava in
un gruppo che utilizzava esclusivamente
software libero. In quel periodo, accadeva già
che le società di computer distribuissero
software libero e i programmatori erano liberi di cooperare per lo
sviluppo di nuovo software. Entro gli anni '80, però, quasi tutto il
software divenne proprietario, e questo impedì la cooperazione degli
utenti. Stallman allora diede vita al progetto GNU (scrivendo
manifesto GNU) per rendere possibile la libera cooperazione nella
comunità informatica, rimuovendo gli ostacoli imposti dall’uso del
software proprietario. Obiettivo del progetto è lo sviluppo di un
sistema di software libero compatibile con Unix.
Mazza Dario – Merlino Sebastiano 8
9. Il Progetto GNU
A supporto del Progetto GNU fu creata la Free
Software Foundation (FSF). Essa opera
promovendo lo sviluppo e l'uso del software
libero in tutte le aree dell'informatica.
La Free Software Foundation si concentra sullo
sviluppo di nuovo software libero, inserendolo
in un sistema coerente che possa eliminare il
bisogno di utilizzare software proprietario.
Così come un insegnante non deve pagare per spiegare il teorema di
Pitagora, alla stessa maniera non pagherà uno studente che vorrà
utilizzarlo.
Mazza Dario – Merlino Sebastiano 9
10. Il Progetto GNU
Estratto dal saggio “Verso un'etica del Software” apparso su “Il Giornale dell'Ingegnere”
“Come ciascuno può
leggere quello che da
altri è stato scritto e
rielaborare le idee ivi
contenute, come
ciascuno può utilizzare
le dimostrazioni di
matematica
e le teorie di fisica per i propri scopi, allo stesso modo ognuno
dovrebbe essere autorizzato a leggere e rielaborare i programmi
esistenti, perché il patrimonio ‘culturale’ informatico possa
accrescersi a beneficio di tutti gli utenti di calcolatori e, più in
generale, per un utilizzo proficuo della tecnologia attualequot;.
Mazza Dario – Merlino Sebastiano 10
11. Perché è meglio pensare Open Source?
Quando si discute di applicabilità del
free software alla didattica e del suo uso
nel mondo della scuola è utile
distinguere due aspetti, ovvero l’uso del
free software per insegnare informatica
e l’uso dello stesso come piattaforma
per l’insegnamento di altre discipline.
Nel primo caso l’esistenza di sistemi
software di base di cui si possa
analizzare e modificare il sorgente è sicuramente molto utile a chi
voglia insegnare gli aspetti più tecnici dell’informatica.
Nel secondo caso la situazione è molto diversa, si potrebbero non
trovare sostanziali differenze sul software, ma vi sono altri aspetti da
tenere in considerazione.
Mazza Dario – Merlino Sebastiano 11
12. Perché è meglio pensare Open Source?
Motivi Didattici
● Lo studente è più consapevole di ciò che fa, di quali sono le
modalità di funzionamento di comandi e procedure, di qual è la
struttura del software.
● La disponibilità del sorgente e le quattro libertà permettono al
docente ed allo studente di “metterci le mani”, apportando
modifiche funzionali alle proprie esigenze.
● Favorisce la crescita autonoma dell’allievo.
● Gli studenti possono portare lo strumento a casa.
● La documentazione è ricca e facilmente reperibile.
● Considerando l'utilizzo di un sistema Linux, esso dispone sia di
interfaccia grafica che è utile per utenti “non professionali”(basso
livello di alfabetizzazione informatica) che di interfaccia a
carattere, più funzionale per utenti “professionali” (alto livello di
alfabetizzazione informatica).
Mazza Dario – Merlino Sebastiano 12
13. Perché è meglio pensare Open Source?
Motivi Economici
● Il costo rilevante delle licenze d'uso di software proprietario.
● La scarsità (sopratutto nel nostro Stato) di fondi per la scuola e
per l'istruzione in generale.
● Utilizzo di macchine datate o obsolete. Lascia a noi la possibilità
di decidere il momento in cui cambieremo il nostro hardware,
rendendoci indipendenti dalle imposizioni indirette dei produttori
di software proprietario.
● Assistenza tecnica pressoché gratuita ottenibile attraverso
Internet. Ogni problema può essere risolto chiedendo aiuto sul
Web.
Mazza Dario – Merlino Sebastiano 13
14. Perché è meglio pensare Open Source?
Motivi Etici
● Educazione alla legalità. Esso educa infatti alla
conoscenza ed al rispetto delle licenze
combattendo l'abitudine assunta da molti utenti di
violare le leggi sul copyright.
● Libertà economica che influisce sul punto
precedente abbassando (o annullando) il costo
delle licenze.
● Libertà di insegnamento ed autonomia didattica
ripulendo almeno l'ambiente scolastico dal
monopolio software di alcune case produttrici.
● Rispetto di criteri di uguaglianza ed equità. Qualunque utente, su
qualunque piattaforma hardware e appartenente a qualunque strato
della società, potrà avere accesso al software.
Mazza Dario – Merlino Sebastiano 14
15. Perché è meglio pensare Open Source?
Motivi Tecnici
● Affidabilità.
● Sicurezza.
● Rapido sviluppo di nuove soluzioni.
● Varietà di sviluppi.
● Produzione di esperienze.
Tutti dipendenti dalla possibilità di osservare e studiare il software,
caratteristica che permette di scoprire facilmente bugs o fori nella
sicurezza. Una tale libertà aiuta, inoltre, a sviluppare rapidamente
nuovi sistemi per la risoluzione dei problemi essendo possibile
l'osservazione del sorgente da molti programmatori in giro per il
mondo che potrebbero anche pervenire a soluzioni differenti.
La possibilità di osservare il codice, sprona anche gli utenti a
sperimentare permettendo lo sviluppo attivo di potenziali
programmatori.
Mazza Dario – Merlino Sebastiano 15
16. L'Open Source in Italia e nel Mondo
Il software libero e' molto piu' diffuso di quanto la gente pensi, solo
che non se ne puo' parlare.
Il 70% dei server web nel mondo sono di tipo LAMP, ossia
utilizzano software quali: Linux, Apache, MySQL ed un linguaggio
di scripting fra PHP, Perl e Python; tutti Open Source.
L'Italia è il quarto paese al mondo (seguendo Francia, Germania e
Stati Uniti) come numero di sviluppatori di Software libero. In
proporzione alla popolazione abbiamo molti più sviluppatori degli
Stati Uniti. L'Europa risulta all'avanguardia, in questo senso, rispetto
agli Stati Uniti; in Europa (al CERN) è nato il Web ed in Finlandia
fu inventato Linux.
Mazza Dario – Merlino Sebastiano 16
17. L'Open Source in Italia e nel Mondo
In qualche modo, tutti siamo utenti
Linux e Open Source.
Secondo Jim Zemlin, a capo della
Linux Foundation, nel mondo moderno
ogni singola persona, ogni giorno usa
software Open Source.
Chiunque faccia ricerca attraverso
Google, telefoni, utilizzi infrastrutture
per la telecomunicazione, nuovi televisori, nuove macchine digitali,
telefoni attraverso cellulari moderni, entri in Facebook, compri un
netbook, prelevi attraverso uno sportello ATM, giochi con la
PlayStation 3 utilizza sistemi Open Source e soprattutto Linux (e la
lista potrebbe continuare).
Sarebbe opportuno chiedersi chi non sia utente GNU/Linux.
Mazza Dario – Merlino Sebastiano 17
18. Le Licenze d'uso
La licenza in ambito informatico è l'insieme delle condizioni che può
accompagnare un prodotto software. Tale documento specifica le
modalità con cui l'utente può usare tale prodotto, garantendo dei
diritti ed imponendo obblighi.
Ritroviamo vari tipi di licenza:
● Licenze FSF:
La licenza è imposta da chi detiene il
Licenza GPL copyright sul software e la sua validità è
Licenza LGPL limitata dal diritto d'autore.
Un singolo software può essere rilasciato con
Licenza FDL
più licenze differenti.
● Licenze OSI: I modi di accettazione di una licenza sono
molteplici:
Licenza Open Source
●Implicito nell'utilizzo del software.
Licenza libera ●Durante l'installazione.
● Licenze Closed Source:
●Prima di scaricare il programma.
●All'apertura del supporto fisico.
EULA
Mazza Dario – Merlino Sebastiano 18
19. Licenze FSF
Quelle contenute in questo paragrafo sono
le licenze ideate e promosse dalla Free
Software Foundation (FSF) società
promotrice del progetto GNU.
Sua più importante licenza è, sicuramente, la GPL.
Le posizioni integraliste della FSF sono spesso non condivise dal
resto della comunità software ed infatti nascono spesso contrasti fra
le posizioni (forse più integraliste) di Richard Stallman e quelle più
morbide della comunità Linux.
“Non è la GPL ad aver reso famoso GNU/Linux, ma è Linux ad aver
reso presentabile la GPL, essendo dannatamente meno integralista
di quello che la FSF vuole.”
Linus Torvalds
Mazza Dario – Merlino Sebastiano 19
20. Licenze FSF
La GPL (General Public License), oggi alla sua terza
versione, fu scritta da Richard Stallman ed Eben
Moglen per distribuire i programmi creati
nell'ambito del Progetto GNU.
Essa assicura all'utente libertà di utilizzo, copia, modifica e
distribuzione. La GPL ha incontrato un gran successo fra gli autori di
software sin dalla sua creazione, ed è oggi la più diffusa licenza per il
software libero.
La GPL è persistente e propagativa.
● È persistente inquanto impone che con la redistribuzione vengano
allegati la GPL stessa e il codice sorgente del software (copyleft).
● È propagativa poiché la distribuzione di software nato dall'unione
di programmi con licenze GPL e non GPL avviene attraverso
licenza GPL o non avviene affatto (strong copyleft).
Mazza Dario – Merlino Sebastiano 20
21. Licenze FSF
LGPL: Lesser General Public Licence, studiata come compromesso
tra la licenza GPL ed altre licenze non copyleft. Ha lo scopo di
risultare appetibile alle aziende tutelando, però, la comunità del
software libero. Stabilisce il copyleft sul singolo file sorgente e non
sull'intero software, rendendo, così, possibile l'inclusione di librerie
sotto licenza LGPL all'interno di software proprietario.
FDL: Free Documentation License, è stata creata per distribuire la
documentazione di software e materiale didattico. Stabilisce che ogni
copia del materiale, anche se modificata, deve essere distribuita con
la stessa licenza. Tali copie possono essere vendute e, se riprodotte
in gran quantità, devono essere rese disponibili anche in un formato
che faciliti successive modifiche. Wikipedia è la più grande raccolta
di documentazione che utilizza questo tipo di licenza.
Mazza Dario – Merlino Sebastiano 21
22. Licenze OSI
Risultano essere definizioni di licenza prodotte dalla fondazione Open
Source Initiative e basate sulle indicazioni date dal progetto Debian.
Open Source: Una licenza open source autorizza chiunque ad usare,
modificare, integrare, riprodurre, duplicare e distribuire un programma
(o qualsiasi lavoro tutelato dalle norme sul diritto d'autore), anche a
scopi commerciali. Il codice sorgente stesso deve essere disponibile
anche in una forma leggibile e comprensibile all'uomo.
Non ha scopo principale nella gratuità del software e per questo di
discosta dall'intransigenza della GPL.
Licenza Libera: licenza concessa dal detentore di un diritto d'autore,
con possibilità di ripubblicazione o riutilizzo dell'opera, poste alcune
condizioni. Presuppone la gratuità del riutilizzo ma non la gratuità al
consumatore finale. Comprende sia la GPL che le licenza Open
Source.
Mazza Dario – Merlino Sebastiano 22
23. Licenze OSI
Open Source Definition
L'Open Source Definition stabilisce i criteri percui una licenza sia
dichiarata Open Source.
● Ridistribuzione libera.
● Codice sorgente incluso nel software licenziato.
● Concessione di modifica alle opere derivate.
● Integrità del codice sorgente.
● Nessuna discriminazione contro persone o gruppi.
● Nessuna discriminazione di settori della società e dello sviluppo.
● Distribuzione della licenza a tutti i destinatari della stessa.
● La licenza non dev'essere specifica di un prodotto.
● La licenza non deve contaminare altro software.
● La licenza deve essere indipendente dalla tecnologia.
Mazza Dario – Merlino Sebastiano 23
24. Licenze Closed Source
EULA: End User License Agreement è il contratto tra il fornitore di
un programma software e l'utente finale. Tale contratto assegna la
licenza d'uso del programma all'utente nei termini stabiliti dal
contratto stesso. Si sottolinea che licenza è appunto una licenza d'uso
e non una licenza di possesso del software stesso.
La EULA in generale comprende la concessione di licenza, le
limitazioni d'uso, la limitazione di garanzia, la limitazione di
responsabilità, le restrizioni all'esportazione.
L'utente finale in genere prende visione dell'EULA all'apertura della
confezione del software o all'atto dell'installazione.
L'impossibilità da parte dell'utente finale di leggere le condizioni
dell'EULA prima dell'acquisto del software ha posto le basi per la
nascita di proteste di grande rilevanza.
Mazza Dario – Merlino Sebastiano 24