Open Source

estratto da “come passare al software libero e vivere felici” di Fausto Trucillo - Terredimezzo editore

Il computer ha rivoluzionato il nostro modo di lavorare, di scrivere, di comunicare e di conoscere nuove persone, di divertirci. Mano a mano che aumenta il peso dei pc nelle nostre vite, aumenta anche l'influenza delle aziende che li producono e che li programmano.

Il mercato relativo al software dei personal computer è nelle mani di poche aziende: Microsoft su tutte, ma anche Apple, Google e Adobe. Esiste tuttavia per i software la possibilità di compiere una scelta alternativa: quella di utilizzare i software open source.

“Open Source” vuol dire letteralmente “sorgente aperta”: significa che i programmi che sono sviluppati come open source mettono a disposizione il proprio codice sorgente, ovvero l'insieme di istruzioni utilizzate per realizzarli, in modo che altri programmatori possano analizzarli e migliorarli. Chi scrive programmi open source quindi condivide il proprio lavoro con altri sviluppatori, che possono modificarlo a patto di mettere il risultato a disposizione della comunità.

Open source non è automaticamente sinonimo di “software libero”: rilasciare i codici sorgente non significa per forza che la licenza sia libera, ma, visto che nella maggior parte dei casi è così, verrà usato un termine in maniera alternativa all'altro.

Utilizzare software open source da parte di un consumatore responsabile significa sostenere questo modello di lavoro alternativo a quello delle grandi software houses che fondano sul brevetto, e quindi sulla proprietà della cono scienza, i propri guadagni. Significa credere che il successo di un programma non debba essere deciso dalle campagne di marketing delle grandi aziende, ma dalla sua effettiva qualità e dalla capacità di rispondere realmente alle esigenze degli utenti.

I programmi open source vengono spesso rilasciati in forma gratuita e questo comporta un notevole risparmio per l'utente. Esistono alternative “libere” a programmi che costano centinaia di euro.

In un mercato dominato dalla pirateria, utilizzare programmi open source significa poter fare a meno di software “taroccati”, programmi prestati da amici o licenze scadute.

La crescita dei programmi open source è stata considerevole nel 2008: i soli programmi disponibili su SourceForge (http://www.sourceforge.net/), un sito che ospita molti dei progetti open source, sono arrivati a quota 180.000, 12.000 in più rispetto all'anno prima.

Da tempo infatti i professionisti dell'informatica riconoscono i pregi (anche semplicemente economici) dell'open source: la novità è che anche i singoli utenti possono godere di questo vantaggio senza troppa fatica.

I programmi open source hanno perso quell'aspetto spartano e poco comprensibile che respingeva l'utente medio; gli sviluppatori hanno privilegiato l'accessibilità e la semplicità e da questo lavoto sono nati software open source in grado di competere con quelli di grandi multinazionali.

 

Il modello economico dietro l'open source.

Il software libero viene rilasciato molto spesso in forma gratuita: come è possibile che un programma gratuito rimanga al passo con competitors che investono milioni di dollari sui loro progetti?

Negli anni si è sviluppato in realtà un vero e proprio modello economico intorno al software libero. Innanzitutto bisogna dire che le spese dei progetti open source sono ridotte al minimo: una buona idea, un giovane programmatore e qualche computer su cui testare il software. Se il progetto è buono sarà il tam tam su internet a diffonderlo e a mettere in contatto le persone interessate.

Dal punto di vista degli incassi, la principale fonte di reddito di molti programmi open source è l'assistenza all'installazione e implementazione: il progetto non viene quindi venduto, ma vengono venduti una serie di servizi a lui collegati. Anche se l'utente medio può trovare su internet tutte le informazioni necessarie per usare il software libero, le grandi aziende o le amministrazioni pubbliche preferiranno pagare gli sviluppatori per implementare il software nelle loro strutture: costa meno che acquistare software proprietario e garantisce un'elevata personalizzazione rispetto alle proprie necessità.

Un'altra fonte di reddito sono le stesse aziende di software proprietario, che da anni investono in progetti open source, sia per contrastare il semi-monopolista Microsoft, sia perché riconoscono il modello meno costoso di ricerca e sviluppo che l'open source comporta.

Il caso più eclatante è il Google Summer of Code, l'iniziativa del motore di ricerca Google che ogni estate finanzia diversi progetti open portati avanti principalmente da studenti di tutto il mondo: è un modo per velocizzare lo sviluppo di alcuni programmi ritenuti interessanti, ma anche per scoprire e contattare i giovani talenti informatici.

L'ultima modalità di finanziamento è quella più tradizionale: la donazione. Molti progetti sono sostenuti, specialmente agli inizi, dalla stessa comunità open source che, tramite piccole donazioni, riescono a sostenere i primi costi: si va dal classico “offrimi una birra se ti è piaciuto il mio progetto” a somme più cospicue.

 

Le licenze.

Open source significa rendere pubblico il metodo con cui un software è stato prodotto. Non ha a che fare con il diritto d'autore, che può essere posto sui progetti Open Source. Il diritto d'autore nasce per proteggere l'opera d'ingegno dalle pretese di altri autori, ma il suo abuso è divenuto un freno alla creatività degli autori.

Esiste quindi la possibilità di rendere liberi alcuni utilizzi delle proprie opere utilizzando delle licenze apposite; le più conosciute sono i sei contratti creati da Creative Commons, un'organizzazione no profit nata proprio con l'intento di fornire questo tipo di strumenti agli autori sia di software che di musica, video, testi (http://www.creativecommons.it/). Molti programmi di software libero utilizzano questo tipo di licenze la cui sola richiesta è di citare la fonte, ovvero l'autore.

Un'altro tipo di licenza molto utilizzata specificamente da chi produce software libero è nota sotto il nome di GNU GPL (general public license); proposta dalla Free Software Foundation, consente all'utente libertà di utilizzo, copia, modifica e distribuzione. Ne esiste anche una versione meno rigida, la GNU LGPL (lesser general public license), consente anche la convivenza tra codice proprietario e codice open source nello stesso programma. Ulteriori informazioni sono reperibili sul sito http://www.gnu.org/

 

Quale software?

Un breve elenco dei prodotti più diffusi per tutti gli utenti.

 

Il browser internet: Firefox.

Alternativo a Internet Explorer è sviluppato dalla Mozilla Foundation.

Dove scaricarlo: http://www.mozilla-europe.org/it/firefox

Funziona su: Windows, Apple, Linux

 

La posta elettronica: Thunderbird.

Alternativa professionale e ricca di opzioni a Outlook Express sviluppato dalla Mozilla Foundation.

Dove scaricarlo: http://www.mozillaitalia.it/thunderbird

Funziona su: Windows, Apple, Linux

 

Software di produttività: OpenOffice.

Alternativo a Microsoft Office né possiede tutte le potenzialità, sviluppato dalla Sun Microsystems. E' in grado di utilizzare i formati di file di Microsoft Office oltre ai propri.

Dove scaricarlo: http://it.openoffice.org/

Funziona su: Windows, Apple, Linux

 

Programmi di fotoritocco e trattamento immagini: Gimp.

Alternativa di ottimo livello a Adobe Photoshop

Dove scaricarlo: http://www.gimp.org/

Funziona su: Windows, Apple, Linux

 

Programma per visualizzare filmati: Vlc.

Alternativo a Windows media player supporta un gran numero di formati video e audio.

Dove scaricarlo: http://www.videolan.org/vlc

Funziona su: Windows, Apple, Linux

 

Antivirus: Clam Antivirus.

Non invasivo è gratuito ed essenziale. Altro pregio consiste nella sua attuale scarsa diffusione: come quelli biologici, anche i virus informatici si adattano agli antivirus e quindi spesso i programmi meno efficaci sono proprio i più diffusi.

Dove scaricarlo: http://it.clamwin.com/

Funziona su: Windows, Apple, Linux

 

Il passo successivo: passare a Linux.

Dopo aver sperimentato il software libero continuando ad utilizzare Windows, ci si può rendere conto dell'affidabilità e delle possibilità offerte dall'open source. Il passo successivo è abbandonare completamente il software proprietario e passare a Linux, il sistema operativo che ha come simbolo il pinguino.

Per correttezza sarebbe più preciso chiamarlo Gnu/Linux, per sottolineare le due anime che sono alla base di questo sistema operativo: il kernel Linux creato da Linus Torvalds, ovvero il nucleo del sistema operativo, e le applicazioni che funzionano su questo nucleo, sviluppate seguendo la licenza “Gnu Gpl” formulata originariamente da Richard Stallman nel 1989. Proprio Torvalds e Stallman sono considerati i punti di riferimento del movimento open source. Ovviamente Linux è il più diffuso sistema operativo libero, ma non l'unico: esistono tanti altri progetti, tra i quali spiccano BSD e OpenSolaris.

Su internet troverete centinaia di buoni motivi per passare a Linux, qui se ne propongono almeno sette: 

  • Libertà dalle licenze: le società che sviluppano software proprietari sfruttano la loro posizione nei confronti del consumatore per imporre limitazioni all'utilizzo dei loro prodotti tramite le licenze. Spesso queste limitazioni sono ingiuste e contro produttive: Linux invece utilizza una licenza che non impone delle limitazioni a chi ne fa uso, ma che anzi ne incoraggia la diffusione.

  • Convenienza: una copia di Windows Vista costa tra i 150 e i 300 euro a seconda della licenza: una copia di una distribuzione Linux non costa nulla. Anche se quando si compra un computer Windows è compreso nel prezzo, quella copia viene pagata dal produttore di hardware e incide di quasi un terzo sui costi di un pc. Considerando anche che una distribuzione Linux è già completa di moltissimi software, che quindi non vanno acquistati a parte, è facile dimostrare la convenienza.

  • Un sistema sempre aggiornato: Linux rimane sempre al passo coi tempi e si aggiorna costantemente. Le distribuzioni più famose rilasciano una nuova versione circa ogni sei mesi, migliorando i programmi contenuti per risolvere falle e offrire nuove funzionalità.

  • Il supporto di una community di persone: quando si hanno difficoltà con Linux non conviene chiamare un centro assistenza o pagare una consulenza. Poiché il codice con cui è progettato è pubblico, anche le soluzioni ai problemi sia comuni che più specifici son pubblici. Su internet si possono trovare facilmente blog e forum che possono aiutare a risolvere ogni tipo di difficoltà.

  • Non preoccuparsi (troppo) dei virus: è un dato di fatto che i sistemi Linux soffrano molto meno rispetto ad altri sistemi operativi degli attacchi dei virus. Questo può dipendere anche dalla diffusione decisamente minore rispetto ad esempio a Windows, ma i lmotivo reale è che Linux è costruito con un sistema di privilegi che rendono difficili le modifiche alle parti vitali del computer. Ciò non vuol dire che si può abbassare la guardia rispetto ai virus, ma siruramente che non si vive in una condizione di perenne difficoltà.

  • Prestazioni dignitose anche su macchine vecchie: il mercato dei software trascina anche il mercato dell'hardware. Ogni anno vengono proposti programmi sempre più affamati di risorse che rendono i computer obsoleti nel giro di poco tempo. Gli sviluppatori open source invece cercano di coniugare le innovazioni dei programmi con la durata di vita delle macchine su cui sono installati.

  • Interfaccia grafica evoluta: Linux non è un progetto “povero” rispetto a quelli commerciali, anche dal punto di vista grafico. Le ultime interfacce proposte sono state sviluppate proprio per non apparire meno accattivanti rispetto alle concorrenti, cercando però di coniugare l'estetica con la praticità.

 

Guida passo passo ad una installazione di Linux: Ubuntu.

Negli ultimi anni il campo in cui si sono riscontrati i maggiori progressi degli sviluppatori di Linux è senz'altro quello dell'installazione del sistema operativo. Se qualche anno fa richiedeva un utente esperto oggi è un'operazione relativamente semplice.

Abbiamo scelto come esempio Ubuntu, la distribuzione più famosa del momento. Il suo successo deriva proprio dagli sforzi degli sviluppatori di rendere Ubuntu semplice da installare, adattabile ad ogni tipo di computer e facile da utilizzare. Ubuntu utilizza Gnome come window manager, ovvero come inerfaccia utente grafica su cui girano i programmi. Non è l'unica disponibile e in seguito vedremo quali sono le altre. La possibilità di scelta è uno dei pregi di Linux. Usare Gnome non ci impedisce di installare programmi disegnati per altre interfacce utente, perché sono tutte basate sullo stesso sistema operativo.

Ubuntu è un sistema operativo Linux nato nel 2004 sulla base di Debian, grazie allo sviluppo della Canonical Ltd., azienda presieduta dall'imprenditore sudafricano Mark Shuttleworth, che fa da coordinamento e sponsorizzazione alla comunità di sviluppatori di questa distribuzione.

L'intento era quello di creare una distribuzione semplice da utilizzare e che supportasse il maggior numero di hardware possibile. Ubuntu riassume il concetto del software libero nel suo stesso nome: infatti Ubuntu è un'antica parola zulu che significa “umanità agli altri”, oppure “io sono ciò che sono per merito di ciò che siamo tutti”.

Nonostante il progetto venga tutt'ora portato avanti dalla Canonical, Shuttleworth nel 2005 ha creato una fondazione, la Fondazione Ubuntu, con un fondo iniziale di 10 milioni di dollari, che potesse portare avanti il progetto qualora l'azienda dovesse cessare l'attività.

Basata su Debian, una delle distribuzioni più rigorose per quanto riguarda l'aderenza al progetto Gnu\Linux, Ubuntu è in questo momento la distribuzione più conosciuta ed utilizzata. E' riuscita infatti a mantenere le premesse con cui è stata progettata ed è attualmente la scelta migliore per chi vuole avvicinarsi al mondo di Linux.

 

Installare Ubuntu. 

E' possibile scaricare Ubuntu da masterizzare su un cd direttamente dal sito http://www.ubuntu.com/. Chi ha una connessione internet molto lenta può farsi spedire gratuitamente il cd a casa tramite il servizio Shipit, la cui versione italiana è disponibile all'indirizzo http://wiki.ubuntu-it.org/GruppoPromozione/ProgettoCDUbuntu.

Il cd di Ubuntu è disponibile in tre versioni: Desktop (la versione standard), Alternate (per computer con meno di 384 Mb di ram) e Server (di default senza interfaccia grafica).

Una volta ottenuto il cd con la versione desiderata bisogna accendere il pc con il cd inserito: ci si troverà di fronte alla schermata di installazione. Se così non fosse e il computer si avviasse ancora con Windows, bisogna impostare il bios del pc affinché esegua l'avvio da cd-rom come prima opzione. Niente di complicato, ma è preferibile farsi aiutare da qualcuno esperto per eseguire questa operazione.

La schermata di installazione presenta alcune opzioni: l'avvio dell'installazione (in diverse modalità standard, per “costruttori di pc” o senza interfaccia grafica), la possibilità di controllare difetti sul cd, la possibilità di riparare un sistema danneggiato, il test della ram del pc e l'avvio normale dell'hard disk per interrompere l'installazione e tornare al precedente sistema operativo.

Cliccando sulla prima opzione si avvia l'installazione: i primi passi sono abbastanza intuitivi, viene richiesto ad esempio di selezionare la lingua, il fuso orario e la tastiera. I primi problemi possono sorgere con il rilevamento della rete. Il programma proverà a configurare automaticamente la rete: se non dovesse riuscirci chiederà di inserire manualmente i parametri di configurazione della propria rete. Nel caso in cui non si conoscessero i parametri oppure per qualche ragione non si riuscisse ad effettuare il rilevamento da parte del programma si può anche procedere senza configurare la rete, selezionando “Non configurare la rete in questo momento”. Questo comporterà l'impossibilità di installare alcuni pacchetti non fondamentali che potranno essere comunque installati in un secondo momento. Proseguendo, viene richiesto di selezionare dove deve essere installato Ubuntu: possiamo decidere di cancellare tutti i dati presenti sull'hard disk e utilizzare tutto lo spazio per Ubuntu, oppure “partizionare” e mantenere il vecchio sistema operativo. In entrambe i casi si può utilizzare il metodo guidato che ci proporrà di creare tre nuove partizioni: una su cui andranno installati i files che contengono i programmi di Ubuntu chiamata root ed indicata con il segno “/”; un'altra che servirà per archiviare documenti e ogni file dell'utente chiamata home ed un'ultima chiamata swap che serve per aumentare le prestazioni della ram, che dovrà essere di dimensioni non superiori a 1 giga, ma con un minimo di 512 Mb. Può capitare che nel caso di hard disk poco capienti il partizionamento guidato proponga di mettere la root e la home nella stessa partizione. Se possibile però è utile creare 2 partizioni differenti: infatti in caso di necessità si potrà modificare o sostituire i files contenuti nella root senza andare a toccare i propri documenti conservati nella home. Dopo aver creato le partizioni, il programma di installazione chiederà di creare l'account utente, con il quale si potrà accedere al computer una volta terminato il procedimento di installazione e quello amministratore. Entrambe gli account sono composti da un nome utente (per l'amministratore il nome è “root”) e da una password, che è bene annotare. L'account user è quello che serve per accedere all'avvio e ha privilegi limitati, ovvero non può compiere le operazioni più rischiose, come cambiare le impostazioni o modificare i files di sistema; per queste cose bisogna avere privilegi illimitati e quindi inserire la password dell'amministratore. Si possono ovviamente creare più utenti normali se ad accedere al computer sono persone diverse. Dopo questo passaggio Ubuntu procederà con l'installazione e la configurazione del sistema e dopo pochi minuti ci troveremo di fronte alla finestra di login. L'installazione è quindi terminata.

 

L'alternativa possibile (riflessioni ipotetiche di un imprenditore).  

di Paolo Giulietti pubblicato su BELTEL n.ro 135

Il tuo consulente informatico ti ha detto che era meglio aspettare prima di comprare e installare questo blasonato nuovo sistema operativo sui computer aziendali. Ti ha spiegato che l'azienda non ne avrebbe avuto un vantaggio immediato, che avrebbe dovuto rimodernare l'hardware, e che l'unica frase per te importante (l'investimento), non avrebbe prodotto un aumento di efficienza o d'immagine tale da ripagarlo. Quindi, felice di non dover pagare per nuove licenze e nuovo hardware hai abbandonato la questione e ti sei dedicato ad altro. Adesso però le tue licenze stanno per scadere e, coincidenza, si riaffaccia l'opportunità di cambiare sistema operativo.

Non solo, ma in tempo di crisi economica ti si chiede anche se sei interessato a rimodernare la piattaforma che gestisce il flusso di lavoro: dalle materie prime alle buste paga dei dipendenti. Qualcuno bussa alla tua porta sussurrandoti che puoi acquistare le licenze e le nuove versioni dei tuoi programmi per due anni a una cifra ragionevole, poiché sei stato un buon cliente in passato. Il tuo consulente IT valuta insieme a te le offerte, ma rimane davvero scontento nel constatare che la maggior parte dei suoi compiti saranno affidati in “outsourcing”. Rimani quindi, per un ovvio conflitto d'interessi, a dover decidere da solo. 

Sei costretto ad un corso rapido di informatica e scopri che un programma si costruisce in almeno due momenti. Il primo momento vede un programmatore scrivere in un linguaggio simile alla nostra lingua una serie di comandi; in un secondo momento questo testo viene convertito in una serie di istruzioni, vale a dire un programma che l'hardware riconosce. Scopri anche che passare dal linguaggio formale al programma è semplice, tornare indietro invece è molto più complicato e non sempre possibile. Navigando in rete scopri che c'è del software chiamato a sorgente libero, “open source” che ti fornisce sia il programma sia, appunto, il codice dal quale è costruito. Decidi allora che vale la pena spendere la pausa pranzo per approfondire la questione.

Pensi a quella macchina a controllo numerico che avevi comprato e che da qualche tempo non è possibile modificare. La casa che produceva il software ha deciso di non aggiornarlo più (o forse è fallita?) e pensi di non poter fare nient'altro che comprare una nuova macchina (ma quella vecchia funzionava perfettamente!) o comprare un nuovo prodotto software (ma forse non si adatterà alle tue esigenze). Pensi anche che se avessi il controllo sul software che la comanda potresti sempre trovare qualcuno disposto a modificarlo e ad adattarlo alle tue esigenze, magari riusciresti anche a far correggere quei piccoli errori che si erano verificati. Inoltre, visto il ritmo delle fusioni fra compagnie, capisci subito che alcuni dei programmi per i quali hai pagato la licenza non saranno più sviluppati, costringendoti ad avvalerti di nuovi programmi e per i quali dovrai passare forzatamente a nuove licenze. Pensi poi al fatto che conoscere il sodice sorgente ostacola fortemente la presenza di “black-boxes” all'interno dei programmi, ovvero di routine mal scritte, mal progettate, o addirittura costruite per manipolare i tuoi dati a tua insaputa.

Hai la sensazione di riuscire finalmente a vedere cosa c'è sotto il cofano della tua auto, e che nessuno potrà nascondere dei pezzi nati male. Immagini allora che sia possibile provare più versioni dello stesso programma leggermente differenti, senza dover pagare per diverse licenze, investendo sull osviluppo senza dover interrompere i processi in corso. Ti rendi conto che se il software è libero, è indifferente installarlo su una o su cento macchine perché il costo delle licenze sarà sempre lo stesso: zero. Non sei convinto di aver capito, ti sembra troppo semplice, e chiedi al tuo esperto IT di documentarsi. Dopo una settimana torna con dei dati interessanti. Ti informa che i data center basati su software open source, per esempio Linux, sono decisamente poco costosi, che il 60% dei web server usano un programma open source chiamato Apache. Non solo, esistono anche delle distribuzioni (ovvero dei pacchetti di applicazioni assemblati a un sistema operativo) pronte all'uso e all'interazione con il Web. Ti mostra infatti un disco con su scritto “LAMP”, Linux, Apache, MySQL e PHP. Impari che un server con un buon sistema operativo (Linux), dotato di una piattaforma per l'interazione con il Web (Apache), un database (MySQL) che gestisca il carico e il flusso di lavoro e una serie di istruzioni personalizzate (programmate in PHP o simili) sono in grado di far “aprire” l'azienda all'esterno, guadagnando in visibilità e facilità di interazione a basso costo. Ti racconta inoltre che questi programmi sono aggiornabili a costo zero e che “scalare le dimensioni” è fattibile.

Non sei convinto e gli chiedi che ne sarà della tua segretaria, abituata a usare certi strumenti. Ti risponde che esiste una “suite” di programmi aziendali equivalente a quelle proprietarie ma gratuito, e che per la loro struttura si bloccano molto raramente, e altrettanto raramente sono bersaglio di virus e attacchi. Inoltre questi programmi “liberi” cercano di sfruttare le risorse disponibili del tuo computer al meglio possibile, ricordandoti che l'uomo è andato sulla Luna con una potenza di calcolo molto inferiore a quella del tuo cellulare. Ti spiega anche che i programmi si aggiornano da soli e che l'upgrade delle macchine è raramente necessario perché la disponibilità del codice sorgente stimola i programmatori a migliorarne l'efficienza. E se anche l'azienda progettista del programma fallisse, qualcun altro potrebbe continuare lo sviluppo.

Durante le fasi introduttive del nuovo software i dipendenti saranno disorientati da programmi e interfacce nuove, e i tempi di migrazione dal vecchio sistema al nuovo potrebbero allungarsi. Inoltre non tutti i programmi utilizzati in precedenza saranno pienamente compatibili con la nuova piattaforma.

Tu sorridi, e pensi che in fin dei contri avresti dovuto pagare comunque l'assistenza e l'implementazione, ma almeno hai risparmiato sulle licenze. Immagini che i dipendenti si adatteranno in fretta e che, comunque, alcuni programmi che avevi comprato sono già incompatibili. Inoltre contempli la possibilità – qualora l'azienda dovesse crescere – di assumere un programmatore che adatti, dove necessario, i programmi alle tue necessità sapendo che avrà vita facile e ottimi risultati: d'altra parte lui può verificare direttamente il sorgente da cui è stato preparato il programma. Inoltre, vista la disponibilità del codice, potrai passare da un contratto di supporto a un altro senza dover cambiare necessariamente software. Lasci al tuo consulente le tue disposizioni e te ne vai a casa. Dopotutto, ti domandi come mai fino ad ora hai accettato di pagare per dei software così tanto vincolanti, quando ne esistono di open source migliori, gratuiti e liberi.

Azioni sul documento

ultima modifica 2013-05-07T13:07:00+01:00
Questa pagina ti è stata utile?

Valuta il sito

Non hai trovato quello che cerchi ?