34775 Letture

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

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.


Opensource, software libero e proprietario: una visione d'insieme - IlSoftware.it