| GLI ARTICOLI SONO SOTTO LICENZA BY-NC-ND : http://creativecommons.org/licenses/by-nc-nd/2.5/it/ |
|---|
In questo breve articolo tratteremo la storia del software opensource, dei padri fondatori di questo movimento e dei concetti base per poter iniziare ad entrare in questo mondo.
Nel 1983, un laureato in Fisica che lavorava nel laboratorio di intelligenza artificiale del MIT (Massachusetts Institute of Technology), tale Richard Matthew Stallman, scontento dal fatto di non poter più modificare personalmente i programmi con i quali lavorava quotidianamente, decise che era ora di dare alla comunità un sistema operativo che garantisse delle libertà fondamentali all'utente. Queste libertà, che tratteremo in seguito nell'articolo, vennero poi formalizzate come vedremo nella licenza GPL e divennero realtà grazie al sistema operativo GNU/LINUX. Stallman diede vita al progetto GNU (Gnu is Not Unix) che aveva come obiettivo la completa riscrittura di un sistema operativo simile ad Unix (il sistema operativo che allora veniva utilizzato in ambito accademico) accogliendo nel suo progetto chiunque volesse partecipare. Nel 1984 abbandonò il suo lavoro al MIT e nel 1985 fondò la Free Software Foundation. All'inizio degli anni 90 il grosso del lavoro era fatto dato che la quasi totalità delle applicazioni che facevano parte del sistema operativo (in gergo “userland”) erano state riscritte eccezion fatta per il kernel, il nucleo fondamentale che fa si che i programmi possano avere accesso all'hardware. Il progetto GNU prevedeva di completare il kernel in tempi accettabili ma purtroppo la previsione si rivelò sbagliata dato che la scelta progettuale prevedeva un tipo di kernel difficile da implementare e da rendere stabile. In quel momento di stasi fu uno studente dell'università di Helsinki, Linus Benedict Torvalds, a fornire nel 1991 l'ultimo tassello da aggiungere al grande puzzle del progetto GNU, Linux. Nacque così un sistema operativo che tuttora unisce la userland GNU e il kernel Linux, ovvero il sistema operativo GNU/Linux. Nel resto di questo articolo e nei successivi, come anche nel linguaggio comune della comunità, ci si riferirà al sistema operativo GNU/Linux semplicemente con Linux.
Le quattro libertà ipotizzate da Stallman e che un software deve avere per considerarsi libero sono:
Queste libertà diedero le basi al concetto di copyleft e quindi alla formalizzazione della licenza GPL[1] (General Public License), documento che giuridicamente descrive le libertà del software libero. La GPL utilizza gli stessi strumenti giuridici della sua antitesi - il copyright - ma in modo diverso, facendo si che le 4 libertà vengano preservate senza però sacrificare la tutela del diritto d'autore e degli interessi economici degli autori del software. Contrariamente a quanto potrebbe sembrare, con li software libero è possibile guadagnare (e anche bene). A prova di ciò basti pensare a società come Redhat, Novell, Mandriva, IBM, HP, DELL che di Linux fanno uso commerciale da anni conservando fette, talvolta dominanti, dei mercati informatici stimabili in milioni Euro/Dollari. Molto diffuse nel mercato del software libero e sono le società di assistenza che, a pagamento offrono, servizi di assistenza su piattaforme Linux in ambiti di ufficio e in ambito server.
Garantendo Linux libertà molto ampie, chiunque può “assemblare” Linux nel modo che ritiene più opportuno, circondandolo di applicativi più o meno sofisticati e specializzati in modo che possano soddisfare le esigenze di diversi contesti. Questi “assemblamenti” più o meno specializzati prendono il nome di distribuzioni. Nella storia di Linux il numero delle distribuzioni è aumentato in maniera vertiginosa e attualmente supera le 350 versioni. Esistono sia distribuzioni commerciali (a pagamento) mantenute da società informatiche, sia gratuite e completamente mantenute dalla comunità. Le distribuzioni più utilizzate e apprezzate sono:
Degna di nota è Scientific Linux [6], distribuzione non commerciale destinata ad un ambito scientifico e di ricerca alla quale hanno partecipato attivamente il Fermilab [7] (Fermi National Accelerator Laboratory) e il CERN [8] (Organizzazione europea per la ricerca nucleare).
Autore: Emanuele Piccolini fibonaccixp[AT]gmail[DOT]com
Scopriamo quali strumenti ci offre Linux per eseguire le attività di tutti i giorni.
Accendo il computer. Thunderbird scarica la posta, Kopete mi avvisa che i miei amici sono online. Passo in rassegna i miei siti preferiti con Firefox mentre ascolto un mp3 con amarok. Si è fatta ora di lavorare: avvio OpenOffice e inizio a scrivere l'articolo…
Questa è più o meno la routine di un utente Linux. In questo articolo presenteremo alcuni fra i più diffusi programmi open source e free software - dai curiosi nomi che avete letto nel paragrafo precedente - disponibili per ambiente desktop.
Una delle caratteristiche del software libero (n.d.r.: useremo questo termine per indicare sia il software open source che il free software) è la possibilità di scelta che offre: per qualsiasi necessità esistono diversi programmi, ognuno dei quali con caratteristiche differenti; un'ampia gamma di software in grado di soddisfare anche l'utente più esigente. Per ovvi motivi di spazio presenteremo solo alcuni di questi programmi, ma vi invitiamo ad alimentare la vostra curiosità cercando informazioni in rete.
Visitare i nostri siti web preferiti è un'attività che svolgiamo frequentemente, per la quale abbiamo bisogno di uno strumento (il browser) efficiente, sicuro ed affidabile. Firefox [1] è ciò che fa al caso nostro. Oltre a utili funzioni integrate – come le schede, il ripristino della sessione, il blocco delle finestre pop-up, il lettore di feed RSS – Firefox ha tra le sue caratteristiche principali la sicurezza: saremo, ad esempio, avvisati quando visiteremo un sito contraffatto che potrebbe mettere a rischio i nostri dati personali (come il numero della nostra carta di credito) o quando un sito cercherà di installare o eseguire un software sul nostro computer. Anche la nostra privacy può essere tutelata: grazie all'opzione “Elimina i dati personali”, che rimuoverà dal computer tutti i dati personali raccolti durante la navigazione (come password, cronologia, cookies). Un'altra caratteristica che rende Firefox un browser molto apprezzato sono le “estensioni”, ovvero componenti che aggiungono le funzionalità più disparate e che possono essere scaricati per personalizzare Firefox e renderlo più utile.
Per la gestione delle nostre email un'ottima scelta è senza dubbio Thunderbird [2]. Ha l'aspetto comune a molti client di posta elettronica e risulta infatti molto intuitivo e facile da usare. Essendo il “fratello” di Firefox (sono sviluppati entrambi dalla Mozilla Foundation), anche Thunderbird ha un occhio di riguardo per la nostra sicurezza e la nostra privacy: può segnalarci, infatti, eventuali tentativi di frode via email (il cosidetto “phishing”) e ci mette a disposizione un'ottimo filtro anti-spam integrato contro la posta indesiderata. E proprio come Firefox può essere personalizzato attraverso le “estensioni”.
L'uso di programmi di Instant Messaging si è molto diffuso. Kopete [3] ci permette di rimanere sempre in contatto con i nostri amici e supporta moltissimi protocolli (MSN, ma anche jabber, ICQ, Yahoo!, …).
Fra i lettori audio spicca l'ottimo amarok [4], in grado di gestire la nostra collezione di mp3, e non solo. Possiamo infatti navigare fra i nostri album, scaricare le copertine dei CD, leggere i testi delle canzoni, consultare le biografie degli artisti, trasferire file audio sul nostro lettore mp3 portatile (iPod ad esempio), masterizzare un CD grazie all'integrazione con K3B (programma di masterizzazione, vedi di seguito), acquistare musica da Magnatune.com. Amarok può riprodurre file audio (mp3, ogg,…), CD musicali e radio in streaming.
Quando vorremo rilassarci e vedere un bel video potremo contare su Mplayer [5], lettore multimediale universale in grado di riprodurre un gran numero di formati video e audio diversi. Potremo così goderci i nostri DVD, DivX, …
Come abbiamo accennato, per masterizzare CD e DVD abbiamo a disposizione 'K3B' [6], programma che svolge bene la sua funzione rendendoci l'operazione facile e intuitiva. Potremo creare e copiare CD/DVD audio, video o dati attraverso la sua interfaccia semplice e colorata.
A noi studenti capita spesso di dover preparare relazioni, articoli o presentazioni. Per farlo avremo a disposizione OpenOffice [7], una suite di programmi per l'ufficio di buona qualità che potremo usare sul nostro computer gratuitamente.
I grafici che si vorranno dilettare con Linux potranno farlo con un software di qualità professionale: GIMP [8]. Le funzioni che ci mette a disposizione questo programma per creare le nostre opere digitali sono molte, fra le più interessanti ci sono quelle per il fotoritocco: potremo migliorare le nostre foto correggendone le piccole imperfezioni (come la distorsione di prospettiva) o applicando effetti di colore o luminosità.
Autore: Giovanni Colombi g.colombi[AT]gmail[DOT]com
Il successo di Linux e degli altri software open source dipende fortemente dalla comunità. In questo breve articolo vedremo la differenza tra i diversi modelli di sviluppo software, dell'assistenza che un utente Linux riceve dalla comunità e i mezzi per poter contribuire alla stessa.
Chiunque abbia mai avuto a che fare con la programmazione o che ne abbia sentito parlare da amici, immagina la creazione di un software come il prodotto di un'azienda, dove una rigida gerarchia aziendale istruisce i programmatori su cosa fare, come fare e sui i tempi da rispettare. Questo tipo di sistema di sviluppo viene definito come sistema di sviluppo a “Cattedrale” dove la comunità risulta essere quindi “isolata” rispetto al software, dato che le modifiche – che siano anche solamente correzioni a difetti del programma – possono essere effettuate solamente da parte dell'azienda. La sua controparte naturale è il modello definito “Bazaar”, dove i codici sorgenti del software sono disponibili alla comunità che potrà collaborare con gli sviluppatori proponendo modifiche o più semplicemente risolvendo bug e imperfezioni. Questo tipo di modello porta a galla un numero maggiore di bug e ne permette la correzione in tempi record (anche 2-3 ore!). D'altronde, come è banale immaginare, un milione di occhi è sicuramente meglio di mille e soprattuto, essendo la comunità eterogeneamente distribuita nel mondo, ci sarà sempre qualcuno pronto a contribuire al software nell'arco delle 24 ore. Questo tipo di sviluppo viene sempre più adottato su molti prodotti software da parte delle aziende, anche le più grandi come Sun Microsystems, le quali gradualmente stanno rilasciando i codici sorgenti delle proprie applicazioni migliorandone di conseguenza stabilità e qualità in modo più che considerevole grazie all'apporto di tutti i programmatori della comunità open source.
Come può la comunità realmente contribuire? La quasi totalità dei software open source e delle distribuzioni Linux mettono a disposizione degli utenti mailing list, forum, wiki e talvolta anche un sistema di “bug tracking” (definiremo dopo questo termine). Una mailing list è una piattaforma grazie alla quale gli utenti possono collaborare inviando e ricevendo email. La differenza rispetto alla posta elettronica tradizionale è che una mail inviata da parte di qualsiasi partecipante viene distribuita a tutti gli utenti iscritti. Il forum è una struttura informatica che contiene messaggi organizzati in discussioni ordinate in sezioni nelle quali ogni utente può proporre nuovi argomenti, sondaggi, ecc. Il wiki è sicuramente il sistema di collaborazione più famoso e che ha raggiunto il suo apice grazie a wikipedia. Un wiki non è nient'altro che un insieme di pagine modificabili da parte dell'utente che le consulta. Questo porta diversi vantaggi poiché è la stessa comunità a tenere alta la qualità e la neutralità dei contenuti (Per tastare con mano il funzionamento di un wiki è disponibile quello dell'LSLUG nei link correlati a fine articolo ). Le piattaforme come bugzilla sono il migliore strumento di collaborazione tra sviluppatori ed utenti. In questo tipo di sistema gli utenti sottopongono le loro perplessità e bug al sito che ospita la piattaforma di bug tracking. A questo punto il bug viene valutato, discusso dagli sviluppatori e dal resto della comunità. Dopo questa procedura riceverà gli verrà assegnato un livello di priorità che va da “problema critico” a “problema lieve” o anche a “non un bug”. La soluzione potrà essere fornita dall'utente stesso o, a tempo debito, dagli sviluppatori.
Come tutti sappiamo, l'essere umano è un animale sociale. Essendo la comunità open source formata da persone le aggregazioni diventano necessarie. Da quando Linux è diventato un fenomeno di massa sono nati in tutto il mondo i Linux Users Group, in breve, LUG. Questi gruppi sono formati da individui che condividono la stessa passione verso Linux, il software open source e libero. Sostanzialmente i LUG sono associazioni no-profit che si pongono come obiettivo la divulgazione di Linux e del software libero tramite lavoro volontario come assistenza tecnica, corsi, distribuzione di materiale divulgativo, organizzazione di conferenze, eventi nazionali ed install-fest. Tra i tipi di evento organizzati usualmente dai LUG ci sono gli install-fest e i LinuxDay. Un install-fest è un evento durante il quale chiunque può portare il proprio computer e ricevere aiuto gratuitamente per l'installazione di Linux o semplicemente per correggere problemi del sistema stesso (configurazione dell'hardware, ecc). In Italia i LUG costituiscono un elemento importante all'interno della comunità che ne ha visti proliferare dal 1996 ad oggi, più di 100 in tutta Italia (la sola città di Roma ne ha quattro). Dal 2001 i LUG di tutta Italia organizzano il medesimo giorno il LinuxDay, evento durante il quale si tengono install-fest, video proiezioni, sperimentazioni di carattere informatico e soprattuto numerose conferenze. Gli organizzatori locali dei LinuxDay sono tenuti a seguire delle “linee guida generali” da parte di ILS ( Italian Linux Society) ma sono liberi di scegliere tutti i dettagli riguardo la manifestazione.
Autore: Emanuele Piccolini fibonaccixp[AT]gmail[DOT]com
“La Sapienza” Linux User Group” [1][2] in breve LSLUG nasce dall'iniziativa di 22 studenti del Dipartimento di Informatica dell'Universita degli Studi di Roma “La Sapienza” . Nel contesto dell'Universita si sentiva la mancanza di un vero punto di riferimento per gli utilizzatori di Software Libero, e soprattutto di un supporto alla didattica. Infatti i corsi prettamente informatici spesso richiedono come prerequisito una capacita almeno basilare di utilizzo di un sistema Unix. Tutti gli associati ritengono vincente il modello di sviluppo Open Source, e vorrebbero diffondere la cultura del Software Libero tra i futuri sviluppatori e imprenditori informatici.
Tra i diversi obiettivi dell'LSLUG, quelli più importanti sono:
La Sapienza Linux User Group ha partecipato(in veste di organizzatore e/o collaboratore), oltre a diversi install fest, ai LinuxDay Romani del 2005, 2006 e 2007 [4], organizzato diversi seminari tra i quali “Revolution OS2 - Software Libero in Italia” e due edizioni dell'OpenCamp: 2007 e 2008 [3] ( un barcamp dedicato al software opensource). Nel 2006 nei pressi del dipartimento di Chimica dell'Università della Sapienza è stato organizzato, dall'LSLUG, un corso di base su Linux completamente tenuto da studenti di Informatica e Tecnologie Informatiche. Il LinuxDay 2008 di Roma sarà organizzato dall'LSLUG e si terrà nella facoltà di Ingegneria di San Pietro in Vincoli.