Download - Linux & Open Source - Lezione 1

Transcript
Page 1: Linux & Open Source - Lezione 1

LinuxLinux&&

Open SourceOpen SourceLezione UNO

Startup

Mazza Dario Merlino Sebastiano

Page 2: Linux & Open Source - Lezione 1

“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 "comprare un programma" 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

Page 3: Linux & Open Source - Lezione 1

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.

“L'espressione Software libero si riferisce alla libertà dell'utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software.”

Richard M. Stallman

Mazza Dario – Merlino Sebastiano 3

Il Software Libero

Page 4: Linux & Open Source - Lezione 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).

Mazza Dario – Merlino Sebastiano 4

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 necessità (libertà 1).

L'accesso al sorgente è un prerequisito delle libertà 1 e 3.

Richard Stallman enuncia le 4 libertà al convegno Wikimania 2005

Il Software Libero

Page 5: Linux & Open Source - Lezione 1

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 "open source" 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).

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

Mazza Dario – Merlino Sebastiano 5

Classificazione del Software

Page 6: Linux & Open Source - Lezione 1

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.

Mazza Dario – Merlino Sebastiano 6

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.

Classificazione del Software

Page 7: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 7

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 "freeware" 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.

Classificazione del Software

Page 8: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 8

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

Il Progetto GNU

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.

Page 9: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 9

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.

Il Progetto GNU

Così come un insegnante non deve pagare per spiegare il teorema di Pitagora, alla stessa maniera non pagherà uno studente che vorrà utilizzarlo.

Page 10: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 10

Il Progetto GNU

“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 attuale".

Estratto dal saggio “Verso un'etica del Software” apparso su “Il Giornale dell'Ingegnere”

Page 11: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 12: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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).

Page 13: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 14: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 15: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 16: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 17: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 18: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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: Licenza GPL Licenza LGPL Licenza FDL

● Licenze OSI: Licenza Open Source Licenza libera

● Licenze Closed Source: EULA

La licenza è imposta da chi detiene il copyright sul software e la sua validità è limitata dal diritto d'autore.Un singolo software può essere rilasciato con più licenze differenti.I modi di accettazione di una licenza sono molteplici:

● Implicito nell'utilizzo del software.● Durante l'installazione.● Prima di scaricare il programma.● All'apertura del supporto fisico.

Page 19: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

“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

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.

Page 20: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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).

Page 21: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 22: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.

Page 23: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 23

Licenze OSIOpen 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.

Page 24: Linux & Open Source - Lezione 1

Mazza Dario – Merlino Sebastiano 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.