Introduzione al Free Software e all’Open Source
Upcoming SlideShare
Loading in...5
×
 

Introduzione al Free Software e all’Open Source

on

  • 631 views

Introduzione a Linux, a GNU, al free software, all'open source.

Introduzione a Linux, a GNU, al free software, all'open source.

Statistics

Views

Total Views
631
Views on SlideShare
631
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduzione al Free Software e all’Open Source Introduzione al Free Software e all’Open Source Presentation Transcript

  • Introduzione al freesoftware 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 dilibertà dellusabilità di un software.•E principalmente improntato su concetti etici, sullafunzionalità e lusabilità.
  • Definizioni fondamentali Open Souce:•Nasce alla fine degli anni 90.•Si ridefinisce alla Open Source Definition (OSD) chestabilisce gli obiettivi legali che deve soddisfare una licenzaper essere effettivamente libera.•E principalmente improntata sulla comunità mondialeattraverso 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 ilprossimo. Libertà 3:Libertà di migliorare il programma e di distribuirne pubblicamente imiglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
  • Open Source Definition (OSD) 1. Libera redistribuzioneLa licenza non può limitare alcuno dal vendere o donare il software che ne è oggetto, comecomponente di una distribuzione aggregata, contenente programmi di varia origine. La licenza nonpuò richiedere diritti o altri pagamenti a fronte di tali vendite. 2. Codice sorgenteIl programma deve includere il codice sorgente e ne deve essere permessa la distribuzione sia comecodice sorgente che in forma compilata. Laddove alcune forme di un prodotto non siano distribuitecon il relativo codice sorgente, deve essere chiaramente indicato il modo per ottenerlo, ad un costonon superiore ad una ragionevole spesa di distribuzione, preferibilmente scaricandolo gratuitamenteda Internet. Per codice sorgente si intende la forma in cui un programmatore preferirebbe modificare ilprogramma. Codice sorgente deliberatamente reso illeggibile non risponde ai requisiti. Formeintermedie come loutput di un preprocessore o compilatore non rispondono ai requisiti. 3. Prodotti derivatiLa licenza deve permettere modifiche e prodotti derivati, e deve permetterne la distribuzione sotto lestesse condizioni della licenza del software originale. 4. Integrità del codice sorgente originaleLa licenza può impedire la distribuzione del codice sorgente in forma modificata, a patto che vengaconsentita la distribuzione delloriginale accompagnato da "patch", ovvero file che permettono diapplicare modifiche automatiche al codice sorgente in fase di compilazione. La licenza deveesplicitamente permettere la distribuzione del software prodotto con un codice sorgente modificato. Lalicenza può richiedere che i prodotti derivati portino un nome o una versione diversa dal softwareoriginale. 5. Discriminazione contro persone o gruppiLa licenza non deve discriminare alcuna persona o gruppo di persone.
  • Open Source Definition (OSD) 6. Discriminazione per campo dapplicazioneLa licenza non deve impedire di far uso del programma in un ambito specifico. Adesempio non si può impedire luso del programma in ambito commerciale o nellambitodella ricerca genetica. 7. Distribuzione della licenzaI diritti allegati a un programma devono essere applicabili a tutti coloro a cui il programmaè redistribuito, senza che sia necessaria lemissione di ulteriori licenze. 8. Specificità ad un prodottoI diritti allegati al programma non devono dipendere dallessere il programma parte di unaparticolare distribuzione di software. Se il programma è estratto da quella distribuzione eusato o redistribuito secondo i termini della licenza del programma, tutti coloro chericevano il programma dovranno avere gli stessi diritti che sono garantiti nel caso delladistribuzione originale. 9. Vincoli su altro softwareLa licenza non deve porre restrizioni su altro software distribuito insieme al softwarelicenziato. Per esempio, la licenza non deve richiedere che tutti gli altri programmidistribuiti sugli stessi supporti siano software open source. 10. Neutralità rispetto alle tecnologieLa licenza non deve contenere clausole che dipendano o si basino su particolaritecnologie o tipi di interfacce.
  • IMPORTANTE SAPERE:Se un software soddisfa i requisiti per essere Free software, allora quasisicuramente 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. LOpen 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 dellingegno 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. LOpen 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 lOS Apple
  • Introduzione a Linux UNIXNasce 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 denominatiformalmente IEEE 1003, E’ lo standard di comunicazione per lacompatibilità di comunicazione tra UNIX e altri sistemi compatibili.POSIX specifica linterfaccia comune del sistema operativo allutente ed alsoftware in 15 documenti.Linterfaccia utente standard è la shell Korn.Altro software, servizi e programmi di utilità a livello di utente includono awk,echo, e molti altri, nellordine delle centinaia.I servizi di programmazione richiesti inoltre includono lInput/Output di base.
  • Introduzione a Linux Richard Stallman AttivistaNon parleremo della persona perché ciporterebbe via troppo tempo, tratteremosemplicemente del suo contributo.Nel 1983 decide di creare GNU, un progettoche si prometteva di creare un intero sistemaoperativo completamente libero.Dopo lintroduzione del kernel Linux si iniziò aparlare del progetto completo GNU/Linux.Il kernel interno del progetto (HURD), non erapronto per la produzione e quindi si preferìutilizzare Linux da subito.
  • Introduzione a Linux GNUGnu tra il 1983 e il 1998 si proponeva di essere un sistema operativocompleto e libero, ma con il nuovo kernel Linux il progetto si consolidòcosì elegantemente e si affermò così saldamente che permise algruppo di iniziare a indirizzarsi su supporti legali e politici peraffermare la filosofia adottata e per migliorare la presa sul mercato ela popolarità raggiunta, ovviamente altri progetti del gruppo GNU degnidi nota sono:- GCC- GDB- Bash- Gnome (GUI)
  • Introduzione a Linux Il kernelChe cosè il kernel?É il nucleo del sistema operativo, si tratta di unsoftware avente il compito di fornire ai processiin esecuzione sullelaboratore un accesso sicuroe controllato allhardware.In pratica il progetto GNU era arrivato a un puntodi grande funzionalità ma privo del kernelnecessario per poter essere completo, ilprogetto Linux invece era maturo per il suo ruoloma privo di quelle componenti softwarenecessarie per poter sfruttare tutte le suefunzionalità.
  • Introduzione a Linux Il KernelLinux nasce da una idea di Linus Torvalds dicreare un kernel completo partendo dal progetto diMinix (Micro kernel usato dalle università per scopididattici).I due progetti GNU e Linux non si incontrarono pertutta la durata del loro sviluppo e vennero in contattoquando ormai erano pronti per essere utilizzatisingolarmente.La grande compatibilità riscontrata quasicasualmente in realtà era data dal sistema UNIX edalle specifiche standard che in fase di progettazioneispirarono gli sviluppatori di GNU e di Linux.
  • Introduzione a Linux Torvalds e la comunitàLinus Torvalds capisce subito che se vuole dare visibilità al suoprogetto lo deve rilasciare con i sorgenti e le specifiche.Il progetto viene quindi rilasciato Open Source sia per avere da subitosviluppatori in forza per migliorare il progetto, sia per dare maggiorevisibilità e quindi reputazione al suo progetto di lavoroInizialmente il progetto viene schernito dalle grandi software house,tuttavia viene accolto con grande favore dalle comunità mondialiche ben presto con il lavoro di condivisione resero grande il kernel.La comunità col tempo, acquisendo esperienza ha rispostoaccuratamente allappello creando codice sempre più elegante e sicuroper 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 pocoimbarazzo rispetto ai tempi passati.Tempo fa un noto brand di oggetti hi-tech fece del motto userfriendly il suo cavallo di battaglia per la divulgazione del suo sistema eriuscì a imporsi sul mercato con notevole successo.In quel periodo aveva senso parlare di difficoltà tecniche, a oggi latroppa usabilità ha creato sistemi che con incredibile semplicitàcompiono le tecniche più difficili in pochi click, guide e tutorial sonoovunque e ogni funzione è spiegata nei minimi dettagli.Oggi anche una installazione da zero è diventata semplice e possiamoaffermare che installare una Ubuntu è alla portata di tutti, anche dei menoesperti.
  • Linux oggi PortabilitàOggi GNU/Linux è possibile installarla praticamente ovunque, spessoviene installata una versione particolarmente customizzata su hardwarededicato, spesso viene alleggerita per esperimenti e test.Non esiste un produttore di hardware che utilizzando gli standarddefiniti dagli organi internazionali preposti non sia compatibile con leattuali distribuzioni principali in circolazione.Con sforzi e prove oggi è anche possibile installare GNU/Linux anche susistemi dedicati o proprietari (Esempio i MacBook ).Il grande successo di portabilità raggiunto non è solo da attribuirsi algruppo di sviluppo ma si può attribuire in larga parte all’uso massiccioe rigoroso che è stato fatto da parte degli organi di standardizzazione(Esempio IEEE, ISO, ANSI).
  • Linux oggi Portabilità smartphoneMenzionando la portabilità di Linux è impossibile non menzionare uno deicasi di maggior successo e divulgazione: I sistemi operativi AndroidProprio perché dietro a Android Abbiamo Linux che compie il suo eccellentelavoro dietro le quinte di questo sistema ormai quasi leader nel mercatodegli smartphone.
  • Linux oggi FrequenzaOggi Linux lo troviamo ovunque:- Dispositivi embedded (incorporati, non modificabili).- Internet, visto che la rete è progettata attraverso gli standard, possiamoaffermare che Linux è a proprio agio nel compito di web server o server direte.- 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 leprincipali distro, sono davvero troppe e vi invito a guardare il sito che se neoccupa: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 leprincipali 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 professionaliInutile dire che un prodotto così versatile e completo preveda dellecertificazioni professionali che quasi sempre costituiscono caratterepreferenziale 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 certificazioneLinux.Obiettivo di Red Hat invece è quello di preparare dei professionisti arisolvere qualsiasi problematica nei loro ambienti dedicati.Ovviamente quello che si impara in questi percorsi varrà generalmente pertutti gli ambienti Linux.http://www.redhat.com/training/certifications/http://www.lpi-italia.org/certificazione/
  • Grazie, per non essere scappati eper non avermi tirato i pomodori.