Perché Open Source? Ma soprattutto cos'è?

Open Source è una rivoluzione: un modo nuovo di concepire la creazione e la distribuzione del software e un inedito modello commerciale, come dimostrato dagli innumerevoli echi nello sviluppo dell’informatica.
La “rivoluzione” di Open Source si è sviluppata parallelamente a quella di Internet, con il quale ha più di una analogia: entrambi i movimenti si sono evoluti con il contributo degli utenti, portando a risultati imprevisti e imprevedibili, ed entrambi sono risultati (in ordine cronologico) inattesi, sottovalutati, avversati, studiati e infine considerati dalle grandi aziende tradizionali.
Aggiungete pure che in qualche modo Internet stesso può essere considerato un prodotto di Open Source.

le regole di Open Source

Le regole di Open Source sono semplici, e si presentano all’apparenza come una carta dei diritti dell’utente del software:

1) l’utente ha il diritto di accesso al codice originale e completo del software che utilizza;
2) ha il diritto di modificare il software, anche per creare nuovi programmi;
3) ha il diritto di fare copie del programma originale e di distribuirle, anche a pagamento.
Una regola accessoria ma essenziale è che la licenza di Open Source si estende al nuovo software che viene in questo modo creato.

Se a prima vista le regole dell’Open Source possono apparire permeate di utopia da hacker, nella realtà costituiscono al contrario un nuovo ed efficace modello economico di distribuzione del software e un potente mezzo di sviluppo informatico.

La proposta Open Source nasce da diverse considerazioni. La prima è di carattere accademico: i destinatari primi del modello Open Source sono state le strutture universitarie, abituate per impostazione mentale e ai fini dello sviluppo scientifico e tecnologico, alla libera condivisione delle informazioni. Studenti e docenti sono abituati a lavorare a progetti comuni, a scambiarsi il codice e a modificarlo.

Mal volentieri la comunità degli hacker (“uno che ami programmare e a cui piaccia essere bravo a farlo”- Richard Stallman) accetta le limitazioni a cui sono sottoposti dal software commerciale. Se un sistema ha un difetto l’hacker cerca di aggiustarlo, se c’è un limite cerca di superarlo. Se il driver di una stampante è incapace di fornire una funzione determinante per il proprio lavoro, l’hacker vorrebbe modificare il codice del driver per renderlo più efficace.

Inoltre esistono considerazioni di carattere scientifico: la mancata trasmissione delle conoscenze provoca l’inaridirsi della ricerca. Un mondo di utenti che utilizzi un solo sistema operativo proprietario e dipenda dai programmi che gli vengono messi a disposizione è un mondo destinato a non svilupparsi e progredire, così come sarebbe stata la comunità scientifica se le nuove idee nel campo della chimica e della fisica fossero sistematicamente state tenute segrete. Pensate a Newton che anziché comunicare la sua legge della gravitazione universale avesse preferito vendere consulenze all’esercito per mettere a punto i cannoni.

Infine, importantissime, considerazioni di carattere economico: esiste una metafora ricorrente nei manifesti Open Source, quella delle leggi e degli avvocati. La legislatura è libera da copyright, le leggi possono essere liberamente consultate, utilizzate e diffuse, e così pure la giurisprudenza che nasce dal lavoro di brillanti legali. Gli avvocati non hanno diritti d’autore sulle sentenze e sull’uso che se ne farà nella legislazione, ma ciò nonostante la categoria degli avvocati è una delle più ricche nel mondo occidentale, sia in senso letterale, sia di mezzi che di strumenti.

I programmatori non si arricchiscono facilmente con il modello commerciale tradizionale, proprietario. Le software house nascono e chiudono, e sono per lo più destinate al fallimento. I casi in cui riescono sono una minoranza. Robert Young (vedi oltre) paragona la situazione a quella dei cercatori d’oro della California del XIX secolo: molti cercavano ma pochissimi si arricchivano. I pochissimi che trovavano una vena funzionavano da attrattiva per gli altri, come nel caso del vincitore di una lotteria. Così i programmatori cercano di lavorare e distribuire software proprietario sulla visione del successo di poche aziende come Microsoft, più che su un modello effettivamente redditizio.

i vantaggi di Open Source

Quali vantaggi avrebbe uno sviluppatore di software a distribuire il proprio lavoro attraverso le regole dell’Open Source?

In questi ultimi venti anni i vantaggi sono stati enormi. Linux è un sistema operativo compatibile con Unix, il cui successo si fa in questi giorni esponenziale, fino al punto di essere il sistema operativo più utilizzato dai server web, ben davanti alla posizione ottenuta da Windows NT di Microsoft. Windows NT è costato molti anni e milioni di dollari alla software house più ricca del mondo. Linux è stata creato nel 1991 ad uso personale dallo studente finlandese Linus Torvald allo scopo di poter far girare un sistema operativo Unix sul proprio PC 386. Il lavoro su Linux è stato integrato da una enorme quantità di utenti del sistema operativo stesso nel corso di questi anni, ed oggi ha attratto il software di case del calibro di Corel, Sun, Netscape e l’hardware di IBM stessa. Linux è il più frequentemente aggiornato e corretto sistema operativo al mondo, ed esistono diverse distribuzioni commerciali ben funzionanti di esso.
Il già citato Robert Young di Red Hat (l’azienda di maggior successo commerciale nella distribuzione di Linux) porta l’esempio di Grant Günther e della sua Empress Software. Günther decise di utilizzare per la propria azienda il sistema operativo Linux, ma aveva necessità di utilizzare i dischi Zip, che Linux non prevedeva. Günther dedicò per quello scopo qualche giorno a creare un driver per far funzionare il disco Zip, per il proprio bisogno individuale, e in quel modo quel driver entrò a far parte del sistema operativo. Se Red Hat, o qualsiasi altra azienda commerciale, avesse dovuto commissionare quel lavoro alla Empress Software avrebbe dovuto sborsare qualche decina di migliaia di dollari. Invece il driver è in questo modo, “open source”, disponibile all’intera comunità del nuovo sistema operativo, oltretutto con il codice a disposizione di chi lo voglia migliorare, e questo senza che il suo autore abbia dovuto lavorare per filantropia.

un nuovo modello economico

In pratica scrivere un programma Open Source offre la garanzia all’autore, se si tratta di un buon programma, di usufruire del lavoro e dell’assistenza di una quantità di altri programmatori, esperti ed entusiasti sparsi per il mondo. Chiunque ha il diritto di distribuire quel programma, ma l’autore avrà pur sempre la possibilità di installare ai propri clienti un programma assai più perfetto di quanto avrebbe mai potuto creare, e di farsi pagare per questo e per l’assistenza. Molte aziende di successo sono nate attorno all’Open Source. Red Hat Software è un enorme distributore di una versione completa di Linux a cui ha assegnato il proprio nome. Red Hat raccoglie i più utili programmi per Linux, li completa con un installer il più possibile semplice da utilizzare e li fornisce all’utente finale come prodotto completo e funzionante.
Caldera è un altro distributore molto popolare soprattutto fra le aziende. Cygnus si occupa di assistenza e offre con il suo software un contributo determinante allo sviluppo di Linux, per esempio con la creazione di un popolare compilatore.
Oltre ai grandi nomi di chi ha “vinto la lotteria” ci sono migliaia di programmatori che offrono consulenza alle aziende che utilizzano Linux, selezionando, perfezionando o creando dal nulla il software a seconda dei bisogni.
Infine esistono fondazioni, la più nota delle quali è la Free Software Foundation con il proprio programma GNU, che lavorano allo sviluppo del free software solo per supporto alla riuscita dell’idea.

la storia di Open Source

La Free Software Foundation costituisce la scintilla da cui l’intera cosa nota come Open Source ha preso l’avvio. Come fa notare il suo creatore, il folcloristico Richard Stallman, che è al tempo stesso un ottimo programmatore, un guru per la comunità degli hacker, un filosofo e decisamente una lucida mente di visionario, il software nelle istituzioni accademiche è sempre stato libero. Nel 1984 Stallman, oppresso dai limiti che il software proprietario stava portando alla comunità dei programmatori, decise di mettere in piedi il progetto GNU per la creazione di un sistema operativo che fosse al tempo stesso libero e migliore degli altri. Al tempo stesso enunciò i principi del Free Software (“free” come libero, non necessariamente come gratis), che sono quelli su cui ancora oggi si basa il modello Open Source. Il contratto GPL (Licenza Pubblica Generale GNU) è il più efficace e universale applicabile al software libero.
Il kernel del sistema operativo GNU ancora oggi non esiste, ma sono stati creati tutti quei programmi che hanno rivestito il Linux di Torvald e che si trovano in ogni distribuzione del sistema operativo. In particolare da GNU sono stati creati, fra gli altri, Emacs (uno straordinario editor) e recentemente Gnome, un’interfaccia grafica per Linux che quando sarà terminata dovrebbe competere con quella di sistemi operativi come il Mac OS.
Stallman ha anche coniato il termine Copyleft in alternativa a Copyright, perché lascia il diritto di copia (“copy right”) nelle mani dell’utente.
La posizione di Stallman ha creato molta simpatia nella comunità degli hacker, specie dalla disponibilità di Linux in avanti, ma non è risultata altrettanto popolare nelle aziende tradizionali, in cui la perdita dei diritti sul proprio codice suona come una posizione antieconomica.
Anche per questo motivo quando alcune aziende cominciarono ad interessarsi alle possibilità aperte dal modello del free software (per esempio Netscape) Eric Raymond e Bruce Perens misero assieme la Open Source Definition che oltre a rendere un poco più flessibile il punto di vista sulle licenze, sostituiva la parola “free” con quella “open”.

Apple e Public Source

Apple non poteva rimanere indifferente alla rivoluzione dell’Open Source, per diversi buoni motivi. Innanzi tutto per la straordinaria potenzialità che Linux e il free software stanno dimostrando di possedere come grimaldello per scalzare il monopolio di Windows, almeno sul mercato dei server, aziendali e web.
In secondo luogo è noto che Mac OS è stato dalla sua realizzazione, nel 1984, un sistema operativo dalle caratteristiche superiori ai sistemi di Microsoft (MS DOS e Windows), ma che ha avuto una penetrazione di mercato assai inferiore, legata al fatto che Mac OS è un sistema proprietario che può essere montato solo sui computer prodotti da Apple Computer. Non ci si può aspettare che il resto del mondo rinunci a produrre computer, e l’unica alternativa era installare sul proprio hardware i sistemi di Microsoft.
Combattere Microsoft con le sue stesse armi, quelle del software proprietario e del marketing commerciale, è compito incerto, e Open Source rappresenta un alternativa che vale la pena di prendere in considerazione.
Apple ha mosso qualche timido passo nella direzione di Open Source, mettendo a disposizione parti del proprio codice software sotto una licenza simile ma non identica, tanto che, a scanso di equivoci, è stata ribattezzata Public Source.
Come Public Source sono disponibili i listati e alcuni sorgenti del sistema operativo legato a Mac OS X (Darwin OS), oltre ai progetti Darwin Streaming Server e OpenPlay, legati all’uso di QuickTime e alla creazione di software di rete interpiattaforma.
La comunità Open Source non ama che vengano riscritte le licenze, e in particolare che vengano poste delle limitazioni ai “diritti” di libera modifica, copia e ridistribuzione del software, ma in ogni caso Public Source comporta un significativo esperimento in questa direzione, che potrà sicuramente essere riconsiderato in maniera più incisiva quando Apple avrà terminato il suo grande ciclo di rinnovamento. È molto significativo per gli sviluppi futuri che anche come azienda di hardware Apple abbia in passato offerto collaborazione per aprire le proprie piattaforme a Linux per PowerPC e, più recentemente, fornito tutti gli elementi per migrare il sistema operativo su piattaforme diverse. Apple con la totale conversione nel 2001 del suo Sistema Operativo alla piattaforma UNIX, modificando un progetto Open Source come Darwin, ha ottenuto un ritorno di curiosità da parte della comunità informatica e un moderato rispetto per la quantità di funzionalità aperte nel codice di sistema e la mole disponibile di documentazione a tale proposito. A dimostrazione di questo interesse, oggi possiamo vedere Linus Torvald, il fondatore del Sistema Operativo Linux per piattaforma x86 di Intel, lavorare su un Apple PowerMac G5 biprocessore come computer principale.

un modello applicabile al Mac?

La comunità Open Source, nel suo credo più ortodosso, diffida dal creare software che si appoggi a sua volta su software proprietario. Perciò gli hacker non scrivono software per sistemi diversi da Linux e non utilizzano librerie che non siano sotto licenza Open Source. Ciò nonostante il concetto di Open Source rappresenta un modello tranquillamente esportabile con profitto sulla nostra piattaforma. Il contratto di licenza GPL di GNU è applicabile senza sostituire una parola.

Nel nostro caso possiamo fornire un valido supporto all'Open Source con pochissimo impegno e con grande soddisfazione. Free Software, Open Source, GNU, e tutto il resto, non significano necessariamente che domani dobbiamo iniziare a riprogrammare le routine, i driver o creare nuovi applicativi e renderli disponibili alla comunità, oppure che ci sentiamo obbligati a sostituire Windows sul nostro PC con un nuovo e fiammante Linux (anche se non sarebbe una cattiva idea), ma è sufficiente rendere disponibile ogni nuova scoperta fatta in ambiente informatico, in pratica ogni nostra esperienza positiva o soluzione trovata con l'utilizzo del computer, di cui si reputi una certa importanza per la comunità e che sia valida per per un corretto sviluppo informatico.
Questo è un passo dolente, modi e termini sono determinati dal tipo di scoperta o esperienza: c'è chi si limita a fornire del free software su un proprio apposito sito (su http://www.tecnicaservizi.com/, il noto sito che tiene traccia delle versioni software, abbiamo centinaia di esempi "freeware" in mezzo al software commerciale e "shareware"), c'è anche chi si inventa blog, tutorial e recensioni con informazioni di vario genere senza chiedere direttamente nulla in cambio, chi addirittura coinvolge un'intera comunità di persone per sviluppare una sorta di guida all'utilizzo estemporanea, ma ogni sistema è valido per uscire da questo medioevo informatico in mano ai pochi e cominciare ad essere noi tutti a produrre quello che serve veramente.

Personalmente mi sto dedicando a vari sviluppi di questa forma di "Real Information Technology", ritenendola a pieno titolo una branca dell'Open Source e mi adopero per diffonderne l’idea. Come professione sono un consulente informatico e sviluppo software e soluzioni per altre aziende, nel tempo libero cerco di tenere aggiornato questo sito con novità provenienti direttamente dal mio lavoro o soluzioni trovate e riadattate da internet.
Direttamente su questo sito fornisco formule algebriche di difficile composizione, costate ore di duro lavoro, all'interno di archivi database il cui utilizzo è totalmente libero, chiaramente sotto l'egida delle regole Open Source. Gli stessi archivi Database di varia utilità, gestionali, amministrativi e professionali, oltre ad alcuni script di utilizzo pratico che permettono di avvicinarsi alla tecnologia di Scripting di Apple, AppleScript, per permettere a tutti di avvicinarsi all'apprendimento di questa tecnologia e far conoscere le potenzialità di questo sistema creato per agevolare il normale lavoro di routine. Un piccolo impegno che, anche se costa comunque di tempo e risorse, si paga da se con il pensiero che tutti quelli che ne usufruiranno porteranno comunque avanti lo sviluppo informatico.
I piccoli software gestionali forniti sono a uso esclusivo e personale e non permettono l'utilizzo dei sorgenti a scopo professionale, ma nulla vieta di vendere la soluzione migliorata a titolo di consulenza.
Scrivere un programma per uso personale è però differente dallo scrivere un programma da distribuire. Il software “pacchettizzato”, infatti, è per sua caratteristica un software finito, automatizzato, e spesso non si appoggia su programmi preesistenti, come FileMaker. Per distribuire i miei prodotti in modo professionale avrei dovuto riscriverli con un sistema di sviluppo che mi permettesse una distribuzione commerciale. A parte l'impegno della programmazione, avrei perso la possibilità di modificarlo in tempo reale sul lavoro (senza bisogno di ricompilare) che FileMaker Pro permette, il che avrebbe comportato un peggioramento della qualità del programma nel mio uso personale. Cosi è nata l'idea di mettere a disposizione i sorgenti come software libero alla personalizzazione, secondo il modello di Open Source e sotto la licenza pubblica generale GNU. Cosa mi aspetto da questa distribuzione? Che altri lo utilizzino, e che alcuni di essi apportino delle modifiche che miglioreranno la qualità dei programmi. A nessuno sarà proibito installarlo e mantenerlo a pagamento per terze parti, e anch’io potrei vendere ad aziende del mio ambito soluzioni di assistenza completa, dal progetto, al software passando per l'assistenza. Strettamente non si tratta di Free Software (gira infatti su sistemi proprietari, come Mac OS e FileMaker) ma per l’utente finale i vantaggi sono analoghi. Credo che una simile esperienza possa interessare molti fra gli autori di software gestionale per tutte le piattaforme, che difficilmente fino ad oggi hanno avuto guadagni da distribuzioni commerciali in grande stile.

Approfondimenti

internet: esempi e approfondimenti

“Opensources, voci dalla rivoluzione Open Source” www.apogeonline.com
Vedi anche i due articoli fondamentali di Eric Raymond:
La cattedrale e il bazaar
La vendetta degli hacker

letteratura

Spaghetti Hacker: Stefano Ciccarelli e Andrea Monti - Apogeo Editore
I manifesti di Open Source possono essere letti su www.apogeonline.com/openpress/libri/545

internet: esempi di "opensourcing"

www.linux.it
www.freepops.org
da un testo di Blue Bottazzi © 1999
Tutti i Marchi citati sono di proprietà esclusiva dei rispettivi produttori e vengono qui nominati a puro titolo dimostrativo e di supporto per gli argomenti trattati.