Dal Free Software all’Open Source: i modelli organizzativi del software libero

a cura di Maurizio Carrer

Il software libero è un’organizzazione completamente diversa dal software proprietario, un modello di creatività solidale contrapposto al modello di profitto.

Esistono oggi progetti importanti che ci consentono di cambiare il nostro modo di lavorare, da subito. OpenOffice.org ad esempio funziona con  Windows, e comprende le suite di programmi per l’ufficio in grado di sostituire Word, Excel e Powerpoint. Il software è totalmente gratuito e può essere installato su tutte le macchine che vogliamo, senza problemi di licenza.

I progetti Free Software nascono per migliorare nel tempo, perciò chiunque ritiene di poter contribuire lo può fare, ed al livello che crede, il limite è dato solo dalle sue capacità e competenze. Nel software proprietario accade di frequente che più aziende lavorino in concorrenza sullo stesso progetto, pensiamo allo sviluppo dei software gestionali ad esempio, dove ognuno cerca di imporre il proprio prodotto come migliore degli altri, ma per ottenere alla fine lo stesso risultato. Nel software libero la duplicazione dei progetti è poco probabile e se succede è per scarsa attenzione. La rete Internet mette a disposizione degli sviluppatori una biblioteca di moduli, librerie, funzioni, procedure, classi, metodi, tutto il corredo necessario per la continuazione o il riutilizzo del codice. Perché sviluppare sempre da zero se qualcun altro ha già fatto il lavoro prima di me? E magari anche meglio di me? E’ un concetto etico ed ecologico di riutilizzo delle risorse. In questo modo, come vedremo più avanti, è possibile realizzare nuovi progetti in tempi brevissimi, e rimettendoli nel circuito Free Software diamo modo anche ad altri di avvalersi del nostro lavoro.

Sommario

  • Introduzione
  • Software tradizionali
  • Origine del software
  • Open source: storia, caratteristiche e vantaggi
  • Progetto Linux
  • Progetti Open source

Introduzione

Il Free sofware e l’Open source sono movimenti divenuti oggi molto popolari che propongono un modello alternativo di diffusione del software. Anziché ritenere il software un “bene” da vendere e ricavarne un profitto, si parte dal concetto che questo è un patrimonio comune, un prodotto dell’intelletto umano, e come tale libero di circolare e di diffondersi. Ciascuno deve poter utilizzare strumenti di questo tipo e, se crede, accedere e apportare miglioramenti al codice sorgente allo scopo di far evolvere il progetto originario.

Occorre prima fare un po’ di chiarezza sul significato di quanto detto finora. E’ bene precisare subito che il termine Free software va tradotto come “software libero” e non come “software gratuito”, è una affermazione importante e la confusione nasce dal termine “free” che in inglese ha appunto il doppio significato di gratuito e libero. Una puntualizzazione che Richard Stallman, ideatore e padre del concetto Free Software, tende a sottolineare spesso perché è il primo grosso equivoco oggi esistente. II secondo preconcetto con cui i sostenitori del Free Software si trovano spesso a fare i conti è che il software free è ritenuto un software scadente, non affidabile, non certificato, realizzato da sviluppatori hobbisti e non da ingegneri qualificati. Questa definizione è vera solo in minima parte, infatti oggi possiamo osservare e studiare esempi di grossi progetti free molto affidabili, uno su tutti Linux. La confusione sul termine “free” non è l’unica esistente, le modalità di distribuzione del software sono diverse, ma spesso le confondiamo.

Vediamo in dettaglio le più popolari:

Software tradizionali

E’ il più diffuso e principale modello distributivo, imposto dai grandi monopolisti del software, primo fra tutti Microsoft. L’azienda rimane proprietaria del codice sorgente con cui il prodotto è realizzato, e il cliente acquista una licenza d’uso. Non possedendo il prodotto che ha acquistato, l’utilizzatore ha diritti limitati, fissati appunto dalla licenza d’uso. Non si può ad esempio accedere al codice sorgente, né tantomeno apporvi modifiche, soprattutto il prodotto può essere installato solo sui computer indicati nella licenza.

E’ un modello commerciale dove il cliente può provare gratuitamente il software prima di deciderne l’acquisto. L’azienda che intende distribuire software con la formula shareware può decidere se proporre una limitazione solo temporale (30, 60 o 90 giorni), oppure proporre un utilizzo gratuito illimitato nel tempo ma inibito in alcune funzionalità. Macromedia ad esempio consente la prova gratuita di tutti i suoi popolari prodotti per lo sviluppo e la gestione di siti web per 30 giorni. Al termine del periodo di prova i programmi cessano di funzionare. Winzip invece, un altro popolare programma distribuito con la modalità shareware, adotta una formula meno rigida, tant’è che molti utenti pensano si tratti di un prodotto distribuito gratuitamente.  In questo caso il programma, dopo i 21 giorni di periodo di prova gratuito, non cessa di funzionare ma semplicemente avvisa l’utente ad ogni avvio che è richiesto il pagamento di $ 29 della licenza d’uso.

Il termine è simile a Free Software, ma ne condivide solo il concetto di distribuzione gratuita. Questi software infatti non permettono l’accesso al codice sorgente, consentendone perciò il solo utilizzo. Spesso gli autori ricorrono al software Freeware per autopromuoversi.

Tutti i casi sopra citati non prevedono la distribuzione del codice sorgente insieme al programma.

Le origini del Software

La stragrande maggioranza dei software oggi in circolazione e con cui siamo abituati a lavorare è di tipo proprietario, ma non è stato sempre così. Prima degli anni 80, quindi subito prima dell’avvento dei personal computer, il software circolava liberamente, soprattutto nei grandi centri di sviluppo, come le università e i centri di ricerca. Chiunque poteva accedere al lavoro fatto da altri, modificarlo, aggiungere parti mancanti, o semplicemente studiarlo per accrescere le proprie competenze. Il software era considerato alla stessa stregua di una materia scientifica, come la chimica o la matematica e il codice sorgente poteva essere naturalmente utilizzato da chiunque, così come si utilizza una formula o un teorema.

Pochi anni dopo però, grazie alla rapida diffusione dei personal computer, delle reti e in seguito di Internet il software diventò un grande business e le regole da allora cambiarono. Richard Stallman ed altri sviluppatori difensori del software libero pensarono fosse necessario sancire con delle precise regole la modalità di diffusione dei programmi e nacque la Free Software Foundation (FSF) che predispose la General Public License (GPL)

La distinzione fra Free Software e Open Source è molto sottile, tanto che oggi i due termini sono ritenuti sinonimi. Più che altro si tratta di una distinzione fra due correnti di pensiero all’interno dello stesso movimento, una più conservativa guidata da Richard Stallman e una più progressista, rappresentata da Eric Raymond.

Nel Free Software lo sviluppo di per sé non è una fonte di reddito, ma la GPL ad esempio non sostiene che bisogna lavorare gratis. E’ possibile, anzi è più che lecito, richiedere un compenso per tutte quelle attività che normalmente si intendono “collaterali” ma che sono invece estremamente importanti: la consulenza, l’assistenza tecnica, i tools di installazione guidata, i manuali, la formazione, il packaging, i supporti multimediali. La comunità di sviluppatori Free Software inoltre è fortemente meritocratica e ciò garantisce sempre un alto livello delle competenze dei tecnici che ci lavorano: i più bravi emergono, vengono riconosciuti dalla comunità e la loro notorietà mondiale è sicura, con tutto quello che consegue.

Progetto Linux

Linux è sicuramente il sistema operativo Open Source più noto ed il suo modello organizzativo è molto interessante. E’ un progetto nato nei primi anni 90 dalla mente creativa di Linus Torvalds, un ragazzo finlandese con un progetto molto ambizioso: realizzare un sistema operativo free per tutti i personal computer, funzionante anche su hardware di fascia bassa, con processore 486.

L’idea non era del tutto nuova, Richard Stallman stava lavorando da 10 anni ad un progetto simile, che aveva chiamato GNU, un acronimo ricorsivo che non significa nulla, se non Gnu is Not Unix. Stallman si appellò alla comunità di cervelloni come lui dell’università e il progetto partì più o meno nel 1984. La realizzazione di un sistema operativo è un progetto estremamente complesso, si tratta di realizzare centinaia di programmi, di librerie, di driver: stiamo parlando di qualche milione di righe di codice, e ciascuna riga deve essere testata e verificata da più persone e su sistemi diversi. Un lavoro immenso. E Gnu non doveva funzionare su tutti i personal computer, ma solo su macchine Unix compatibili. In 10 anni di lavoro uscirono diverse versioni di GNU, nessuna tuttavia stabile e completamente affidabile, ma pareva già un successo riuscire a dare la luce a qualcosa di concreto lavorando senza una struttura preordinata, contando sul lavoro volontario dei singoli.

Il progetto Linux invece nasce nel 1991, ma nel 1994 esce già con una versione stabile. Linus Torvalds è una persona umile, riconosce in Richard Stallman l’ideologo e suo maestro. “Io”, sostiene Linus, “sono stato fortemente aiutato da Internet, che ai tempi del progetto GNU circolava solo in ambienti scientifici, e poi siccome sono molto pigro, ho attinto e riutilizzato dalla comunità free tutto il codice che potevo”. Tutto vero, ma c’è dell’altro.

Un progetto più complesso di GNU, seppur con finalità simili, si era realizzato in meno di tre anni, come era stato possibile?

Prima di tutto Torvalds si era rivolto ad una comunità più vasta, non di soli sviluppatori, perché nella fase realizzativa oltre alla scrittura di programmi, c’è bisogno di persone per predisporre i manuali, pubblicare e gestire i siti Internet, testare le release, rispondere alle FAQ ecc.

In seconda analisi Torvalds aveva già realizzato da solo un kernel  semifunzionante, e questo fece toccare con mano a tutti la fattibilità del progetto, aveva mostrato una strada percorribile e chiunque poteva sentire e coltivare l’entusiasmo di questa cosa. Quante persone sono state coinvolte? Moltissime, hanno risposto all’appello circa trecento persone nel primo anno, per arrivare a più di tremila nei primi due anni.

Quale livello di complessità deve avere un’azienda per gestire un progetto che coinvolge il lavoro di tremila persone e portarlo a termine? Scusate, dimenticavo: lavorando gratis.
Si erano costituiti spontaneamente diversi gruppi di lavoro, regolati dalle poche e semplici norme della GPL. A capo di ciascun gruppo uno sviluppatore “anziano” riconosciuto dalla comunità come più esperto. Attraverso i canali della rete, mail, newsgroup, forum ecc. chiunque si ritenesse idoneo poteva entrare a far parte del gruppo che preferiva, apportando il proprio personale contributo.

Una delle regole per gli sviluppatori era di commentare il più dettagliatamente possibile il codice che aveva realizzato, affinché chiunque potesse riprendere dal punto lasciato e continuare. Questo ha fatto sì che ad oggi Linux è il codice di sviluppo meglio commentato al mondo e con la documentazione più ricca.

Un altro aspetto importante è stato (ed è, visto che lo sviluppo continua) la pubblicazione continua di nuove release. E’ rimasta l’occupazione principale dello stesso Linus Torvalds: appena realizzata una nuova procedura veniva immediatamente pubblicata e resa disponibile agli utenti per la fase di testing, e questo avveniva anche più volte al giorno.

Microsoft ha condotto una campagna informativa allo scopo di dimostrare quanto sia svantaggioso per le aziende migrare da un sistema Windows a Linux, o più in generale, utilizzare software open source invece del software proprietario. Il costo di gestione sarebbe enormemente più alto, che annullerebbe di molte volte il vantaggio acquisito attraverso il risparmio del costo della licenza d’uso. E’ un discorso interessante ed è uno dei cavalli di battaglia delle grandi multinazionali del software proprietario. L’aspetto non considerato tuttavia rilevante è che il mondo dell’open source si rinnova velocemente, corregge, riesamina, guadagna consensi, il tutto in tempi molto rapidi, più di quanto ci si possa aspettare. Ciò che poteva essere valido un anno fa oggi può sembrare anacronistico. Per esempio su Internet si trovano online e gratuitamente scaricabili interessanti soluzioni gestionali open source, che garantiscono grande affidabilità. Rivolgersi all’open source oltrechè conveniente potrebbe anche risultare un buon investimento sul futuro, una scommessa sul talento umano.

Progetti Open source

Il parco dei programmi è comunque molto vasto, consiglio di visitare il sito SourceForge (http://sourceforge.net/index.php) per vedere se quello che serve è disponibile, se poi ci divertiamo con la programmazione possiamo anche vedere come è stato sviluppato quel software, e perché no, provare a migliorarlo.

 

 

««

Potrebbero interessarti anche...