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 ‘07
MondoGIS_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 63
MondoGIS_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 ‘07
MondoGIS_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 65
MondoGIS_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 ‘07
Puoi anche leggere