SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Introduzione al free
software e all’Open Source
  Lezione 1/1 – 29 Novembre 16:30
             Aula B.2.4




                        Relatore: Tarrasqu3
Definizioni fondamentali
                  Free Software:

•Nasce agli inizi degli anni 80.

•E' software la cui licenza soddisfa i quattro gradi di
libertà dell'usabilità di un software.

•E' principalmente improntato su concetti etici, sulla
funzionalità e l'usabilità.
Definizioni fondamentali
                     Open Souce:

•Nasce alla fine degli anni 90.

•Si ridefinisce alla Open Source Definition (OSD) che
stabilisce gli obiettivi legali che deve soddisfare una licenza
per essere effettivamente libera.

•E' principalmente improntata sulla comunità mondiale
attraverso la condivisione dei progetti e del know-how.
I quattro gradi di libertà del
           software
                              Libertà 0:
Libertà di eseguire il programma per qualsiasi scopo.

                              Libertà 1:
Libertà di studiare il programma e modificarlo.

                              Libertà 2:
Libertà di ridistribuire copie del programma in modo da aiutare il
prossimo.

                              Libertà 3:
Libertà di migliorare il programma e di distribuirne pubblicamente i
miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
Open Source Definition (OSD)
                                    1. Libera redistribuzione
La licenza non può limitare alcuno dal vendere o donare il software che ne è oggetto, come
componente di una distribuzione aggregata, contenente programmi di varia origine. La licenza non
può richiedere diritti o altri pagamenti a fronte di tali vendite.
                                        2. Codice sorgente
Il programma deve includere il codice sorgente e ne deve essere permessa la distribuzione sia come
codice sorgente che in forma compilata. Laddove alcune forme di un prodotto non siano distribuite
con il relativo codice sorgente, deve essere chiaramente indicato il modo per ottenerlo, ad un costo
non superiore ad una ragionevole spesa di distribuzione, preferibilmente scaricandolo gratuitamente
da Internet. Per codice sorgente si intende la forma in cui un programmatore preferirebbe modificare il
programma. Codice sorgente deliberatamente reso illeggibile non risponde ai requisiti. Forme
intermedie come l'output di un preprocessore o compilatore non rispondono ai requisiti.
                                        3. Prodotti derivati
La licenza deve permettere modifiche e prodotti derivati, e deve permetterne la distribuzione sotto le
stesse condizioni della licenza del software originale.
                          4. Integrità del codice sorgente originale
La licenza può impedire la distribuzione del codice sorgente in forma modificata, a patto che venga
consentita la distribuzione dell'originale accompagnato da "patch", ovvero file che permettono di
applicare modifiche automatiche al codice sorgente in fase di compilazione. La licenza deve
esplicitamente permettere la distribuzione del software prodotto con un codice sorgente modificato. La
licenza può richiedere che i prodotti derivati portino un nome o una versione diversa dal software
originale.
                        5. Discriminazione contro persone o gruppi
La licenza non deve discriminare alcuna persona o gruppo di persone.
Open Source Definition (OSD)
                         6. Discriminazione per campo d'applicazione
La licenza non deve impedire di far uso del programma in un ambito specifico. Ad
esempio non si può impedire l'uso del programma in ambito commerciale o nell'ambito
della ricerca genetica.
                                  7. Distribuzione della licenza
I diritti allegati a un programma devono essere applicabili a tutti coloro a cui il programma
è redistribuito, senza che sia necessaria l'emissione di ulteriori licenze.
                                  8. Specificità ad un prodotto
I diritti allegati al programma non devono dipendere dall'essere il programma parte di una
particolare distribuzione di software. Se il programma è estratto da quella distribuzione e
usato o redistribuito secondo i termini della licenza del programma, tutti coloro che
ricevano il programma dovranno avere gli stessi diritti che sono garantiti nel caso della
distribuzione originale.
                                   9. Vincoli su altro software
La licenza non deve porre restrizioni su altro software distribuito insieme al software
licenziato. Per esempio, la licenza non deve richiedere che tutti gli altri programmi
distribuiti sugli stessi supporti siano software open source.
                             10. Neutralità rispetto alle tecnologie
La licenza non deve contenere clausole che dipendano o si basino su particolari
tecnologie o tipi di interfacce.
IMPORTANTE SAPERE:

Se un software soddisfa i requisiti per essere Free software, allora quasi
sicuramente soddisferà i requisiti per essere Open source e viceversa.
POSIZIONI DIFFERENTI PER UN UNICO CONCETTO

                                 STORICO
 Il Free software nasce come gruppo di libera distribuzione del sapere dando
 a tutti quanti grande libertà di agire e grande distribuzione di conoscenza, Il
 termine stesso “Free” in inglese può essere ambiguamente interpretato sia
 come “Libero” che come “Gratuito” che suona come assenza di profitto.

 L'Open source invece persegue due obiettivi principali, il primo di natura
 commerciale togliendo ambiguità al nome e rafforzando la possibilità di attrarre
 investimenti da parte delle grandi società esterne, il secondo di carattere
 divulgativo, se il sorgente è disponibile per essere studiato o migliorato o
 corretto, automaticamente verrà anche conosciuto da tutti e potenzialmente
 utilizzato da privati e aziende anche con ritorni economici per chi lo ha studiato o
 divulgato.
POSIZIONI DIFFERENTI PER UN UNICO CONCETTO

                          IDEOLOGICO

 Il Free software, perseguendo fini superiori, si propone di migliorare il
 mondo attraverso la condivisione del software e quindi dell'ingegno
 umano e concedendo la più grande forma di libertà possibile sia a chi
 produce il codice e sia a chi lo usa a fini ricreativi e commerciali.

  L'Open source invece per rendere interessante la formula di
 presentazione, vuole dare maggior tutela ai proprietari dei progetti
 rendendo più articolata la proprietà intellettuale delle opere create dando
 in aggiunta la completa libertà di divulgare o mantenere chiuse le
 innovazioni apportate.

 Faremo chiarezza affrontando il tema delle licenze.
POSIZIONI DIFFERENTI PER UN UNICO CONCETTO

                                     LICENZE

 Ovviamente ce ne sono molte e alcune sono abbastanza recenti, ma le principali
 sono:
                                             •GPL
 Questa licenza mira a rispettare I principi esposti nei quattro gradi di libertà. (Copy left)

                                              •LGPL
 •Questa licenza nasce per motivi commerciali e serve a non influire sulla licenza finale
 del software utilizzato. (non Copy left)
                                              •MPL
 •Con questa licenza il software utilizzato non è tenuto a usare solo software libero e
 non si è più obbligati a distribuire I nuovi sorgenti.

                          •BSD (Berkeley Software Distribution)
 •Simile alla precedente va citata perché dal cuore dei sistemi BSD nasce l'OS Apple
Introduzione a Linux
                               UNIX
Nasce nel 1969 da un gruppo di ricerca di AT&T corp. Nei Bell Labs.

Principali caratteristiche di UNIX:

- Multiutente.

- Multitasking.

- Gestione memoria virtuale.

- Portabile.

- Aperto.
Introduzione a Linux
                                   POSIX
              (Portable Operating System Interface for uniX)


E' il nome che indica la famiglia degli standard definiti dall’IEEE denominati
formalmente IEEE 1003, E’ lo standard di comunicazione per la
compatibilità di comunicazione tra UNIX e altri sistemi compatibili.

POSIX specifica l'interfaccia comune del sistema operativo all'utente ed al
software in 15 documenti.

L'interfaccia utente standard è la shell Korn.

Altro software, servizi e programmi di utilità a livello di utente includono awk,
echo, e molti altri, nell'ordine delle centinaia.

I servizi di programmazione richiesti inoltre includono l'Input/Output di base.
Introduzione a Linux
                     Richard Stallman
                                Attivista
Non parleremo della persona perché ci
porterebbe via troppo tempo, tratteremo
semplicemente del suo contributo.

Nel 1983 decide di creare GNU, un progetto
che si prometteva di creare un intero sistema
operativo completamente libero.

Dopo l'introduzione del kernel Linux si iniziò a
parlare del progetto completo GNU/Linux.

Il kernel interno del progetto (HURD), non era
pronto per la produzione e quindi si preferì
utilizzare Linux da subito.
Introduzione a Linux
                              GNU
Gnu tra il 1983 e il 1998 si proponeva di essere un sistema operativo
completo e libero, ma con il nuovo kernel Linux il progetto si consolidò
così elegantemente e si affermò così saldamente che permise al
gruppo di iniziare a indirizzarsi su supporti legali e politici per
affermare la filosofia adottata e per migliorare la presa sul mercato e
la popolarità raggiunta, ovviamente altri progetti del gruppo GNU degni
di nota sono:

- GCC

- GDB

- Bash

- Gnome (GUI)
Introduzione a Linux
                           Il kernel
Che cos'è il kernel?

É il nucleo del sistema operativo, si tratta di un
software avente il compito di fornire ai processi
in esecuzione sull'elaboratore un accesso sicuro
e controllato all'hardware.

In pratica il progetto GNU era arrivato a un punto
di grande funzionalità ma privo del kernel
necessario per poter essere completo, il
progetto Linux invece era maturo per il suo ruolo
ma privo di quelle componenti software
necessarie per poter sfruttare tutte le sue
funzionalità.
Introduzione a Linux
                              Il Kernel
Linux nasce da una idea di Linus Torvalds di
creare un kernel completo partendo dal progetto di
Minix (Micro kernel usato dalle università per scopi
didattici).

I due progetti GNU e Linux non si incontrarono per
tutta la durata del loro sviluppo e vennero in contatto
quando ormai erano pronti per essere utilizzati
singolarmente.

La grande compatibilità riscontrata quasi
casualmente in realtà era data dal sistema UNIX e
dalle specifiche standard che in fase di progettazione
ispirarono gli sviluppatori di GNU e di Linux.
Introduzione a Linux
              Torvalds e la comunità
Linus Torvalds capisce subito che se vuole dare visibilità al suo
progetto lo deve rilasciare con i sorgenti e le specifiche.

Il progetto viene quindi rilasciato Open Source sia per avere da subito
sviluppatori in forza per migliorare il progetto, sia per dare maggiore
visibilità e quindi reputazione al suo progetto di lavoro

Inizialmente il progetto viene schernito dalle grandi software house,
tuttavia viene accolto con grande favore dalle comunità mondiali
che ben presto con il lavoro di condivisione resero grande il kernel.

La comunità col tempo, acquisendo esperienza ha risposto
accuratamente all'appello creando codice sempre più elegante e sicuro
per favorire la diffusione e lo sviluppo del progetto GNU/Linux.
Linux oggi
                User friendly (usabilità)
Oggi parlare di software facili da usare (user friendly) crea non poco
imbarazzo rispetto ai tempi passati.

Tempo fa un noto brand di oggetti hi-tech           fece del motto user
friendly il suo cavallo di battaglia per la divulgazione del suo sistema e
riuscì a imporsi sul mercato con notevole successo.

In quel periodo aveva senso parlare di difficoltà tecniche, a oggi la
troppa usabilità ha creato sistemi che con incredibile semplicità
compiono le tecniche più difficili in pochi click, guide e tutorial sono
ovunque e ogni funzione è spiegata nei minimi dettagli.

Oggi anche una installazione da zero è diventata semplice e possiamo
affermare che installare una Ubuntu è alla portata di tutti, anche dei meno
esperti.
Linux oggi
                           Portabilità
Oggi GNU/Linux è possibile installarla praticamente ovunque, spesso
viene installata una versione particolarmente customizzata su hardware
dedicato, spesso viene alleggerita per esperimenti e test.
Non esiste un produttore di hardware che utilizzando gli standard
definiti dagli organi internazionali preposti non sia compatibile con le
attuali distribuzioni principali in circolazione.

Con sforzi e prove oggi è anche possibile installare GNU/Linux anche su
sistemi dedicati o proprietari (Esempio i MacBook      ).

Il grande successo di portabilità raggiunto non è solo da attribuirsi al
gruppo di sviluppo ma si può attribuire in larga parte all’uso massiccio
e rigoroso che è stato fatto da parte degli organi di standardizzazione
(Esempio IEEE, ISO, ANSI).
Linux oggi
                Portabilità smartphone
Menzionando la portabilità di Linux è impossibile non menzionare uno dei
casi di maggior successo e divulgazione:

                       I sistemi operativi Android

Proprio perché dietro a Android Abbiamo Linux che compie il suo eccellente
lavoro dietro le quinte di questo sistema ormai quasi leader nel mercato
degli smartphone.
Linux oggi
                             Frequenza
Oggi Linux lo troviamo ovunque:

- Dispositivi embedded (incorporati, non modificabili).

- Internet, visto che la rete è progettata attraverso gli standard, possiamo
affermare che Linux è a proprio agio nel compito di web server o server di
rete.

- Nella telefonia ovviamente si sta facendo strada in tutti i campi.

- Oggi web server aziendali, reti office e fonere sono Linux.
Linux
                 Le distribuzioni (Distro)
Venendo trattate in modo esaustivo in altre sedi mi limito a presentare le
principali distro, sono davvero troppe e vi invito a guardare il sito che se ne
occupa:

http://distrowatch.com/

Per le distribuzioni:

- Red Hat - RHEL – Fedora

- Gentoo

- Debian – Ubuntu – Mint

- Archlinux
Linux
            Le interfacce grafiche (GUI)
Venendo trattate in modo esaustivo in altre sedi mi limito a presentare le
principali distro e le principali Interfacce grafiche.

Le principali GUI:

- XFCE

- Gnome e KDE (GTK+ e Qt)

- Unity

- Molto, ma molto altro….
Principali certificazioni Linux
                  Sbocchi professionali
Inutile dire che un prodotto così versatile e completo preveda delle
certificazioni professionali che quasi sempre costituiscono carattere
preferenziale nell’inserimento nel mondo del lavoro come professionista.

Le principali certificazioni, ma non le sole sono le qui presenti:
Obiettivo di LPI è sviluppare uno standard globale per la certificazione
Linux.
Obiettivo di Red Hat invece è quello di preparare dei professionisti a
risolvere qualsiasi problematica nei loro ambienti dedicati.

Ovviamente quello che si impara in questi percorsi varrà generalmente per
tutti gli ambienti Linux.

http://www.redhat.com/training/certifications/
http://www.lpi-italia.org/certificazione/
Grazie,
   per non essere scappati e
per non avermi tirato i pomodori.

Más contenido relacionado

La actualidad más candente

Approfondimento open source
Approfondimento open sourceApprofondimento open source
Approfondimento open source1CLSA
 
Slide openvsclosed-source
Slide openvsclosed-sourceSlide openvsclosed-source
Slide openvsclosed-sourceOpen vs Closed
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+AndroidNicola Pedot
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Francesco Baldassarri
 
Introduzione al Free Software
Introduzione al Free SoftwareIntroduzione al Free Software
Introduzione al Free SoftwareAntonio Sanfelice
 
Saas Flos Licenze Particolari A Perny2009 Finale
Saas Flos Licenze Particolari A Perny2009 FinaleSaas Flos Licenze Particolari A Perny2009 Finale
Saas Flos Licenze Particolari A Perny2009 Finaleguestb57e4
 
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noi
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noiGGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noi
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noiGGD Roma
 

La actualidad más candente (10)

Licenze floss
Licenze flossLicenze floss
Licenze floss
 
Approfondimento open source
Approfondimento open sourceApprofondimento open source
Approfondimento open source
 
Slide openvsclosed-source
Slide openvsclosed-sourceSlide openvsclosed-source
Slide openvsclosed-source
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+Android
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)
 
Introduzione al Free Software
Introduzione al Free SoftwareIntroduzione al Free Software
Introduzione al Free Software
 
Filosofia open source
Filosofia open sourceFilosofia open source
Filosofia open source
 
Saas Flos Licenze Particolari A Perny2009 Finale
Saas Flos Licenze Particolari A Perny2009 FinaleSaas Flos Licenze Particolari A Perny2009 Finale
Saas Flos Licenze Particolari A Perny2009 Finale
 
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noi
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noiGGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noi
GGD Roma #7 Flavia Weisghizzi - L'Open Source intorno a noi
 
Gallus oristano 25.2.12
Gallus oristano 25.2.12Gallus oristano 25.2.12
Gallus oristano 25.2.12
 

Destacado

[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux
[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux
[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu LinuxGalliate Linux User Group
 
Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Galliate Linux User Group
 
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioniGalliate Linux User Group
 
Migrazione da sistemi proprietari a sistemi open source
Migrazione da sistemi proprietari a sistemi open sourceMigrazione da sistemi proprietari a sistemi open source
Migrazione da sistemi proprietari a sistemi open sourceClaudio Cardinali
 

Destacado (8)

[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux
[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux
[Ubuntu per tutti] 1, Ottenere ed installare Ubuntu Linux
 
Manifesto - Distribuzioni Linux
Manifesto - Distribuzioni LinuxManifesto - Distribuzioni Linux
Manifesto - Distribuzioni Linux
 
Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)
 
Multimedia con FFmpeg
Multimedia con FFmpegMultimedia con FFmpeg
Multimedia con FFmpeg
 
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni
[Ubuntu per tutti] 2, La struttura del sistema e prime operazioni
 
Linux Day Printable banner
Linux Day Printable bannerLinux Day Printable banner
Linux Day Printable banner
 
Migrazione da sistemi proprietari a sistemi open source
Migrazione da sistemi proprietari a sistemi open sourceMigrazione da sistemi proprietari a sistemi open source
Migrazione da sistemi proprietari a sistemi open source
 
#!/bin/bash ed esempi di scripting
#!/bin/bash ed esempi di scripting#!/bin/bash ed esempi di scripting
#!/bin/bash ed esempi di scripting
 

Similar a Introduzione al Free Software e all’Open Source

Beni Culturali 2.1 Introduzione Os
Beni Culturali 2.1 Introduzione OsBeni Culturali 2.1 Introduzione Os
Beni Culturali 2.1 Introduzione OsCaterina Policaro
 
Introduzione all'Open Source. Carlo Rindi.
Introduzione all'Open Source. Carlo Rindi.Introduzione all'Open Source. Carlo Rindi.
Introduzione all'Open Source. Carlo Rindi.accessoinformazione
 
Open source copyright e copyleft
Open source copyright e copyleftOpen source copyright e copyleft
Open source copyright e copyleftAndrea Linfozzi
 
Presentazione floss ot_2013_pnlug
Presentazione floss ot_2013_pnlugPresentazione floss ot_2013_pnlug
Presentazione floss ot_2013_pnlugPordenone LUG
 
OpenOffice: cos'è, chi c'è dietro e con quale modello di business
OpenOffice: cos'è, chi c'è dietro e con quale modello di businessOpenOffice: cos'è, chi c'è dietro e con quale modello di business
OpenOffice: cos'è, chi c'è dietro e con quale modello di businessmadero
 
Software libero, pensiero libero
Software libero, pensiero liberoSoftware libero, pensiero libero
Software libero, pensiero liberoGiuseppe Gortan
 
Open-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosaOpen-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosaaccatagliato
 
Etica e Filosofia del Software Libero
Etica e Filosofia del Software LiberoEtica e Filosofia del Software Libero
Etica e Filosofia del Software LiberoNaLUG
 
La gestione della fotografia digitale in archivio: tipologia di software e me...
La gestione della fotografia digitale in archivio: tipologia di software e me...La gestione della fotografia digitale in archivio: tipologia di software e me...
La gestione della fotografia digitale in archivio: tipologia di software e me...Juan Alonso Fernandez
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Piergiorgio Borgogno
 
Alberto di Cagno_L'opensource nella cultura giuridica italiana
Alberto di Cagno_L'opensource nella cultura giuridica italianaAlberto di Cagno_L'opensource nella cultura giuridica italiana
Alberto di Cagno_L'opensource nella cultura giuridica italianaLa Scuola Open Source
 
FLOSS: Free Software e Open Source
FLOSS: Free Software e Open SourceFLOSS: Free Software e Open Source
FLOSS: Free Software e Open SourcePiergiorgio Borgogno
 
Presentazione open source
Presentazione open sourcePresentazione open source
Presentazione open sourceMatteo Brandi
 

Similar a Introduzione al Free Software e all’Open Source (20)

Beni Culturali 2.1 Introduzione Os
Beni Culturali 2.1 Introduzione OsBeni Culturali 2.1 Introduzione Os
Beni Culturali 2.1 Introduzione Os
 
Introduzione all'Open Source. Carlo Rindi.
Introduzione all'Open Source. Carlo Rindi.Introduzione all'Open Source. Carlo Rindi.
Introduzione all'Open Source. Carlo Rindi.
 
Open source copyright e copyleft
Open source copyright e copyleftOpen source copyright e copyleft
Open source copyright e copyleft
 
Linux
LinuxLinux
Linux
 
Presentazione floss ot_2013_pnlug
Presentazione floss ot_2013_pnlugPresentazione floss ot_2013_pnlug
Presentazione floss ot_2013_pnlug
 
OpenOffice: cos'è, chi c'è dietro e con quale modello di business
OpenOffice: cos'è, chi c'è dietro e con quale modello di businessOpenOffice: cos'è, chi c'è dietro e con quale modello di business
OpenOffice: cos'è, chi c'è dietro e con quale modello di business
 
Open Source
Open SourceOpen Source
Open Source
 
Software libero, pensiero libero
Software libero, pensiero liberoSoftware libero, pensiero libero
Software libero, pensiero libero
 
Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1
 
Open-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosaOpen-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosa
 
Etica e Filosofia del Software Libero
Etica e Filosofia del Software LiberoEtica e Filosofia del Software Libero
Etica e Filosofia del Software Libero
 
La gestione della fotografia digitale in archivio: tipologia di software e me...
La gestione della fotografia digitale in archivio: tipologia di software e me...La gestione della fotografia digitale in archivio: tipologia di software e me...
La gestione della fotografia digitale in archivio: tipologia di software e me...
 
L' Open Source
L' Open SourceL' Open Source
L' Open Source
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)
 
Alberto di Cagno_L'opensource nella cultura giuridica italiana
Alberto di Cagno_L'opensource nella cultura giuridica italianaAlberto di Cagno_L'opensource nella cultura giuridica italiana
Alberto di Cagno_L'opensource nella cultura giuridica italiana
 
Perché Open Source
Perché Open SourcePerché Open Source
Perché Open Source
 
FLOSS: Free Software e Open Source
FLOSS: Free Software e Open SourceFLOSS: Free Software e Open Source
FLOSS: Free Software e Open Source
 
Il software open-source
Il software open-sourceIl software open-source
Il software open-source
 
Presentazione open source
Presentazione open sourcePresentazione open source
Presentazione open source
 
Openfrog
OpenfrogOpenfrog
Openfrog
 

Introduzione al Free Software e all’Open Source

  • 1. Introduzione al free software e all’Open Source Lezione 1/1 – 29 Novembre 16:30 Aula B.2.4 Relatore: Tarrasqu3
  • 2. Definizioni fondamentali Free Software: •Nasce agli inizi degli anni 80. •E' software la cui licenza soddisfa i quattro gradi di libertà dell'usabilità di un software. •E' principalmente improntato su concetti etici, sulla funzionalità e l'usabilità.
  • 3. Definizioni fondamentali Open Souce: •Nasce alla fine degli anni 90. •Si ridefinisce alla Open Source Definition (OSD) che stabilisce gli obiettivi legali che deve soddisfare una licenza per essere effettivamente libera. •E' principalmente improntata sulla comunità mondiale attraverso la condivisione dei progetti e del know-how.
  • 4. I quattro gradi di libertà del software Libertà 0: Libertà di eseguire il programma per qualsiasi scopo. Libertà 1: Libertà di studiare il programma e modificarlo. Libertà 2: Libertà di ridistribuire copie del programma in modo da aiutare il prossimo. Libertà 3: Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
  • 5. Open Source Definition (OSD) 1. Libera redistribuzione La licenza non può limitare alcuno dal vendere o donare il software che ne è oggetto, come componente di una distribuzione aggregata, contenente programmi di varia origine. La licenza non può richiedere diritti o altri pagamenti a fronte di tali vendite. 2. Codice sorgente Il programma deve includere il codice sorgente e ne deve essere permessa la distribuzione sia come codice sorgente che in forma compilata. Laddove alcune forme di un prodotto non siano distribuite con il relativo codice sorgente, deve essere chiaramente indicato il modo per ottenerlo, ad un costo non superiore ad una ragionevole spesa di distribuzione, preferibilmente scaricandolo gratuitamente da Internet. Per codice sorgente si intende la forma in cui un programmatore preferirebbe modificare il programma. Codice sorgente deliberatamente reso illeggibile non risponde ai requisiti. Forme intermedie come l'output di un preprocessore o compilatore non rispondono ai requisiti. 3. Prodotti derivati La licenza deve permettere modifiche e prodotti derivati, e deve permetterne la distribuzione sotto le stesse condizioni della licenza del software originale. 4. Integrità del codice sorgente originale La licenza può impedire la distribuzione del codice sorgente in forma modificata, a patto che venga consentita la distribuzione dell'originale accompagnato da "patch", ovvero file che permettono di applicare modifiche automatiche al codice sorgente in fase di compilazione. La licenza deve esplicitamente permettere la distribuzione del software prodotto con un codice sorgente modificato. La licenza può richiedere che i prodotti derivati portino un nome o una versione diversa dal software originale. 5. Discriminazione contro persone o gruppi La licenza non deve discriminare alcuna persona o gruppo di persone.
  • 6. Open Source Definition (OSD) 6. Discriminazione per campo d'applicazione La licenza non deve impedire di far uso del programma in un ambito specifico. Ad esempio non si può impedire l'uso del programma in ambito commerciale o nell'ambito della ricerca genetica. 7. Distribuzione della licenza I diritti allegati a un programma devono essere applicabili a tutti coloro a cui il programma è redistribuito, senza che sia necessaria l'emissione di ulteriori licenze. 8. Specificità ad un prodotto I diritti allegati al programma non devono dipendere dall'essere il programma parte di una particolare distribuzione di software. Se il programma è estratto da quella distribuzione e usato o redistribuito secondo i termini della licenza del programma, tutti coloro che ricevano il programma dovranno avere gli stessi diritti che sono garantiti nel caso della distribuzione originale. 9. Vincoli su altro software La licenza non deve porre restrizioni su altro software distribuito insieme al software licenziato. Per esempio, la licenza non deve richiedere che tutti gli altri programmi distribuiti sugli stessi supporti siano software open source. 10. Neutralità rispetto alle tecnologie La licenza non deve contenere clausole che dipendano o si basino su particolari tecnologie o tipi di interfacce.
  • 7. IMPORTANTE SAPERE: Se un software soddisfa i requisiti per essere Free software, allora quasi sicuramente soddisferà i requisiti per essere Open source e viceversa.
  • 8. POSIZIONI DIFFERENTI PER UN UNICO CONCETTO STORICO Il Free software nasce come gruppo di libera distribuzione del sapere dando a tutti quanti grande libertà di agire e grande distribuzione di conoscenza, Il termine stesso “Free” in inglese può essere ambiguamente interpretato sia come “Libero” che come “Gratuito” che suona come assenza di profitto. L'Open source invece persegue due obiettivi principali, il primo di natura commerciale togliendo ambiguità al nome e rafforzando la possibilità di attrarre investimenti da parte delle grandi società esterne, il secondo di carattere divulgativo, se il sorgente è disponibile per essere studiato o migliorato o corretto, automaticamente verrà anche conosciuto da tutti e potenzialmente utilizzato da privati e aziende anche con ritorni economici per chi lo ha studiato o divulgato.
  • 9. POSIZIONI DIFFERENTI PER UN UNICO CONCETTO IDEOLOGICO Il Free software, perseguendo fini superiori, si propone di migliorare il mondo attraverso la condivisione del software e quindi dell'ingegno umano e concedendo la più grande forma di libertà possibile sia a chi produce il codice e sia a chi lo usa a fini ricreativi e commerciali. L'Open source invece per rendere interessante la formula di presentazione, vuole dare maggior tutela ai proprietari dei progetti rendendo più articolata la proprietà intellettuale delle opere create dando in aggiunta la completa libertà di divulgare o mantenere chiuse le innovazioni apportate. Faremo chiarezza affrontando il tema delle licenze.
  • 10. POSIZIONI DIFFERENTI PER UN UNICO CONCETTO LICENZE Ovviamente ce ne sono molte e alcune sono abbastanza recenti, ma le principali sono: •GPL Questa licenza mira a rispettare I principi esposti nei quattro gradi di libertà. (Copy left) •LGPL •Questa licenza nasce per motivi commerciali e serve a non influire sulla licenza finale del software utilizzato. (non Copy left) •MPL •Con questa licenza il software utilizzato non è tenuto a usare solo software libero e non si è più obbligati a distribuire I nuovi sorgenti. •BSD (Berkeley Software Distribution) •Simile alla precedente va citata perché dal cuore dei sistemi BSD nasce l'OS Apple
  • 11. Introduzione a Linux UNIX Nasce nel 1969 da un gruppo di ricerca di AT&T corp. Nei Bell Labs. Principali caratteristiche di UNIX: - Multiutente. - Multitasking. - Gestione memoria virtuale. - Portabile. - Aperto.
  • 12. Introduzione a Linux POSIX (Portable Operating System Interface for uniX) E' il nome che indica la famiglia degli standard definiti dall’IEEE denominati formalmente IEEE 1003, E’ lo standard di comunicazione per la compatibilità di comunicazione tra UNIX e altri sistemi compatibili. POSIX specifica l'interfaccia comune del sistema operativo all'utente ed al software in 15 documenti. L'interfaccia utente standard è la shell Korn. Altro software, servizi e programmi di utilità a livello di utente includono awk, echo, e molti altri, nell'ordine delle centinaia. I servizi di programmazione richiesti inoltre includono l'Input/Output di base.
  • 13. Introduzione a Linux Richard Stallman Attivista Non parleremo della persona perché ci porterebbe via troppo tempo, tratteremo semplicemente del suo contributo. Nel 1983 decide di creare GNU, un progetto che si prometteva di creare un intero sistema operativo completamente libero. Dopo l'introduzione del kernel Linux si iniziò a parlare del progetto completo GNU/Linux. Il kernel interno del progetto (HURD), non era pronto per la produzione e quindi si preferì utilizzare Linux da subito.
  • 14. Introduzione a Linux GNU Gnu tra il 1983 e il 1998 si proponeva di essere un sistema operativo completo e libero, ma con il nuovo kernel Linux il progetto si consolidò così elegantemente e si affermò così saldamente che permise al gruppo di iniziare a indirizzarsi su supporti legali e politici per affermare la filosofia adottata e per migliorare la presa sul mercato e la popolarità raggiunta, ovviamente altri progetti del gruppo GNU degni di nota sono: - GCC - GDB - Bash - Gnome (GUI)
  • 15. Introduzione a Linux Il kernel Che cos'è il kernel? É il nucleo del sistema operativo, si tratta di un software avente il compito di fornire ai processi in esecuzione sull'elaboratore un accesso sicuro e controllato all'hardware. In pratica il progetto GNU era arrivato a un punto di grande funzionalità ma privo del kernel necessario per poter essere completo, il progetto Linux invece era maturo per il suo ruolo ma privo di quelle componenti software necessarie per poter sfruttare tutte le sue funzionalità.
  • 16. Introduzione a Linux Il Kernel Linux nasce da una idea di Linus Torvalds di creare un kernel completo partendo dal progetto di Minix (Micro kernel usato dalle università per scopi didattici). I due progetti GNU e Linux non si incontrarono per tutta la durata del loro sviluppo e vennero in contatto quando ormai erano pronti per essere utilizzati singolarmente. La grande compatibilità riscontrata quasi casualmente in realtà era data dal sistema UNIX e dalle specifiche standard che in fase di progettazione ispirarono gli sviluppatori di GNU e di Linux.
  • 17. Introduzione a Linux Torvalds e la comunità Linus Torvalds capisce subito che se vuole dare visibilità al suo progetto lo deve rilasciare con i sorgenti e le specifiche. Il progetto viene quindi rilasciato Open Source sia per avere da subito sviluppatori in forza per migliorare il progetto, sia per dare maggiore visibilità e quindi reputazione al suo progetto di lavoro Inizialmente il progetto viene schernito dalle grandi software house, tuttavia viene accolto con grande favore dalle comunità mondiali che ben presto con il lavoro di condivisione resero grande il kernel. La comunità col tempo, acquisendo esperienza ha risposto accuratamente all'appello creando codice sempre più elegante e sicuro per favorire la diffusione e lo sviluppo del progetto GNU/Linux.
  • 18. Linux oggi User friendly (usabilità) Oggi parlare di software facili da usare (user friendly) crea non poco imbarazzo rispetto ai tempi passati. Tempo fa un noto brand di oggetti hi-tech fece del motto user friendly il suo cavallo di battaglia per la divulgazione del suo sistema e riuscì a imporsi sul mercato con notevole successo. In quel periodo aveva senso parlare di difficoltà tecniche, a oggi la troppa usabilità ha creato sistemi che con incredibile semplicità compiono le tecniche più difficili in pochi click, guide e tutorial sono ovunque e ogni funzione è spiegata nei minimi dettagli. Oggi anche una installazione da zero è diventata semplice e possiamo affermare che installare una Ubuntu è alla portata di tutti, anche dei meno esperti.
  • 19. Linux oggi Portabilità Oggi GNU/Linux è possibile installarla praticamente ovunque, spesso viene installata una versione particolarmente customizzata su hardware dedicato, spesso viene alleggerita per esperimenti e test. Non esiste un produttore di hardware che utilizzando gli standard definiti dagli organi internazionali preposti non sia compatibile con le attuali distribuzioni principali in circolazione. Con sforzi e prove oggi è anche possibile installare GNU/Linux anche su sistemi dedicati o proprietari (Esempio i MacBook ). Il grande successo di portabilità raggiunto non è solo da attribuirsi al gruppo di sviluppo ma si può attribuire in larga parte all’uso massiccio e rigoroso che è stato fatto da parte degli organi di standardizzazione (Esempio IEEE, ISO, ANSI).
  • 20. Linux oggi Portabilità smartphone Menzionando la portabilità di Linux è impossibile non menzionare uno dei casi di maggior successo e divulgazione: I sistemi operativi Android Proprio perché dietro a Android Abbiamo Linux che compie il suo eccellente lavoro dietro le quinte di questo sistema ormai quasi leader nel mercato degli smartphone.
  • 21. Linux oggi Frequenza Oggi Linux lo troviamo ovunque: - Dispositivi embedded (incorporati, non modificabili). - Internet, visto che la rete è progettata attraverso gli standard, possiamo affermare che Linux è a proprio agio nel compito di web server o server di rete. - Nella telefonia ovviamente si sta facendo strada in tutti i campi. - Oggi web server aziendali, reti office e fonere sono Linux.
  • 22.
  • 23. Linux Le distribuzioni (Distro) Venendo trattate in modo esaustivo in altre sedi mi limito a presentare le principali distro, sono davvero troppe e vi invito a guardare il sito che se ne occupa: http://distrowatch.com/ Per le distribuzioni: - Red Hat - RHEL – Fedora - Gentoo - Debian – Ubuntu – Mint - Archlinux
  • 24. Linux Le interfacce grafiche (GUI) Venendo trattate in modo esaustivo in altre sedi mi limito a presentare le principali distro e le principali Interfacce grafiche. Le principali GUI: - XFCE - Gnome e KDE (GTK+ e Qt) - Unity - Molto, ma molto altro….
  • 25. Principali certificazioni Linux Sbocchi professionali Inutile dire che un prodotto così versatile e completo preveda delle certificazioni professionali che quasi sempre costituiscono carattere preferenziale nell’inserimento nel mondo del lavoro come professionista. Le principali certificazioni, ma non le sole sono le qui presenti: Obiettivo di LPI è sviluppare uno standard globale per la certificazione Linux. Obiettivo di Red Hat invece è quello di preparare dei professionisti a risolvere qualsiasi problematica nei loro ambienti dedicati. Ovviamente quello che si impara in questi percorsi varrà generalmente per tutti gli ambienti Linux. http://www.redhat.com/training/certifications/ http://www.lpi-italia.org/certificazione/
  • 26. Grazie, per non essere scappati e per non avermi tirato i pomodori.