Opensource, software libero e proprietario: una visione d'insieme

La Rete ha contribuito allo sviluppo e ad una sempre maggiore diffusione dell'opensource.

La Rete ha contribuito allo sviluppo e ad una sempre maggiore diffusione dell’opensource.
Con il termine opensource, traducibile in italiano “sorgente aperto”, ci si riferisce a tutti quei software i cui autori ne permettono lo studio e l’apporto di modifiche da parte di chiunque. Qualunque persona che abbia conoscenze di programmazione può verificare il funzionamento di un software opensource ed apportare migliorie.
Grazie a questa filosofia sono nate vere e proprie “comunità” online che favoriscono lo scambio di informazioni tra sviluppatori, iscritti o comunque semplici utenti che apprezzano un particolare prodotto opensource.

E’ bene precisare poi come opensource non sia assolutamente sinonimo di freeware, di gratuito.
Se con cui più accaniti sostenitori dell’opensource, in luogo di opensource, si utilizza il termine “gratuito”, spesso si può scatenare qualche ira. Il punto cruciale è che un software gratuito non necessariamente è “open” ovvero non mostra il suo codice sorgente.

Brevi cenni sulla storia e sul futuro dell’opensource

Firefox ed OpenOffice sono due esempi di software opensource. Ma esistono veri e propri sistemi operativi opensource come Linux. E’ in particolare il “kernel” di Linux, sviluppato a partire dal 1991 da Linus Torvalds, ad essere uno degli esempi più interessanti di software opensource oltre che “libero” (vedremo più avanti le differenze tra i due termini). Gli autori del sistema operativo del pinguino hanno infatti molto contribuito alla nascita ed alla crescita del movimento opensource.
Basti ricordare l’iniziativa promossa negli anni ’80 da Richard Stallman che fondò la Free Software Foundation, organizzazione senza scopo di lucro che si prefiggeva e si prefigge tutt’oggi come obiettivo quello di favorire la diffusione e l’adozione del software libero.

Uno dei momenti più importanti della storia del software che ha avuto conseguenze inimmaginabili, è stato il rilascio da parte di Netscape del codice sorgente del suo browser. La licenza permetteva l’effettuazione di modifiche sul codice del prodotto e la sua libera redistribuzione. Correva l’anno 1998. E’ possibile far risalire la nascita del termine “opensource”, quindi, a poco più di una decina di anni fa.
A distanza di dieci anni, il movimento opensource ha portato al plasmarsi di un’industria del software radicalmente differente rispetto al passato. Prodotti opensource sono oggi adottati in molteplici ambiti: lato server, sui normali sistemi desktop, sui telefoni cellulari, ad esempio.

In occasione dell’Open World Forum tenutosi nel mese di Dicembre 2008 a Parigi, è stato un presentato un documento che riassume le tendenze ed i fattori che gli autori dello studio ritengono di maggiore interesse nel corso dei prossimi dodici anni. Nel testo vengono presentate le aree nelle quali l’opensource dovrebbe imporsi in modo particolare. Lo studio, in formato PDF e composto di circa un’ottantina di pagine, è disponibile in questa pagina.
Tra i temi sui quali si punterà molto, secondo gli autori, ci sono il “cloud computing”, il green IT, il social networking, lo sviluppo di dispositivi ed appliance dotate di funzionalità di comunicazione via Internet, la creazione di robot mobili. Nel manifesto si legge di come l’opensource verrà sempre più ritenuto come un insieme di strumenti strategici in ambito aziendale per dare il via al cosiddetto “Enterprise IT 3.0”: piattaforme e standard aperti giocheranno un ruolo cruciale.

Opensource e “software libero”

Sebbene strettamente legati, i termini opensource e “software libero” non sono sovrapponibili.
Mentre, come abbiamo ricordato, con “opensource” si fa riferimento all’apertura del codice sorgente di un programma – reso quindi liberamente visibile, analizzabile e migliorabile da parte di chiunque –, con “software libero” si fa riferimento alla tipologia di licenza prevista per l’utilizzo di un’applicazione. Rispetto ai “software proprietari”, le licenze d’uso dei software “liberi” danno la facoltà all’utente di eseguire il programma per qualunque scopo, di consultare il codice sorgente dello stesso ed eventualmente di modificarlo, di copiare e ridistribuire il programma senza alcuna limitazione.
Potremmo quindi osservare come il termine “software libero” estenda in qualche modo il concetto di “opensource” incentrandosi soprattutto sulle libertà (diritti e doveri) dell’utente.

Utilizzare “software libero” non significa comunque non sottostare a delle regole. Anche questa tipologia di software, infatti, come già anticipato, implica l’accettazione di una licenza d’uso che può essere più o meno restrittiva. Le più famose sono la licenza GNU GPL e la licenza GNU LGPL. Nel primo caso, ogni prodotto sviluppato a partire da un software libero dovrà essere distribuito con la medesima licenza. La LGPL è invece meno limitante poiché consente allo sviluppatore di utilizzare codice proveniente dal software libero anche all’interno di applicazioni “proprietarie”: in tal caso, tuttavia, il codice derivato ed incluso nel programma “a sorgente chiuso” dovrà comunque essere sempre reso visibile. Va detto, comunque, che non tutte le licenze sono compatibili fra loro ovvero non è sempre permesso amalgamare, in un’unica soluzione, due o più codici sorgenti provenienti da software liberi che usano licenze differenti.

Va altresì rammentato che il termine “software libero” non deve essere confuso con “freeware”. Quest’ultima tipologia di software è sì distribuibile gratuitamente ma non appartiene né alla categoria dell’opensource né, ovviamente, a quella del “software libero”.

Analizzare la licenza d’uso di un software

In generale, prima dell’installazione di un software viene chiaramente prospettato all’utente il contratto di licenza d’uso che deve essere interamente accettato nel caso in cui si desideri utilizzare il programma. La tipologia di licenza viene di solito già indicata prima del download di un programma, sul sito del produttore ma è all’atto dell’installazione che ci si può accorgere a quale categoria appartenga un’applicazione.

A volte può capitare di imbattersi in programmi che installano barre degli strumenti aggiuntive in Internet Explorer od addirittura componenti che tracciano le abitudini di “navigazione” dell’utente. L’utilizzo di tali tecnologie deve essere comunque sempre fatto presente nella licenza d’uso mostrata nel momento in cui viene avviata la procedura d’installazione del programma d’interesse. Il problema è che, molto spesso, il testo della licenza è inglese e la maggior parte degli utenti preme il tasto Next od Avanti senza curarsi troppo del suo contenuto.

Per verificare che tipo di licenza viene utilizzata dai vari software che si decidono di installare sul proprio sistema, suggeriamo di ricorrere ad Eulalyzer (prelevabile da qui), un freeware che si occupa di esaminare il contenuto del contratto di licenza d’uso (in inglese EULA ossia End user license agreement) di qualunque applicazione che si è in procinto di caricare sul proprio sistema.

Grazie ad Eulalyzer sarà quindi possibile riconoscere a colpo d’occhio eventuali comportamenti “indesiderati” del software che si sta per installare estrapolando tutte le informazioni importanti dal contratto di licenza d’uso. Il programma dà anche modo di conservare un archivio delle licenze e di ottenere un responso praticamente istantaneo.

La versione freeware di Eulalyzer è offerta a titolo non oneroso per l’impiego personale o per scopi educativi. Chi volesse può acquistare la versione Pro che in più integra uno strumento (EULA-Watch) capace di rilevare automaticamente la maggioranza dei contratti di licenza proposti all’atto dell’installazione dei vari programmi.

Per analizzare un qualsiasi contratto di licenza d’uso, basta avviare Eulalyzer, il programma d’installazione del software prescelto quindi selezionare il testo della licenza, copiarlo nell’area degli appunti di Windows (CTRL+C) ed infine incollarlo nella finestra Analyze di Eulalyzer (CTRL+V). In alternativa si può tenere premuto il tasto sinistro del mouse sull’icona a forma di “+” (Capture a license agreement) e spostarsi sul testo del contratto di licenza d’uso da sottoporre ad analisi. Eulalyzer, dopo aver cliccato sul pulsante Analyze fornirà un responso collegato al livello di potenziale pericolosità del software, segnalando ad esempio l’installazione di componenti “indesiderati”.

Un altro consiglio per verificare la bontà di un software prima di avviarne l’installazione, soprattutto se il programma è di dubbia provenienza e non sono disponibili un buon numero di commenti da parte degli utenti che lo hanno già usato, consiste nel sottoporlo all’analisi di servizi come VirusTotal. In questo modo, infatti, è possibile richiedere la scansione del file d’installazione con qualche decina di motori antivirus ed antimalware, sviluppati da diversi produttori. Se più motori “concordano” circa la presenza di componenti adware o spyware, è assai probabile che il programma aggiunga sul sistema elementi software “poco graditi” dall’utente.

Servizi come ThreatExpert (ved. la nostra recensione) si fanno addirittura carico di eseguire su un server remoto – e non quindi sul sistema dell’utente – il file caricato online. L’analisi operata da ThreatExpert può aiutare l’utente ad individuare comportamenti potenzialmente pericolosi.

Infine un suggerimento che riteniamo di importanza vitale: l’adozione di soluzioni per la virtualizzazione può evitare il presentarsi di problemi sul sistema che si utilizza, ad esempio, per scopi produttivi. Cosa succederebbe se si installasse un programma spyware od un’applicazione che mina alla stabilità dell’intero sistema operativo sul personal computer impiegato per lavoro?
Per provare nuovi programmi e fare esperimenti consigliamo caldamente di abbracciare soluzioni come Virtualbox (opensource) o valutare l’offerta di Vmware.
Eseguendo le applicazioni che si desiderano valutare e provare in profondità in un ambiente virtualizzato, si potrà fare in modo che il sistema utilizzato per scopi produttivi non subisca alcuna modifica. In caso di problemi sarà sufficiente cancellare la macchina virtuale creata, ad esempio, con Virtualbox, certi di non aver in alcun modo intaccato la configurazione del sistema operativo principale.
Per tutti i dettagli sul funzionamento e sull’utilità delle macchine virtuali, suggeriamo di fare riferimento a questo nostro articolo.

Infine, come regola generale, va riposta massima attenzione nel prelevare file provenienti da reti peer-to-peer. E’ infatti cosa assai frequente che un programma dannoso venga presentato con il nome di un software legittimo, ampiamente conosciuto. Attenzione, quindi, alle fonti dalle quali si attingono nuove applicazioni.

Software opensource: cosa bolle in pentola

Dal codice sorgente di Netscape sono nati Mozilla e i suoi prodotti. Grazie all’apporto dei contribuiti della comunità degli sviluppatori, ad esempio, il browser Firefox è oggi un prodotto sempre più completo, che ha saputo guadagnare ampie fette di mercato alla concorrenza “capeggiata”, per anni, da Internet Explorer. Secondo le ultime statistiche pubblicate da Net Applications, Internet Explorer sarebbe utilizzato dal 67% degli utenti mentre Firefox dal 22%, valore impensabile sino a qualche tempo fa.
La prossima versione di Firefox, la 3.5, dovrà affilare le armi per contrastare la discesa in campo dell’ottava versione di Internet Explorer.
Sotto il cofano” di Firefox 3.5 pulserà il nuovo motore JavaScript “TraceMonkey” il cui sviluppo ha via a via fatto slittare la data di rilascio del browser. La prossima versione di Firefox integrerà inoltre numerose modifiche legate al funzionamento della navigazione a schede, farà debuttare una modalità per la consultazione “anonima” delle pagine web ed integrerà migliorie legate alla compatibilità con i vari standard.

Altro fiore all’occhiello di Mozilla è Thunderbird, un client di posta elettronica che poggia su un motore particolarmente valido ma che, per diversi motivi, non ha goduto dello stesso successo di Firefox. Mozilla ha fondato una società controllata – Mozilla Messaging – attraverso la quale vuole arrivare a lanciare un prodotto costantemente seguito da un team “ad hoc”. Thunderbird ha spesso sofferto finora, infatti, di scarsi aggiornamenti.

Chi utilizza software opensource, infatti, può godere di aggiornamenti frequenti. In particolare quelli collegati all’aspetto sicurezza. Proprio perché il codice sorgente è “aperto” e quindi visibile da chiunque è bene provvedere alla tempestiva applicazione degli aggiornamenti.

Sistemi operativi

Ubuntu, la distribuzione Linux sino ad oggi più utilizzata, proporrà – nel corso dei prossimi mesi – le sue versioni aggiornate. A fine Aprile 2009 l’appuntamento è fissato con Ubuntu 9.04 “Jaunty Jackalope”: la nuova versione del sistema operativo include – almeno nella sua vesta non definitiva – il kernel 2.6.28, X.org Server 1.6, GNOME 2.6 e KDE 4.2 quali “desktop environment”. Sebbene il file system predefinito resti ancora Ext3, Ubuntu 9.04 introduce anche il supporto per Ext4. Tra le altre novità, Ubuntu 9.04 integra un meccanismo rivisto per la gestione delle preferenze di sistema ed un look rinnovato per la visualizzazione dei messaggi di notifica.

La distribuzione sponsorizzata dal magnate sudafricano Mark Shuttleworth guarda poi con sempre maggior interesse al “cloud computing” (ved. queste pagine) proponendo “Eucalyptus”, un framework opensource che permette di allestire cluster di computer connessi tra loro aumentando quindi la potenza di calcolo sfruttabile in parallelo. La nuova versione server di Ubuntu renderà più semplice per le aziende trarre vantaggio da una struttura distribuita per condurre elaborazioni complesse.

Le tecnologie per il “cloud computing” saranno ulteriormente raffinate in Ubuntu 9.10 “Karmic Koala”, il cui rilascio è previsto per Ottobre 2009. Inoltre, gli sviluppatori punteranno molto sulle performance proponendo di ridurre drasticamente il tempo necessario per l’avvio del sistema operativo e la presentazione del desktop. Stando a quanto dichiarato, il tempo di avvio considerato l’obiettivo da raggiungere è intorno ai 25 secondi. Shuttleworth ritiene comunque che in seguito si possa arrivare a limare ancora qualche secondo.

Il lancio di Fedora 11 è ad oggi pianificato per quest’estate. Anche in questo caso grandi sforzi stanno venendo riposti per ottimizzare il tempo di avvio del sistema operativo (si parla di un boot in 20 secondi), sulla modifica di alcuni componenti infrastrutturali e sul supporto dei lettori di impronte digitali.

A Novembre 2009 dovrebbe arrivare invece OpenSUSE 11.2: la nuova versione della distribuzione dovrebbe includere KDE 4.3, GNOME 2.28 oltre al kernel 2.6.30 o successivo, un’interfaccia per la gestione dei pacchetti (YaST) basata sul web ed il supporto per i netbook.

Facendo riferimento a questa pagina, potete consultare una prova comparativa tra Ubuntu, OpenSUSE e Fedora che abbiamo effettuato nelle scorse settimane.

Suite per l’ufficio

Secondo i dati statistici recentemente diffusi da Gartner (ved. questa notizia), le realtà aziendali sarebbero sempre più propense ad adottare soluzioni opensource.

Per l’elaborazione di documenti (siano essi testi, fogli elettronici o presentazioni), il mondo opensource offre OpenOffice.org, progetto che tra l’altro vanta un’attivissima comunità italiana. PLIO, il Progetto Linguistico Italiano OpenOffice.org è ad esempio l’associazione che raggruppa la comunità italiana dei volontari che sviluppano, supportano e promuovono OpenOffice.org. Tra l’altro, proprio la conferenza 2009 su OpenOffice.org si svolgerà in Italia, ad Orvieto. La città umbra ospiterà l’evento a Novembre prossimo ed è stata scelta tra diverse città “papabili” a livello mondiale tra le quali Alessandria d’Egitto, Budapest, Quezon City nelle Filippine, Riga, Reykjavik ed una città indiana. OpenOffice.org è un prodotto completo capace di tenere testa ai più famosi prodotti commerciali. Include infatti un wordprocessor, un foglio elettronico, un software per creare presentazioni, un modulo di calcolo ed un gestore di database. Punti di forza sono la gestione di file in formato PDF, la possibilità di aprire documenti creati con altri prodotti, la grande disponibilità di estensioni che possono essere adoperare per svolgere i compiti più disparati ed arricchire il programma in termini di funzionalità.

E’ attesa come imminente l’uscita di OpenOffice.org 3.1. La nuova versione della suite promette numerose innovazioni: ci dovrebbe essere l’aggiunta del supporto per l’anti-aliasing, meccanismo che permette di “levigare” le linee diagonali di qualunque elemento grafico; Calc, Draw, Impress e Writer dovrebbero supportare direttamente l’anti-aliasing in fase di disegno di qualunque genere di forma (linee, cerchi, grafici,…). In fase di spostamento dell’elemento grafico, OpenOffice.org visualizzerà inoltre lo stesso oggetto utilizzando la trasparenza mentre sinora era visualizzato semplicemente un riquadro tratteggiato.

Migliorie riguarderebbero Chart, per quanto concerne la generazione di grafici che rappresentano valori negativi.
Maggiore flessibilità anche nella fase di definizione di stili di livello e numerazione che possono essere personalizzati in modo indipendente per ciascun paragrafo.

Ottimizzata anche la funzionalità per la gestione dei commenti e delle note visualizzate a bordo del documento. Ogni collaboratore avrà la possibilità, poi, di accettare o rifiutare le modifiche apportate al testo oggetto d’intervento. Tra le altre novità si parla di migliorie apportate al correttore ortografico, alla gestione dei collegamenti ipertestuali (“hiperlinks”), ai criteri di ordinamento nel foglio elettronico Calc.
Per quanto riguarda Base, il software di OpenOffice.org che offre uno strumento per la creazione e la gestione di database, il programma evidenzierà la sintassi propria di SQL mediante l’utilizzo di un’apposita combinazione di colori e supporterà l’utilizzo delle macro, così come avviene – ad esempio – in Microsoft Access.

Crittografia

Tra i software opensource in grado di facilitare la protezione dei dati mediante l’uso di algoritmi crittografici, citiamo TrueCrypt. Si tratta di un prodotto di punta che fa della flessibilità uno dei suoi principali fiori all’occhiello. Il programma, infatti, può creare dischi virtuali cifrati all’interno dei quali sarà possibile memorizzare i dati da proteggere e rendere inaccessibili alle persone non autorizzate. TrueCrypt, inoltre, mette a disposizione una serie di strumenti per crittografare il contenuto di interi dischi oppure di singole partizioni, compresa quella ove risulta installato il sistema operativo. Il software è inoltre “portabile”: se necessario, quindi, potrà essere impiegato su qualunque computer senza dover preventivamente provvedere all’installazione.
Abbiamo pubblicati i dettagli sul funzionamento di TrueCrypt a questo indirizzo.

Per crittografare e firmare i messaggi di posta elettronica, il mondo opensource offre GnuPG, soluzione della quale abbiamo ampiamente parlato in passato (ved. queste pagine).

Riproduttori multimediali

Tra le applicazioni opensource in grado di gestire file multimediali tra i più famosi ed apprezzati c’è certamente VLC che dovrebbe giungere a breve all’attesa versione “1.0”. VLC è conosciutissimo e particolarmente “quotato” per il fatto di essere multi-piattaforma e quindi disponibile per tutti i principali sistemi operativi, compresi Windows, Linux, Mac OS X e Solaris.
Il programma include di per sé un gran numero di librerie “free” per la decodifica e la codifica dei vari formati audio e video. Si tratta di una peculiarità particolarmente utile soprattutto in ambiente Windows: in questo modo si potrà evitare di dover andare alla ricerca di codec o di plug-in proprietari.

Le versioni più recenti di VLC propongono un’interfaccia utente decisamente più chiara rispetto al passato: tutti i controlli per la gestione dei file audio e video sono adesso posizionati nella parte bassa della finestra del software invece di essere raggruppati in un menù a tendina.
Notevolmente ottimizzata la “playlist” di VLC che risulta ora in grado di importare i file da riprodurre specificando intere cartelle, similmente a quanto permettono Windows Media Player e Winamp. Una comoda casella di ricerca consente di digitare uno o più termini: in questo modo saranno immediatamente individuabili i file d’interesse.
Si registrano poi molteplici migliorie per ciò che riguarda l’equalizzatore e la sezione che permette di applicare effetti sonori.

Grafica

GIMP è la soluzione più completa che il mondo opensource propone per l’elaborazione delle immagini e delle foto digitali. Rispetto a software freeware come Lightbox Image Editor, Photo! Editor, PhotoFiltre, Paint.Net ed Artweaver, GIMP è indubbiamente contraddistinto da una curva di apprendimento più ripida. Tuttavia, è da considerarsi come uno dei programmi più ricchi in termini di caratteristiche e funzionalità.
L’interfaccia di GIMP è composta da più finestre a sé stanti. Chi non gradisse questo tipo di impostazione può orientarsi su un programma come GimPhoto, dotato di un’interfaccia più simile a software commerciali sebbene sia derivato dal codice sorgente di GIMP.

Gestione di file compressi

Rilasciato sotto licenza GNU LPGL, 7-Zip è uno dei più validi software opensource per la creazione e la gestione di archivi compressi. In grado di supportare più di una ventina di formati di file compressi, 7-Zip propone tutte le funzionalità più utili per trattare qualunque genere di archivio. Il software consente infatti di generare anche archivi compressi “autoestraenti”, crittografati oppure, ancora, di suddividerli automaticamente in più spezzoni.
In questa pagina abbiamo pubblicato una recensione completa di 7-Zip.

Mondo “mobile”

Tra le novità più importanti registrate nel mondo “mobile” nel corso degli ultimi mesi c’è sicuramente il rilascio di Android, piattaforma opensource sviluppata a partire dal kernel Linux e di cui Google è promotrice. La società di Mountain View “capeggia” infatti la Open Handset Alliance, intesa tra più aziende quali Intel, Motorola, HTC, Samsung, Texas Instruments, LG, T-Mobile, Qualcomm, Nvidia che mira alla definizione ed allo svilupo di standard aperti per il mondo “mobile”.

Simultaneamente all’annuncio del lancio del primo telefono basato su Android, Google ha rilasciato (a fine Settembre 2008) la versione 1.0 dell’SDK, il pacchetto che consente agli sviluppatori di creare applicazioni compatibili con il sistema operativo per dispositivi mobili. Al momento ancora in fase “beta”, Android SDK continuerà ad essere migliorato nel corso dei prossimi mesi. Particolare enfasi verrà riposta nel supporto per i dispositivi di input, in particolare quelli differenti dalle tastiere “fisiche”. Android, più avanti, dovrebbe arricchirsi del supporto per i display HVGA. Al momento non sono state comunicate date precise per l’uscita delle prossime versioni del tool di sviluppo per Android ma c’è comunque fermento nell’aria.

Da parte sua, Nokia sta puntando molto su Maemo, piattaforma opensource basata su Linux e sviluppata, in particolare, per dispositivi “tablet” come il Nokia N810.

Gestione contenuti

Coloro che desiderano pubblicare in Rete le proprie riflessioni, su qualunque argomento, possono affidarsi a molteplici software opensource. Sebbene oggi vi siano molti fornitori che danno la possibilità di crearsi il proprio blog od il proprio sito senza particolari conoscenze informatiche, l’adozione di un “content management system” (CMS) opensource da installare autonomamente permetterà di fidare su una soluzione estremamente flessibile, liberamente adattabile alle proprie esigenze.
Tra le soluzioni di spicco ci sono senza dubbio WordPress e Joomla. Il primo si propone come una piattaforma più adatta a coloro che desiderano creare un blog, il secondo invece è pensato per facilitare la realizzazione di siti web più complessi. La forza di entrambi i prodotti opensource sta nella vasta disponibilità di plug-in ed estensioni, capaci di arricchire ulteriormente le funzionalità della piattaforma di base. A tal proposito, ci sembra opportuno ricordare come anche plug-in ed estensioni eventualmente installati in WordPress od in Joomla debbano essere costantemente mantenuti aggiornati adeguandoli sempre alle versioni più recenti. Può capitare, infatti, che non applicando gli ultimi aggiornamenti l’intera piattaforma possa risultare esposta ad attacchi provenienti dalla Rete. Gli aggiornamenti via a via rilasciati, infatti, non hanno come obiettivo solamente quello di estendere le funzionalità dell’applicazione o correggere semplici bug ma spesso vengono resi disponibili per risolvere vulnerabilità di sicurezza più o meno gravi.
Il consiglio, quindi, è quello di accertarsi di mantenere sempre aggiornato il pacchetto di base (WordPress o Joomla, ad esempio) quindi installare, ove necessario, un ristretto numero di plug-in o di estensioni verificando di utilizzarne sempre l’ultima versione.
Secondo quanto anticipato, WordPress 3.0 dovrebbe arrivare già durante il prossimo mese di Agosto.

Ti consigliamo anche

Link copiato negli appunti