Cosa significa Open Source? Cos'è il software libero? Applicazioni ai GIS
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
MondoGIS_59 29-03-2007 10:31 Pagina 62
Libero e Open Source
Cosa significa Open Source?
Cos'è il software libero?
Applicazioni ai GIS
“OPEN SOURCE” È UN TERMINE ORMAI DI MODA, ANCHE IN AMBITO GEOGRAFICO.
I VANTAGGI DEL SOFTWARE SVILUPPATO CON QUESTO APPROCCIO SONO INNEGABILI,
E MOLTI SONO GLI ESEMPI DEL SUO SUCCESSO. È PERÒ FACILE, SENZA UNA CORRET-
TA DEFINIZIONE DEI TERMINI, FARE CONFUSIONE. CERCHIAMO DI CHIARIRE ALCUNI
PUNTI.
Tecnicamente, Open Source significa “a codice sor- vacy o della sicurezza. Molti programmi proprietari,
gente aperto”. La maggior parte dei programmi ad esempio, si collegano con siti non noti, inviando
sono infatti scritti in linguaggi (più o meno) leggibili dati relativi alla macchina su cui il programma stes-
dagli umani, quali il C, C++, C#, ecc.; questo è detto so sta girando. Per questo, alcune agenzie di sicurez-
codice sorgente. Per essere eseguibili da un compu- za hanno chiesto alle ditte fornitrici di software di
ter, queste liste di istruzioni devono essere converti- poter ispezionare il codice sorgente.
te in codice (detto codice eseguibile) illeggibile per È importante sottolineare come la sola possibilità di
noi, ma facilmente comprensibile dal processore. Il leggere il codice sorgente (magari, come talvolta
processo di conversione da sorgente ad eseguibile è avviene, impegnandosi a non divulgarne o riusarne
detto compilazione, e viene effettuato da program- alcun aspetto) non fornisca grandi garanzie dal punto
mi detti compilatori. Il processo è in generale ad una di vista della sicurezza e dell’assenza di funzionalità
sola direzione, nel senso che è estremamente diffici- malevole o nascoste. Se infatti dal codice sorgente
le risalire dal codice eseguibile a quello sorgente. non è possibile ottenere un eseguibile (ma si può solo
Quando acquistate la licenza di uso di un program- consultare quello che ci è stato detto essere il sorgen-
ma proprietario vi viene fornito il codice eseguibile, te), non si potrà verificare la corrispondenza dell'ese-
il che di fatto rende il programma non modificabile guibile con il sorgente fornito. Inoltre se tutto quello
dall’utente. Al contrario, i programmi Open Source che si può fare è leggere il codice si perde ogni pos-
sono forniti sia con il codice sorgente che, general- sibilità di effettuare correzioni o adattamenti per le
mente, con l’eseguibile (in ogni caso, l’utente può proprie esigenze, che è una delle caratteristiche più
procedere autonomamente alla compilazione). Di importanti del vero Open Source.
conseguenza, è sempre possibile per l’utente modi- La disponibilità del codice sorgente infatti non garan-
ficare (o far modificare da un programmatore) ogni tisce l’effettiva libertà di utilizzo del programma; per
aspetto di un programma Open Source. È quindi questo, è necessario che la licenza preveda alcuni ele-
possibile per ciascuno, a qualunque livello di prepa- menti essenziali. In generale, perché un programma
razione informatica, partecipare allo sviluppo del sia libero deve essere disponibile il suo sorgente, ma
programma, segnalando bugs, migliorando la docu- non è necessariamente vero il contrario (ad esempio,
mentazione, traducendo le parti che gli sono più una software house può consentire la lettura del
utili, ecc. Questo rende inoltre possibile verificare in codice sorgente, senza concederne la modifica o il
dettaglio il funzionamento del programma, accer- riuso). Per questo è nata l'iniziativa “Open Source”
tandosi che non ci sia (come avviene) codice nasco- (Open Source Initiative: www.opensource.org), che
sto (ad esempio trojan) che esegue, all’insaputa del- elenca e certifica le condizioni minime perché un soft-
l’utente, operazioni potenzialmente lesive della pri- ware si possa considerare Open Source. Occorre inol-
62 MondoGIS 59 marzo/aprile ‘07MondoGIS_59 29-03-2007 10:31 Pagina 63
Libero e Open Source
tre distinguere chiaramente fra programmi gratuiti, chiunque acquisti un software può a sua volta redi-
ma non liberi, e programmi liberi (che generalmente, stribuirlo senza spendere; in breve tempo prevale
ma non necessariamente, sono gratuiti). Ad esempio, quindi la tendenza alla distribuzione gratuita.
il lettore di animazioni flash è gratuito e liberamente Ci si può allora chiedere quale sia il vantaggio di
scaricabile, ma non modificabile; il suo codice sorgen- creare e sviluppare questo software: le risposte sono
te non è infatti disponibile. Molti programmi scarica- molte, il primo vantaggio è che se non c’è da paga-
bili da Internet, o che si trovano preinstallati all’acqui- re una licenza, c’è comunque da pagare per assi-
sto del computer (spesso genericamente chiamati stenza, sviluppo e formazione, e molte imprese e
freeware) sono di questo tipo. È importante capire professionisti basano le loro attività sul software
che nessuno di questi dà i vantaggi fondamentali dei libero, e contribuiscono al suo sviluppo in modo da
programmi liberi. poter continuare a fornire questi servizi.
Per un'impresa che opera in questo campo, infatti,
LE QUATTRO LIBERTÀ usare software libero significa in sostanza essere
Dunque essere in possesso del sorgente, pur essen- proprietari (seppure non in via esclusiva) del princi-
do un vantaggio, non è sufficiente a rendere un pro- pale strumento che si utilizza nella propria attività;
gramma libero, se ad esempio la licenza con cui questo permette di svincolarsi da tutte le logiche (e
viene fornito impedisce di cambiarlo, migliorarlo o le strategie commerciali) di lock-in adottate comu-
distribuirlo ad altri. Perciò, quello che conta non è nemente dai produttori di software proprietario,
tanto l’avere a disposizione il sorgente, quanto una come le politiche che costringono ad aggiornamen-
serie di libertà fondamentali perché il software si ti forzati per mancanza di supporto o correzioni, o
possa dire libero: addirittura il ritiro dal commercio di software giudi-
• la libertà di usare il programma per qualunque cati non più redditizi. Questo consente a chi usa
scopo; questa è una libertà meno ovvia di come software libero di guadagnare una preziosissima
potrebbe sembrare, se considerate che molte indipendenza strategica, non dovendo più dipende-
licenze di software proprietario impongono re dalle logiche commerciali e dalle decisioni prese
restrizioni, talvolta significative. Ad esempio, un da un fornitore esterno.
noto database di livello enterprise vieta di pub- Un ulteriore grandissimo vantaggio è dato dal fatto
blicare le valutazioni comparative in cui si con- che si possono eseguire personalizzazioni ed adatta-
fronta quel database con altri analoghi, impe- menti a piacere, rivolgendosi direttamente al merca-
dendo così confronti razionali; to per richiedere lo sviluppo di funzionalità mancan-
• la libertà di studiare come è fatto il programma, ti, senza essere vincolati alle scelte di un produttore
il che rende implicitamente necessario avere a o ai tempi di rilascio di quest’ultimo. Inoltre essendo
disposizione il codice sorgente; il software libero a disposizione di tutti, sarà possibi-
• la libertà di copiare e distribuire il programma a le operare in un mercato intrinsecamente aperto,
chiunque; questo consente di distribuire gratui- dato che chiunque abbia sufficienti competenze
tamente il software senza dovere pagare licenze; potrà operare su di esso. Questo consente di investi-
• libertà di modificare il programma e di distribui- re ad esempio nello sviluppo di funzionalità man-
re le proprie modifiche; questo è particolarmen- canti piuttosto che nell’acquisto di licenze.
te importante in campo geografico, dove gli Soprattutto per le strutture più grandi, un evidente
utenti hanno spesso esigenze molto specifiche, vantaggio viene dal fatto che non si dovranno più
che possono essere meglio soddisfatte da pro- mettere in atto complesse politiche di gestione delle
grammi opportunamente modificati (spesso licenze, non essendoci limiti né sul numero di instal-
semplificati, talvolta integrati con soluzioni ad lazioni, né sul numero di utilizzatori. L'utente sarà
hoc). Inoltre, le modifiche realizzate, se utili ad cioè in grado di espandere l'utilizzo senza dover
altri, possono essere incluse nel programma. affrontare quelli che in molti casi sono costi veramen-
Sono queste libertà che in ultima analisi definiscono te onerosi (si pensi a tutti quei programmi che, supe-
quello che è il software libero ed Open Source. Si rato un certo limite di utenti, devono essere acquista-
noti che da nessuna parte c’è scritto che il software ti in versioni soggette a licenze molto più care).
deve essere ceduto o sviluppato gratuitamente, anzi Infine, la possibilità di provare molti software senza
è più che legittimo farsi pagare per il proprio lavoro impegno economico abbassa sensibilmente la soglia
e richiedere un compenso per creare e distribuire d'ingresso nel mercato, un fattore questo particolar-
software libero. Perché si tratti di software libero mente importante per i giovani professionisti.
queste quattro libertà devono però essere sempre
garantite. TIPI DI LICENZE
Perché allora praticamente tutto il software libero ed Benché, per essere libero, il software richieda sem-
Open Source è scaricabile gratuitamente da plicemente il rispetto delle quattro libertà appena
Internet? Semplicemente perché il costo di duplica- enunciate, questo all'atto pratico è garantito dal-
zione e distribuzione è praticamente nullo, per cui l’uso di una licenza, proprio come per il software
MondoGIS 59 marzo/aprile ‘07 63MondoGIS_59 29-03-2007 10:31 Pagina 64
Libero e Open Source
proprietario. Infatti, uno degli errori più comuni è (LGPL), che consente una stretta correlazione (lin-
quello di pensare che il software libero sia senza king) con programmi non liberi.
licenza. Non è così se non in casi molto particolari (il L’esempio più comune di licenza non copyleft è la
cosiddetto public domain, o pubblico dominio, in BSD (Berkeley Software Distribution), utilizzata per
cui l’autore rinuncia completamente al copyright; l’omonimo sistema operativo creato dall’Università
una opzione ormai piuttosto rara). Un software di Berkeley. In questo caso la licenza richiede sempli-
distribuito senza licenza infatti non potrebbe essere cemente che si dia credito all’autore, e che se ne
né copiato né modificato né ceduto ad altri perché, riporti la presenza; resta possibile creare versioni
per la normativa del diritto d’autore, i diritti di distri- modificate di codice BSD rilasciate come software
buzione e modifica sono esercitabili solo dall’autore proprietario. La licenza BSD (o simili, quali MIT, X11,
stesso. Potrete fare queste cose solo quando avete ecc.) è tutt’ora molto usata, in particolare negli USA
una licenza che ve lo consente esplicitamente. Per per progetti finanziati da fondi pubblici, i cui risulta-
questo motivo la stragrande maggioranza del soft- ti, essendo lo sviluppo finanziato dallo stato con le
ware libero è dotata di una sua licenza, che fornisce tasse dei cittadini, devono essere messi a disposizio-
esplicitamente le libertà citate. ne di tutti. La si usa anche in tutte le implementazio-
Le licenze possibili sono varie, ma una classificazione ni di riferimento di algoritmi e codici, che si vuole
molto sommaria porta a dividerle in due grandi clas- abbiano la massima diffusione anche in campo pro-
si, le licenze cosiddette copyleft e non. Dicendo prietario. In campo geografico, UMN Mapserver e
copyleft si fa in realtà un gioco di parole, traducibile GDAL/OGR sono coperti da licenze di tipo BSD.
approssimativamente in permesso d’autore che, Il problema della licenza BSD è che non protegge da
invece di riservarsi tutti i diritti, concede il permesso forme di sfruttamento in cui si utilizza il codice
di fare quello che usualmente il copyright vieta. Con messo a disposizione di tutti, ma non si restituisce
copyleft in sostanza si vuole indicare una logica niente alla comunità di utenti e sviluppatori. La GPL
rovesciata rispetto al copyright, in cui appunto si invece richiede che le modifiche vengano rilasciate
danno dei diritti invece che imporre delle restrizioni. con la stessa licenza, e probabilmente proprio per
La differenza fra queste due classi è che, mentre nel questo è la licenza più diffusa. Uno sviluppatore che
caso delle licenze non copyleft è possibile usare il usa la GPL sa infatti che il suo codice potrà anche
software libero per produrre anche versioni modifi- essere copiato e rivenduto da altri, ma tutte le cor-
cate non libere, con le licenze copyleft il software rezioni ed i miglioramenti dovranno essere rilasciati
viene fornito liberamente, ma ogni modifica deve con la stessa licenza, per cui alla fine anche lui ne
restare libera, mantenendo la licenza originaria. potrà trarre beneficio. Esistono inoltre molte altre
La licenza copyleft più comune è la GPL (General licenze libere, più o meno riconducibili a quelle pre-
Public Licence: una formulazione completa in italia- cedenti; perché siano effettivamente certificate
no all’indirizzo www.softwarelibero.it/gnudoc/gpl.it. come Open Source, devono però rispettare alcune
txt), che è anche la licenza più utilizzata nel softwa- condizioni minime (www.opensource.org/docs/defi-
re libero, ed è usata per il kernel Linux ed una gran- nition.php), che sostanzialmente equivalgono alle
de quantità di altri programmi. Questa licenza con- quattro libertà citate.
sente a tutti di copiare, vendere, distribuire il softwa- Da un punto di vista pratico, quindi, i programmi
re da lei coperto, ma pone due condizioni: la prima Open Source possono consentire a chi li usa (sia il
è che se si distribuisce solo codice eseguibile deve semplice utente finale, sia lo sviluppatore, sia l’azien-
essere anche messo a disposizione (ad eventuale da) attività ben diverse, a seconda della licenza da
richiesta) il codice sorgente, la seconda è che se si cui sono tutelati: un programma di pubblico domi-
modifica un programma GPL (usando quindi codice nio può essere usato, copiato, ed incorporato in
coperto da questa licenza), anche il codice derivato qualunque altro tipo di software, sia libero che pro-
dovrà mantenere la stessa licenza. Questo è alla prietario, senza alcuna restrizione; la licenza BSD (o
base del principio “ereditario” del software coperto simili) consente essenzialmente le stesse possibilità,
da licenza GPL: è sempre possibile incorporare pezzi mentre incorporando codice GPL si è tenuti a non
di programmi GPL all’interno del nostro software, rilasciare il programma risultante se non con licenza
ma i programmi risultanti dovranno essere coperti identica. È quindi possibile, ad esempio, “privatizza-
dalla stessa licenza, risultando così in una progressi- re” UMN Mapserver, senza rilasciarne il codice sor-
va espansione del numero di programmi liberi dispo- gente, mentre non si può commercializzare un GIS
nibili. basato su GRASS senza rilasciarne anche il codice
Esempi di programmi GPL in campo geografico sorgente. Di conseguenza, combinando codice GPL
sono GRASS, QGIS e PostGIS. Alcuni programmi, ed e BSD, il risultato dovrà essere distribuito con licen-
in particolare le librerie (programmi non direttamen- za GPL, mentre combinare codice BSD e proprieta-
te usati dall’utente, ma da altri programmi che se ne rio dà generalmente origine a software proprietario.
servono per effettuare operazioni di fondo) sono È in generale lesivo della licenza GPL la combinazio-
invece coperti dalla Lesser General Public License ne di codice GPL con codice proprietario, fatto salvo
64 MondoGIS 59 marzo/aprile ‘07MondoGIS_59 29-03-2007 10:31 Pagina 65
Libero e Open Source
l’uso personale; è questo il motivo, ad esempio, per LUOGHI COMUNI (MA FALSI)
cui non è possibile redistribuire GRASS compilato con I GIS liberi sono difficili, solo per esperti
il supporto a DWG tramite le librerie (non libere, né Questo è vero solo per alcuni programmi, dove le
aperte, a dispetto del nome) OpenDWG. Bisogna maggiori possibilità di personalizzazione possono
notare però come non si sia obbligati alla redistribu- spaventare un neofita. Un desktop GIS come
zione delle modifiche fatte al codice: è perfettamen- QuantumGIS non è sostanzialmente diverso dagli
te legittimo non redistribuire quanto da noi modifica- equivalenti proprietari. I programmi lato server sono
to; la licenza GPL impone unicamente la redistribuzio- a volte anche molto più facili degli equivalenti pro-
ne del codice sorgente unitamente al codice esegui- prietari.
bile, qualora questo venga redistribuito.
I GIS liberi sono inaffidabili, non adatti al lavoro vero
COME FUNZIONA UN SOFTWARE LIBERO ED OPEN Grandi aziende ed amministrazioni pubbliche basa-
SOURCE: QUANTUMGIS no servizi mission-critical sul software libero. Non
Un programma libero sviluppato in modo coopera- esistono dimostrazioni sistematiche di una minore
tivo si appoggia su una serie di infrastrutture, quasi affidabilità dei GIS liberi rispetto a quelli proprietari,
sempre basate su Internet. Un buon esempio è e in molti casi è dimostrabile il contrario.
QuantumGIS, che mette a disposizione di sviluppa-
tori ed utenti: I GIS liberi non hanno assistenza, formazione e
• un portale, con informazioni sul programma e documentazione
le sue componenti, link per il download del pro- Esistono un buon numero di ditte e professionisti,
gramma e di dati di esempio, forum, mappa sia a livello internazionale che nazionale, che offro-
degli utenti (a cui ci si può aggiungere autono- no supporto professionale (inclusa la formazione e la
mamente online), ecc.: http://qgis.org; produzione ed adattamento della documentazione).
• un sito collaborativo (wiki, basato sulla tecnolo- Attualmente il loro numero è inferiore a quello delle
gia della famosa wikipedia) per la condivisione ditte che danno supporto ai software proprietari, ma
delle idee e il coordinamento del lavoro: http:// questo deriva dal fatto che questi ultimi sono per il
wiki.qgis.org/qgiswiki; momento più diffusi.
• un sito per la verifica e segnalazione di bugs e
richieste di miglioramento: https://svn.qgis.org/ I GIS liberi non offrono garanzie
trac/report; in modo inusuale per chi è abituato Tutte le licenze (soprattutto quelle proprietarie)
al software proprietario, in cui si cerca di escludono le responsabilità per danni derivati dal-
nascondere i malfunzionamenti, qui è possibile l’uso del software. Inoltre non vi è alcuna garanzia di
verificare cosa non funzioni, segnalare ulteriori corretto funzionamento. In questo aspetto il softwa-
bugs, e verificarne la soluzione; re proprietario è assolutamente equivalente al soft-
• un sito per lo sviluppo collettivo (subversion, ware libero. Dato però i risparmi sui costi di licenza,
svn): http://svn.qgis.org/WebSVN/; qui tutto lo è di solito possibile garantirsi un’assistenza e una
sviluppo avviene “alla luce del Web”: ogni riga formazione più efficaci, ed adeguate garanzie di
di codice che gli sviluppatori (abilitati dal continuità del servizio.
responsabile del progetto) inseriscono nel codi-
ce è analizzabile da tutti; da qui ognuno (con le La migrazione da un GIS proprietario a uno libero è
competenze necessarie) può anche scaricare, in difficile e costosa
tempo reale, il software nell’attuale fase di svi- Grazie ad un buon numero di standard, sia fra i for-
luppo, il che è utile per avere l’ultima versione mati dati (ad esempio shapefiles, GeoTIFF, ecc.) sia
una volta che un bug, per noi particolarmente fra i servizi (si vedano gli standard elaborati da Open
fastidioso, sia stato sistemato; Geospatial Consortium, condivisi da software liberi e
• una mailing list per gli utenti, in cui si può proprietari), adeguati piani di migrazione possono
richiedere ed offrire aiuto, segnalare eventi e essere elaborati e realizzati, in continuità di servizio,
problemi, ed in generale influenzare lo sviluppo con un risparmio netto di risorse.
e la “vita” del programma;
• una mailing list per gli sviluppatori, dove si La manutenzione è molto costosa
discute degli aspetti tecnici dello sviluppo; Sebbene il progresso sia incessante, e i cicli di rilascio
• un canale di chat, in cui le interazioni fra del software libero siano molto rapidi, non è indi-
utenti e sviluppatori sono più rapide ed imme- spensabile, per avere un sistema in perfetta efficien-
diate. za, procedere a continui aggiornamenti. Di conse-
In questo modo, tutti possono verificare non solo il guenza, la manutenzione può essere pianificata e
prodotto finito, ma anche il funzionamento interno realizzata in modo non sostanzialmente differente
del programma, e fare scelte più consapevoli ed da quanto accade con il software proprietario, e a
avvedute fra i vari software disponibili. costi di solito comparabili.
MondoGIS 59 marzo/aprile ‘07 65MondoGIS_59 29-03-2007 10:31 Pagina 66
Libero e Open Source
I malfunzionamenti (bug) non vengono sistemati, o Il software libero è privo di copyright
se sì dopo tanto tempo È falso: la grande maggioranza di software libero è
Ci sono molte evidenze del contrario. In molti casi protetto da una licenza.
un bug può essere riparato dalla comunità, in modo
totalmente gratuito, in poche ore. In ogni caso ci si Il contrario di libero è commerciale
può garantire la pronta risoluzione, e la distribuzio- Sbagliato, il contrario di software libero è proprieta-
ne di una versione aggiornata, tramite un opportu- rio. La commercializzazione del software non dipen-
no supporto commerciale. de dalla licenza utilizzata: ci sono molte aziende che
vendono software libero o offrono servizi basati su
Manca la mia funzione preferita, quella più impor- software libero.
tante per il mio lavoro
In generale i GIS liberi sono molto ricchi di funziona- ALCUNI LINKS UTILI
lità (ma anche fra quelli proprietari mancano funzio- • Free Software Foundation:
ni ampiamente disponibili fra quelli liberi). Nel caso http://fsfeurope.org/index.it.html
ne manchi una davvero importante, c’è da tener • AsSoLi (Associazione per il Software Libero):
presente che i costi per lo sviluppo di una nuova fun- www.softwarelibero.it
zione sono di solito sorprendentemente bassi, grazie • Open Source Initiative:
al riutilizzo di componenti già disponibili e testati www.opensource.org
(principio di base del software Open Source). • Domande frequenti sulla licenza GPL:
www.gnu.org/licenses/gpl-faq.it.html;
Il costo del software è irrilevante per i GIS, perché la E, naturalmente, wikipedia: http://it.wikipedia.org.
maggior parte viene speso per i dati
I dati sono una componente fondamentale dei GIS,
ed il loro costo è sicuramente molto elevato. Ma il
software ha un peso non trascurabile, perché:
• nel costo dei dati è incluso implicitamente anche
l’utilizzo di software spesso molto costoso;
• i dati GIS vengono utilizzati anche da molti altri
soggetti (ad esempio professionisti indipendenti,
consulenti, università ed enti di ricerca, studenti,
associazioni, ecc.); quando si include anche il
costo del software per tutti questi soggetti, le
percentuali cambiano in modo sostanziale.
Il software libero è gratuito
Benché spesso il software libero sia scaricabile in
modo gratuito da Internet, il software libero non
impone la gratuità, libertà e gratuità sono due
aspetti ortogonali. Ci sono molti programmatori e
aziende che vendono software libero, ed in partico-
lare i servizi associati:
• installazione;
• configurazione;
• formazione;
• assistenza;
• Quality Assurance.
[autori] Il software gratuito è
libero
Paolo Cavallini Niente di più falso; il
Faunalia software gratuito quan-
Piazza Garibaldi, 5 - Pontedera (PI) do rilasciato nella sola
www.faunalia.it forma binaria e con una
Simone Piccardi licenza proprietaria, non
Truelite garantisce nessuna delle
Via Monferrato, 6 - 50142 Firenze libertà che contraddi-
www.truelite.it stinguono invece il soft-
ware libero.
66 MondoGIS 59 marzo/aprile ‘07Puoi anche leggere