Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf ·...

19
Introduzione a Linux (e all'OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003 Simone Piunno, FerraraLUG Cos'è Linux Linux è un sistema operativo: UNIX-like, POSIX compatibile Multi utente, multi tasking, multi threading Multi processore (SMP) Multi piattaforma, 32 o 64 bit Modulare Gestisce molti filesystem differenti Gestisce molte tecnologie di networking differenti Gestisce molte GUI a finestre Corredato da moltissime applicazioni Libero, opensource

Transcript of Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf ·...

Page 1: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Introduzionea Linux

(e all'OpenSource)

Università di Ferrara, Facoltà di Ingegneria 2003

Simone Piunno, FerraraLUG

Cos'è LinuxLinux è un sistema operativo:

• UNIX-like, POSIX compatibile• Multi utente, multi tasking, multi threading• Multi processore (SMP)• Multi piattaforma, 32 o 64 bit • Modulare• Gestisce molti filesystem differenti • Gestisce molte tecnologie di networking differenti • Gestisce molte GUI a finestre• Corredato da moltissime applicazioni• Libero, opensource

Page 2: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Un po' di storia• 1969, ArpaNET, comunità in rete, futura Internet

• 1971, UNIX un design vincente

• 1981, PC IBM, hardware aperto, discesa dei costi

• 1984, Richard Stallman inizia il progetto GNU

• 1985, Nascono la FSF e la licenza GPL

• 1989, BSD networking release 1, un TCP/IP aperto

• 1990, Tim Berners Lee inventa il World Wide Web

• 1991, Linus Torvalds inizia a lavorare a Linux

• 1993, Linux 1.0Riferimenti: http://safari.oreilly.com/main.asp?bookname=opensources

Componenti del sistemaBoot loader: LILO (W.Almesberger), GRUB (GNU)Kernel: scritto da zero da Linus TorvaldsLibrerie di sistema: fornite da GNULa shell: la più usata è fornita da GNUUtility: molte derivate dal progetto GNUServizi di rete: molti sono derivati dai sistemi BSDDriver grafica: progetto XFree86, X ConsortiumGUI: KDE (KDE Team) o Gnome (GNU)Strumenti di sviluppo: molti forniti da GNUGestione pacchetti: RPM (RedHat) o DEB (Debian)Applicativi: vari

Page 3: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Componenti del sistema/2

• Un sistema linux è altamente modulare

• Ciascun modulo ricopre una funzione

• Per ogni funzione abbiamo la scelta tra diverse alternative

• Possiamo creare un sistema ad hoc per ogni situazione (embedded, palmari, workstation grafica, cluster, mainframe, etc.)

Le distribuzioni

Ci vuole qualcuno che raccolga la varie parti in un complesso funzionante, organico, facile da installare/usare. Questo è il ruolo delle distribuzioni.

– RedHat– SuSE– Mandrake– AlphaLinux– ...

– Debian– SeLinux– Trustix– Immunix– ...

Ogni distribuzione è tarata per un certo tipo di utilizzo.Se ne conoscono circa 200!!!

Riferimenti: http://lwn.net/Distributions/

Page 4: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Linux è free software“Free as in speech, not as in beer”

Gratis Non Gratis

Libero SuSE Linux, Kivio

Non libero Windows, PhotoShop

KDE, OpenOffice, Mozilla

Internet Explorer, Acrobat Reader,

Flash Player

Riferimenti: http://www.fsf.org/philosophy/free-sw.html

Linux non è “contro”

• Non è contro il software a pagamento, se riuscite a fare soldi con Linux gli autori sono contenti (e c'è chi li fa).

• Non è contro il copyright, la proprietà intellettuale di Linux è difesa strenuamente, viene solo esercitata in modo diverso.

Riferimenti: http://www.gnu.org/philosophy/selling.html

Page 5: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

OpenSourcePer evitare confusione si usa il termine OpenSource. OpenSource significa avere il diritto di:

• Riprodurre il software e di ridistribuirlo• Accedere al codice sorgente• Fare modifiche al software per migliorarlo• Per sempre

Open Source Initiative detiene il marchio ed approva le licenze conformi al modello. Esempi di licenze approvate: GPL, BSD, MIT, X consortium, Artistic, MPL, etc.

Riferimenti: http://www.opensource.org/

Esempio: la licenza GPLLa licenza GPL permette di:

• Riprodurre e ridistribuire il software• Esaminare e modificare il codice sorgente• RIDISTRIBUIRE LE VERSIONI MODIFICATE• Per sempre

La licenza ci da molte libertà ma ci chiede qualcosa indietro:

• Le versioni modificate, se ridistribuite, devono stare interamente sotto la stessa licenza (compresa ogni parte aggiunta)

E' nota anche col nome di Copyleft

Riferimenti: http://www.fsf.org/licenses/licenses.html

Page 6: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Vantaggi dell'OpenSource

Linux presenta vantaggi in molti campi:

• Per la didattica

• Per la ricerca

• Per l'amministratore di sistema

• Per lo sviluppatore

• Per l'azienda

• Per l'utente finale

• Per l'amministrazione pubblica

Vantaggi nella didattica

• Avere i sorgenti permette di studiare da vicino l'implementazione delle varie soluzioni.

• Il codice di Linux è fatto apposta per essere letto e capito.

• Poter modificare il codice ed eseguire la versione modificata è il top dell'esperienza di laboratorio.

• Tonnellate di documentazione dettagliata.

Page 7: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Vantaggi nella ricerca

• Possibilità di introdurre varianti o implementazione di nuovi concetti ad ogni livello del sistema.

• Nessun NDA da firmare.

• Si può interagire e scambiare idee con ricercatori e sviluppatori in tutto il mondo.

• Il proprio lavoro viene valutato e riconosciuto dai pari.

Vantaggi per il SysAdmin

• Infiniti tool di qualità eccellente, componibili in sistemi più complessi.

• Linguaggi di scripting potentissimi.

• Completo controllo della piattaforma, possibilità di diagnosticare e risolvere i problemi rapidamente e in molteplici modi.

• Ci sono mediamente meno problemi di sicurezza e vengono scoperti e risolti più rapidamente.

• Estrema stabilità (no crash, no reboot)

• No virus

Page 8: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Vantaggi per lo sviluppatore

• Infiniti tool di sviluppo, compilatori, interpreti, editor, debugger, ambienti integrati, etc.

• Disponibilità incredibile di librerie di ottima qualità.

• Posso riusare il codice per mie applicazioni (interne?) o personalizzarlo secondo i miei bisogni.

• Tonnellate di documentazione dettagliata.

Vantaggi per l'azienda

• Interoperabilità, aderenza agli standard aperti.

• In applicazioni in cui la sicurezza è fattore critico si può provare che il programma è libero da codice pericoloso.

• Se viene scoperto un problema posso intervenire da solo o pagare qualcuno affinchè lo faccia per me.

• Personale mediamente più qualificato.

• Investimento garantito nel tempo (meno rischi)

• Basso costo.

Page 9: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Vantaggi per l'utente finale

• Costi bassi.

• La concorrenza protegge il consumatore.

• Tra qualche decina d'anni riuscirò ancora a leggere i miei file.

Riferimenti: http://www.pps.jussieu.fr/~dicosmo/Piege/PiegeIT.html

Vantaggi per l'Amm. Pubblica

• I dati dei cittadini sono trattati con la dovuta cautela e sicurezza.

• Garantisce permanenza dei dati nel tempo.

• Trasparenza nelle procedure (es. di voto).

• Lo stato non deve favorire un'azienda (es. formati di file)

• Le risorse economiche rimangono sul territorio.

Riferimenti: http://www.gnu.org.pe/resmseng.html

Page 10: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Esempi famosi di OpenSource

• BIND (gira sul 90% dei server DNS)

• Apache (gira sul 60% dei server Web)

• Sendmail, Postfix (oltre 80% dei server di posta)

• Python, Perl, PHP

• Zope

• OpenOffice

• MySQL, Postgresql

• Samba

Apache domina il web

Riferimenti: http://www.netcraft.com/survey

Page 11: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Business OpenSource

Abbiamo esempi concreti di come sia possibile creare profitto intorno all'opensource:

• Leader per il client, vendi il server (es. Netscape)

• Produci l'hardware, libera il software (es. IBM, Apple)

• Regala la ricetta, apri un ristorante (es. Cygnus, Zope)

• Vendi gli accessori (es. O'Reilly, istituti di formazione)

• Libera il futuro, vendi il presente (es. Aladdin Ghostscript)

• Libera il software, vendi il marchio (es. RedHat, SuSE)

• Libera il software, vendi il contenuto (es. AOL, Kivio)

• Metti i bastoni tra le ruote della concorrenza (es. Sun)

• Dividi i costi e i rischi (es. Silicon Graphics, WebSphere)

Quanto vale l'OpenSourceDebian 2.2• 55 milioni di righe di codice (mozilla 2.1M, kernel 1.8M)• C 70%, C++ 10%, LISP 5%, shell 5%, perl 2.5%....• 14000 anni/uomo• 1.9 miliardi di dollari per rifarla da zero in 6 anniRedhat 7.1• 30 milioni di righe di codice (kernel 2.4M, mozilla 2.1M)• C 71%, C++ 15%, shell 2.6%, LISP 2.4%, assembly 1.8%• 8000 anni/uomo• 1.1 miliardi di dollari per rifarla da zero in 6.5 annii costi e i tempi sono stimati con modello COCOMO50% delle righe di codice sono sotto licenza GPL

Riferimenti: http://www.dwheeler.com/sloc/

Page 12: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Quanto vale l'OpenSource/2

Prodotto M-SLOCNASA Space Shuttle 1,8Sun Solaris (1998-2000) 8Windows 3.1 (1992) 3Windows 95 15Windows 98 18Windows NT (1992) 4Windows NT5 (1998) 20RedHat 6.2 (2000) 17RedHat 7.1 (2001) 30Debian 2.2 (2000) 55

Riferimenti: http://www.counterpane.com/crypto-gram-0003.html

Legge di Brooks“Al crescere del numero dei programmatori coinvolti in un progetto, la quantità di lavoro svolta aumenta proporzionalmente ma la complessità e la frequenza dei bug aumenta col quadrato.”

Lavoro Svolto = N

Complessità e Bug = N²

Riferimenti: Frederick.P.Brooks, “The mythical man month”, 1975

Page 13: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Bazaar styleLinus Torvalds inventa un nuovo modello di sviluppo del software, che va oltre la legge di Brooks:

• Apri il codice a chiunque voglia vederlo.• Rilascia presto, rilascia spesso.• I tuoi utenti sono la tua più grande risorsa, ascoltali.• Delega tutto quello che puoi.• Dai un indirizzo ma lascia che siano gli altri a sfidarsi

per la soluzione migliore.• Il debugging è parallelizzabile.• Dati abbastanza occhi, ogni bug è scopertoLa qualità del codice prodotto è impressionante.

Riferimenti: http://www.tuxedo.org/~esr/writings/cathedral-bazaar/

Altri esempi di bazaar• Gcc (da 2.91)

• Mozilla

• OpenOffice

• Fetchmail

• Perl

• KDE

L'esempio di Gcc/egcs è illuminante!

Anche Internet (il TCP/IP) è il risultato di un bazaar.

Page 14: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Sun ci crede

Scott McNealy, Sun Microsystems: "'We think the big winner with Linux will be on the desktop" -- 10.05.2003

Oracle ci crede

Larry Ellison, Oracle: "(Microsoft has) already been killed by one open-source product. Slaughtered, wiped out, taken from market dominance to irrelevance [...] They had a

virtual monopoly on Web servers, and then they were wiped off the face of the earth. And it's going to happen to them again on Linux." -- 04.03.2003

Page 15: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

IBM ci crede

Sam Palmisano, IBM: "We don't invest a billion dollars casually, Lou (Gerstner) and I don't write those checks without some...scrutiny." -- 31.01.2001

La casa bianca si fida

Page 16: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

NSA lo propone

Amazon ci vive

Page 17: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Google ci vive

Linux @ ing.unife.it

• 1996: vengono installati 2 server linux (ing49, ing54), prime postazioni internet a disposizione degli studenti della facoltà. Nasce il LinuxTeam da studenti volontari.

• 1997: al LinuxTeam vengono affidati i pc della biblioteca.

• 1999: viene aggiunta una LAN sperimentale con una dozzina di PC in rete ATM 25Mbps, ed iniziano esperimenti di Ipv6, ATM, multicast, etc.

LinuxTeam è stato terreno fertile per la formazione di un folto gruppo di appassionati di Linux nei dintorni di Ferrara.

Page 18: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

FerraraLUG, storia

• 1997: alcuni studenti della facoltà iniziano a pensare ad una associazione di utenti e formano, tra i primi in Italia, un Linux Users Group.

• 1999: FerraraLUG si costituisce formalmente in associazione culturale senza scopo di lucro.

• 2000: Iniziano i corsi di alfabetizzazione su Linux

• 2001: FerraraLUG co-organizza il primo LinuxDay nazionale.

• 2002: FerraraLUG ha oltre 100 soci, co-organizzato a ingegneria il secondo LinuxDay nazionale

FerraraLUG, attività� Punto di incontro e scambio informazioni tra gli utenti.� Aiuto generale per chi si avvicina a Linux.� Corsi di alfabetizzazione.� Sperimentazione sul server dell'associazione.� Sviluppo di software opensource.� Traduzione di software opensource esistente.� Organizzazione seminari, eventi.� Relazioni con altri LUG a livello nazionale.� Promozione sociale.� Pizzate!

Page 19: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2003/linux-intro-2003-2x1.pdf · Introduzione a Linux (e all’OpenSource) Università di Ferrara, Facoltà di Ingegneria 2003

Linux, riferimenti

• http://www.linux.org

• http://www.opensource.org

• http://www.gnu.org

• http://www.fsfeurope.org

• http://www.tldp.org

• http://www.freshmeat.net

� http://www.linux.it

• http://www.softwarelibero.it

� http://www.ziobudda.net

FerraraLUG, riferimenti

Http://[email protected]