marco cesati lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · schema...

15
Il software libero Marco Cesati Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.1 Lezione 3 Il software libero Linux avanzato 15 marzo 2013 Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Upload: doandieu

Post on 16-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.1

Lezione 3Il software libero

Linux avanzato

15 marzo 2013

Marco Cesati

System Programming Research GroupUniversità degli Studi di Roma Tor Vergata

Page 2: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.2

Di cosa parliamo in questa lezione?

Il movimento del software libero

1 Nascita delle interfacce grafiche2 Il movimento del software libero

Page 3: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.3

Nascita delle interfacce grafiche

La reale innovazione dei sistemi operativi per la quartagenerazione di calcolatori furono le interfacce grafiche

D. Engelbart inventò la GUI (Graphical User Interface)negli anni ’60L’idea venne incorporata nei prodotti della Xerox PARC(Xerox Alto, ∼1972; Xerox Star, ∼1981)Non ebbero successo commerciale

Source: it.wikipedia.org Source: www.digibarn.com

Page 4: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.4

Nascita delle interfacce grafiche (2)

Steve Jobs, che aveva sviluppato il primo computer Applenel suo garage, vide la GUI nei laboratori Xerox

Il primo tentativo di Jobs fu Lisa (1983): un insuccesso

Il seconto tentativo di Jobs fu il Macintosh (1984), cheebbe un successo enorme

Source: mac-history.net Source: oldcomputers.net

Page 5: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.5

Nascita delle interfacce grafiche (3)

Anche i sistemi operativi Unix svilupparono una propriainterfaccia grafica chiamata X Window System (MIT, 1984)

L’idea della GUI fu ripresa dalla Microsoft, comeapplicazione sopra il sistema MS-DOS (dal 1985 al 1995)

Dal 1995 la GUI è divenuta una funzionalità integrata nelsistema operativo Microsoft Windows

Source: mac-history.net Source: oldcomputers.net

Page 6: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.6

Diritti d’autore e licenze

Quando si acquista un calcolatore elettronico, si assume laproprietà della macchina, ed il costo pagato è proporzionale alvalore della tecnologia di cui si viene in possesso

Quando si paga per il software non si assume la proprietà delcodice

Legalmente il software è generalmente trattato allo stessomodo delle altre opere dell’ingegno (opere letterarie,musicali, . . . )Alla base c’è la nozione di diritto d’autore (copyright)

garantisce il riconoscimento di un giusto compensoall’autore o detentore dei diritti dell’opera

In genere il software non viene acquistato, nel senso chenon vengono trasferiti i diritti sull’opera (ossia il copyright)Ciò che si paga è la licenza d’uso, ossia il permesso diutilizzare il codice alle precise condizioni stabilite daldetentore dei diritti

Page 7: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.7

Brevetti del software

In molti paesi esiste anche un’altra possibilità perproteggere il software: il brevetto (patent)

Il brevetto è un meccanismo legale che impedisce l’utilizzodi una invenzione tecnologica non autorizzato da partedell’inventore o del detentore dei diritti sull’invenzione

Il brevetto dovrebbe essere limitato alla protezione dimeccanismi tecnologici “non banali” e realmente“innovativi”

Nel caso del software, in pratica gli uffici brevetti hannorilasciato milioni di brevetti banali e/o non innovativi

Ogni azienda di IT possiede un proprio portafoglio dibrevetti che usa come arma offensiva o difensiva contro lealtre aziende di IT

A complicare le cose, alcune aziende comprano brevettiunicamente per poter “estorcere” il pagamento di licenzealle grandi aziende di IT

Page 8: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.8

Il movimento del software libero

Agli inizi degli anni ’80 l’idea di software diffusa tra glihacker del MIT viene messa in crisi da

le cause nei tribunali su Unixuna nuova legge sul copyright del 1976lo sviluppo di una economia basata sul valore del softwarepiuttosto che dell’hardware

Sul software vengono sempre più spesso poste licenzerestrittive che impediscono di avere accesso al codicesorgente

Molti ricercatori del MIT lasciano il lavoro per andare alavorare in aziende di software

Questa situazione colpisce in modo particolare unricercatore del MIT, Richard Stallman

Carattere intransigentePropenso ad azioni di protesta clamoroseEccellente programmatore

Page 9: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.9

Il movimento del software libero (2)

Nel 1983 Richard Stallman avvia il ProgettoGNU (GNU’s Not Unix)

Scrivere un intero SO “libero” da diritti d’autore e licenzeCompatibile con UnixQuasi completato nei primi anni ’90: manca solo il nucleodel SOIl kernel GNU (Hurd) ad oggi non è stato ancora completato

Stallman non poteva utilizzare un kernel Unix BSD:

Esisteva la possibilità che qualche azienda in futuro potesserivendicare diritti sul progetto GNULa licenza BSD permette di includere il codice in prodotticommerciali “closed-source”

In ogni caso il progetto GNU riscuote un grande successo

I programmi GNU vengono installati sui SO proprietariperché ritenuti più efficienti, robusti e consistenti deicorrispondenti tool proprietari

Page 10: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.10

Il movimento del software libero (3)

Nel 1985 Stallman fonda la Free SoftwareFoundation (FSF)

Promuove scrittura e diffusione del software libero

Nel 1989 Stallman scrive la prima versione della licenzaGNU GPL (General Public License)

La seconda versione è del 1991, la terza vers. è del 2007

È la più diffusa licenza utilizzata per il software libero

Il numero di progetti basati sul concetto di software liberoè enorme

Le motivazioni di Stallman e dei proponenti del softwarelibero sono primariamente di ordine “etico” e a salvaguardiadei diritti degli utenti

Page 11: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.11

Le libertà fondamentali degli utenti

Secondo Stallman, il software libero (free software) garantiscequattro libertà fondamentali degli utenti dei calcolatori

1 Libertà di eseguire il programma per qualunque scopo

2 Libertà di leggere e studiare il codice sorgente3 Libertà di ridistribuire copie del programma originale4 Libertà di migliorare e adattare alle proprie esigenze il

programma e distribuire le versioni così modificate

La licenza GNU GPL garantisce queste libertà fondamentali

Chi modifica un programma GPL deve rilasciarlo con lastessa licenza GPL =⇒ l’utente del programmamodificato ha gli stessi diritti di chi ha fatto le modificheLa GPL non esclude che il programmatore possa essereretribuito per il suo lavoroSe il codice è utilizzato entro un programma diverso(prodotto derivato), anche questo ricade sotto la GPLLa licenza GNU GPL è un esempio di software “copyleft”

Page 12: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.12

Tipologie di software

Pubblico dominio (public domain): software senzacopyright, ossia senza detentore di diritti (può essere“rubato” e venduto come software proprietario)Copyleft (“permesso d’autore”): software il cui detentoredei diritti acconsente alla sua distribuzione secondo iprincipi del software libero e senza restrizioni aggiuntive(es.: licenza GNU GPL)Non copyleft: software il cui detentore dei dirittiacconsente alla modifica e ridistribuzione anche conrestrizioni aggiuntive (es.: licenza BSD)Semi-libero: software con licenza che permette l’uso, lacopia, la modifica e la distribuzione con qualunque scopoeccetto quello di trarne profittoProprietario: software non libero né semi-libero;generalmente viene ceduto a pagamento solo il codiceeseguibile, che non può essere ridistribuito liberamenteFreeware: software in formato eseguibile a titolo gratuitoShareware: software in formato eseguibile che può essereridistribuito ma per cui è richiesta una licenza d’uso dopoun periodo di prova

Page 13: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.13

Open Source Initiative (OSI)

1998: B. Perens e E.S. Raymond fondano la Open SourceInitiative

Nasce per presentare al mondo industriale e commercialeuna visione meno radicale ed idealistica di quella dellaFree Software Foundation

Lo scopo è quello di promuovere software “aperto” chel’utente finale possa studiare ed adattare

La definizione di software libero e la definizione disoftware open source non coincidono esattamente

Esistono licenze free non open source, e viceversaIn pratica la stragrande maggioranza dei progetti di softwarelibero soddisfa i requisiti dell’open source, e viceversa

Idea: la disponibilità del codice sorgente del softwareaiuta a creare un prodotto migliore grazie allo sviluppodistribuito, ai processi trasparenti ed alla “peer review”evita alle aziende i meccanismi di “vendor lock-in”può essere commercialmente vantaggioso

Page 14: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.14

La nascita del kernel Linux. . .

Agosto 1991: appare un nuovo SO per PC Intel 80386

From: [email protected](Linus Benedict Torvalds)

Newsgroups: comp.os.minixSubject: What would you like to see most in minix?Summary: small poll for my new operating systemDate: 25 Aug 91 20:57:08 GMTOrganization: University of Helsinki

Hello everybody out there using minix -

I’m doing a (free) operating system (just a hobby,won’t be big and professional like gnu) for 386(486)AT clones. This has been brewing since april, andis starting to get ready. I’d like any feedback onthings people like/dislike in minix, as my OSresembles it somewhat [...]

Page 15: Marco Cesati Lezione 3 - la13.sprg.uniroma2.itla13.sprg.uniroma2.it/lucidi/lez-03-p1.pdf · Schema della lezione Interfacce grafiche Free software Nascita di Linux LA’13 3.3 Nascita

Il software libero

Marco Cesati

Schema della lezione

Interfacce grafiche

Free software

Nascita di Linux

LA’13 3.15

MINIX

MINIX è un SO simile a Unix

Creato dal prof. Andrew Tanenbaum nel 1987 comeausilio didattico per un testo di SO

Sviluppato per l’IBM PC e per l’IBM PC/AT

Il codice sorgente era disponibile per scuole e università

La licenza d’uso prevedeva un costo incluso nel prezzo dellibro di SO di Tanenbaum

In effetti Tanenbaum manteneva uno stretto controllo sulcodice sorgente

Inoltre rifiutava di accettare modifiche che complicasserotroppo il SO

Nel 2000 la licenza di MINIX è stata modificata, ed è oramolto permissiva