UNIVERSITÀ DEGLI STUDI DI TORINO

Documenti analoghi
Software Libero. Terra Futura - Firenze

LICENZE D'USO E TIPOLOGIE DI SOFTWARE

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova)

Le licenze d uso. Le principali tipologie di licenze

ALTRA ECONOMIA. Le licenze nel software. di virtualmondo. terza parte del seminario sul software libero. per contatti

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

leaders in engineering excellence

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

Linux e Open Source: Libero! Non "gratis"...

L Open Source un mondo che forse dovresti conoscere? Viaggio alla scoperta dell open source e le sue caratteristiche.

Software per Helpdesk

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione.

Linux Day Perche' siamo qui???

INVIO SMS

Le effettive esigenze della Direzione del Personale nella gestione delle risorse umane in azienda. Andamento dal 2005 ad oggi

L attenzione verso i collaboratori e la loro formazione, perché l azienda non cresce se i collaboratori restano indietro.

Attività federale di marketing

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

COME AVERE SUCCESSO SUL WEB?

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

Da dove nasce l idea dei video

Database. Si ringrazia Marco Bertini per le slides

Architetture Applicative

L'Open Source nella cultura giuridica italiana. -e anche al di fuori di essa

Uomo Libero software Libero

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS

Alla c.a. Sindaco/Presidente Segretario Generale Dirigente competente

Area Marketing. Approfondimento

Contabilità generale e contabilità analitica

Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software

[SOLUZIONI INNOVATIVE] Casi di studio sulle pratiche di innovazione

YOU ARE WHAT YOU CURATE COS E LA CONTENT CURATION E COME APPLICARLA

I libri di testo. Carlo Tarsitani

Piano C. Giugno 2013 PROGETTO MOLTIPLICAZIONE

Il modello veneto di Bilancio Sociale Avis

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

Le licenze The cathedral and the bazaar Il mercato Open Source l'open Source come soluzione aziendale

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico

Risparmiare innovando

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Il database management system Access

1 La politica aziendale

SOLUZIONE Web.Orders online

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

S o f t w a r e L i b e r o : p e r c h é? a cura di don Paolo La Terra

martedì 17 aprile 12 1

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12%

A cura di Giorgio Mezzasalma

Via Don Angelo Scapin, 36 I Roncaglia di Ponte San Nicolò (PD) ITALIA Phone/Fax: info@spinips.com

Mentore. Presentazione

Manifesto TIDE per un Educazione allo Sviluppo accessibile

Che volontari cerchiamo? Daniela Caretto Lecce, aprile

STARTUP PACK IL SUCCESSO NON PUÒ ASPETTARE

Insegnare con il blog. Materiale tratto da:

Alpiq EcoServices Con sicurezza verso l obiettivo energetico.

Il calendario di Windows Vista

Guida Compilazione Piani di Studio on-line

Mentore. Rende ordinario quello che per gli altri è straordinario

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Modulo: Scarsità e scelta

Progetto Atipico. Partners

S i s t e m a d i v a l u t a z i o n e d e l l e p r e s t a z i o n i d e i d i p e n d e n t i

La Leadership. Salvatore Savarese

Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini

Università per Stranieri di Siena Livello A1

CORSO VENDITE LIVELLO BASE ESERCIZIO PER L ACQUISIZIONE DEI DATI

AREA COMUNICAZIONE CSI ABRUZZO

Avvicinare i giovani allo Sport fa bene all Impresa

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

CONFRONTO TRA STABILE ORGANIZZAZIONE, SOCIETA E UFFICIO DI RAPPRESENTANZA

Studio Grafico Ramaglia. Graphic Designer

Lavorare in Rete. a cura di Nunzia Coppedé. Nulla su di Noi senza di Noi. Formazione EmpowerNet

IL MANAGER COACH: MODA O REQUISITO DI EFFICACIA. Nelle organizzazioni la gestione e lo sviluppo dei collaboratori hanno una importanza fondamentale.

Generazione Automatica di Asserzioni da Modelli di Specifica

GESTIONE AVANZATA DEI MATERIALI

La progettazione centrata sull utente nei bandi di gara

CAPITOLO 11 Innovazione cam i amen o

REALIZZAZIONE SITI WEB

lem logic enterprise manager

LE STRATEGIE DI COPING

Introduzione al Software Libero

Report di valutazione studiolegalebraggio.it

Creare una Rete Locale Lezione n. 1

Abbiamo il piacere di comunicarvi che da oggi, su internet, è presente TrovaLocali.it, un portale virtuale sia per chi opera nell ambito del

UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI STUDI UMANISTICI Corso di laurea triennale in Scienze umanistiche per la comunicazione

LA FORMULA. TERZA PARTE: DOVE TROVARLI Indirizzi e recapiti per viaggiare sicuri. I QUADERNI SI ARTICOLANO IN TRE PARTI:

LAVORO DI GRUPPO. Caratteristiche dei gruppi di lavoro transnazionali

UNIVERSITA DEGLI STUDI ROMA TRE

LO SVILUPPO DELLE COMPETENZE PER UNA FORZA VENDITA VINCENTE

SEMPLICI INDICAZIONI PER CAPIRE MEGLIO LA REALTÀ AZIENDALE

Come Creare un sito web gratis

La tecnologia cloud computing a supporto della gestione delle risorse umane

La carriera universitaria e l inserimento nel mondo del lavoro dei laureati in Ingegneria dei Materiali

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

Come affrontare i monopoli naturali

Transcript:

UNIVERSITÀ DEGLI STUDI DI TORINO CORSO DI LAUREA SPECIALISTICA IN COMUNICAZIONE PER LE ISTITUZIONI E LE IMPRESE PROF. ANTONELLI ECONOMIA DELL INNOVAZIONE Il copyleft: le novità introdotte da Linux e dall open source nella produzione di software Sara Colombo Davide Jaccod A.A. 2004/2005

INTRODUZIONE Non capisco chi sono quei pazzi che vogliono scrivere, leggere e fare revisione di tutto quel codice senza ricevere nessuna ricompensa R. Glass Non esiste certificazione dei prodotti che realizziamo. La loro certificazione deriva dalla soddisfazione del cliente: se hai la soluzione giusta per una determinata esigenza che risolve i problemi di un'azienda, che valore aggiunto potrebbe fornirti una certificazione? OPEN IT Linux è sovversivo S. Raymond Il mercato della produzione di software sta vivendo, in questi anni, un periodo di profonda trasformazione. Il principale motore di tale mutamento risulta essere la diffusione della produzione di programmi open source, non protetti da copyright e fortemente contrapposti alle multinazionali del software. Le dinamiche interne a questo nuovo sistema di produzione sono assai interessanti, tanto dal punto di vista economico (il bene prodotto è disponibile poi gratuitamente) quanto da quello organizzativo (con un sistema di bottom-up inaspettatamente efficiente). In questo lavoro cercheremo di descrivere le principali caratteristiche del sistema: dopo aver definito il campo di indagine e averne tratteggiato una prospettiva storica, ne analizzeremo gli aspetti economici e quelli organizzativi. Infine, per dare un riscontro pratico a quest indagine, abbiamo analizzato la situazione di una piccola società italiana che si occupa di open source, la OPEN IT, di cui abbiamo intervistato il responsabile.

1. CLASSIFICAZIONE Lo schema seguente è stato elaborato da Chao e Kuei al fine di chiarire le differenze tra le diverse categorie di software. Gli insiemi ci permettono di vedere come spesso le categorie si sovrappongano e si fondano, seguendo tre diversi assi: - quello dei diritti di proprietà, che utilizza come discriminante la possibilità di scaricare i programmi (o di copiarli) senza violare alcuna legge; - quello della gratuità del software, che separa i programmi a pagamento dagli altri; - quello dell accesso al codice sorgente, presupposto indispensabile per la modifica del programma stesso da parte dell utente. Per proseguire lungo questo ragionamento è utile chiarire le differenze tra i diversi termini utilizzati per descrivere il mondo dell open source. Il software libero Il primo passo per comprendere il nostro argomento di studio è il tentativo di dare una definizione chiara di software libero. Sotto tale classificazione si radunano molti

aspetti (economici, tecnici e anche ideologici) che contribuiscono a confondere i confini, anche grazie all enorme quantità di fonti diverse che affrontano l argomento. L'espressione software libero si riferisce alla libertà dell'utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Più precisamente, esso si riferisce a quattro tipi di libertà per gli utenti: Libertà di eseguire il programma, per qualsiasi scopo (libertà 0). Libertà di studiare come funziona il programma e adattarlo alle proprie necessità (libertà 1). L'accesso al codice sorgente ne è un prerequisito. Libertà di ridistribuire copie in modo da aiutare il prossimo (libertà 2). Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio (libertà 3). Anche qui, l'accesso al codice sorgente ne è un prerequisito. Un programma è software libero se l'utente ha tutte queste libertà. In particolare, se è libero di ridistribuire copie, con o senza modifiche, gratis o addebitando delle spese di distribuzione a chiunque ed ovunque. Essere liberi di fare queste cose significa (tra l'altro) che non bisogna chiedere o pagare nessun permesso; bisogna anche avere la libertà di fare modifiche e usarle privatamente nel proprio lavoro o divertimento senza doverlo dire a nessuno. Se si pubblicano le proprie modifiche, non si deve essere tenuti a comunicarlo a qualcuno in particolare o in qualche modo particolare. La libertà di usare un programma significa libertà per qualsiasi tipo di persona od organizzazione di utilizzarlo su qualsiasi tipo di sistema informatico, per qualsiasi tipo di attività e senza dover successivamente comunicare con lo sviluppatore o con qualche altra entità specifica. La libertà di ridistribuire copie deve includere le forme binarie o eseguibili del programma e anche il codice sorgente, sia per le versioni modificate che non modificate. È legittimo anche se non c'è alcun modo di produrre una forma binaria o eseguibile (dal momento che alcuni linguaggi non supportano questa caratteristica), ma si deve avere la libertà di ridistribuire tali forme nel caso si trovi o si sviluppi un modo per farlo. Queste libertà per essere reali devono essere irrevocabili fin tanto che non si fa qualcosa di sbagliato: se lo sviluppatore del software ha il potere di revocare la licenza anche senza che l'utente sia causa di tale revoca, il software non è libero.

Le altre forme di distribuzione Software Open source Il termine open source software è usato da alcuni più o meno con lo stesso significato di software libero. In realtà, la definizione si riferisce specificamente ai programmi il cui codice sorgente è esplicito, accessibile e quindi (successivamente) modificabile. Software di pubblico dominio Il software di pubblico dominio è software privo di copyright. È un caso speciale di software libero senza permesso d'autore, il che significa che alcune copie o versioni modificate possono non essere affatto libere. Talvolta si usa il termine dominio pubblico in un'accezione vaga per intendere libero o disponibile gratuitamente. Tuttavia di dominio pubblico è un termine legale che significa precisamente senza copyright. Software con permesso d'autore ( copyleft 1 ) Il software con permesso d'autore è software libero le cui condizioni di distribuzione non permettono ai redistributori di porre alcuna restrizione addizionale all'atto di ridistribuire o modificare il software. Questo significa che ogni copia del software, anche se modificata, deve essere software libero. Il permesso d'autore è un concetto generale; per utilizzarlo effettivamente per un programma, bisogna usare dei precisi termini di distribuzione, e ci sono molti modi di scrivere dei termini di distribuzione per il permesso d'autore (si veda il capitolo 4) Software libero senza permesso d'autore L'autore di software libero senza permesso d'autore dà il permesso di ridistribuire e modificare il programma, e anche di aggiungervi ulteriori restrizioni. 1 si tratta di un gioco di parole, che qui viene reso con permesso di autore : copyright (diritto di autore) è formato dalle parola copy (copia) e right (diritto, ma anche destra), opposto di left (sinistra, ma anche lasciato).

Se un programma è libero, ma non ha permesso d'autore, alcune copie o versioni modificate possono non essere affatto libere. Un'azienda di software può compilare il programma, con o senza modifiche, e distribuire il file eseguibile come un prodotto software proprietario. L'X Window System illustra quanto detto: l'x Consortium realizzò X11 con termini di distribuzione che lo rendevano software libero senza permesso d'autore. Volendo, si può ottenerne una copia che ha quelle condizioni di distribuzione ed è software libero. Tuttavia esistono pure versioni non libere, e ci sono note workstation e schede grafiche per PC per le quali le versioni non libere sono le uniche che funzionano. Per chi usa questo hardware, X11 non è software libero. Software con licenza GPL La Licenza GNU GPL è un insieme specifico di termini di distribuzione per dare permesso d'autore ad un programma. Più avanti analizzeremo nei dettagli questo tipo di licenza. Software proprietario Il software proprietario è quello che non è libero o semilibero. Il suo utilizzo, la redistribuzione o modifica sono proibiti o richiedono un permesso (o sono sottoposti a vincoli tali che, in pratica, non si possono elaborare liberamente). Freeware Il termine freeware non ha una definizione comunemente accettata, ma è comunemente utilizzato per i pacchetti software che possono essere redistributi ma non modificati (ed il loro codice sorgente non è disponibile). Questi pacchetti non sono software libero.

Shareware Lo shareware è software che dà la possibilità di ridistribuire copie, ma impone a chiunque continui ad usarne una copia di pagarne la licenza d'uso. Lo shareware non è software libero, né semilibero. Questo per due motivi: Per la maggior parte del software shareware, il codice non è disponibile; pertanto, non è assolutamente possibile modificare il programma. Il software shareware non è distribuito con il permesso di farne una copia ed installarlo senza pagare una licenza d'uso, neanche per chi lo utilizzi per un'attività senza fini di lucro. (Nella pratica molti ignorano i termini di distribuzione e lo usano comunque, ma le licenze d'uso non lo permettono.) Software Commerciale Il software commerciale è software sviluppato da un'azienda allo scopo di guadagnare dal suo uso. Commerciale e proprietario non sono la stessa cosa: la maggior parte del software commerciale è proprietario, ma c'è software libero commerciale, e c'è software non commerciale non libero. Per esempio, GNU Ada è sempre distribuito sotto licenza GNU GPL ed ogni copia è software libero, ma i suoi sviluppatori vendono contratti di assistenza. Questa differenza è importante per il nostro lavoro, in quanto la commercializzazione dei servizi paralleli alla creazione del software è uno dei motori dell economia dell open source.

2. LA NASCITA DELL OPEN SOURCE Prospettiva storica Secondo una prospettica diacronica, nello sviluppo del software libero si possono individuare da molto tempo progetti di cooperazione e condivisione tra programmatori informatici, nonostante i mass media si siano occupati del fenomeno dell open source solo negli ultimi anni, a causa della capillare diffusione di Internet. Secondo la classificazione di Lerner e Tirole sono state distinte tre epoche. La prima epoca va dai primi anni 60 all inizio degli anni 80. Fino agli anni 70 gli studi su Internet e sugli aspetti più cruciali dello sviluppo dei sistemi operativi venivano trattati esclusivamente negli ambienti accademici e negli istituti di ricerca, dove i ricercatori godevano di una forte autonomia. In questi anni era normale che i programmatori mettessero in comune le proprie conoscenze circa il codice operativo di base dei programmi informatici, usando linguaggi di programmazione come C, Java e Basic. Successivamente l impegno cooperativo si è concentrato sullo sviluppo di un sistema operativo che potesse funzionare su reti di computer e che fosse installato gratuitamente. Questo processo di condivisione del codice è stato accelerato con la diffusione di Usenet, una rete di computer nata nel 1979 per collegare la comunità di programmatori di Unix. Questi progetti di software cooperativo si sono diffusi in modo fortemente informale, senza alcun tipo di limitazione o vincolo dato dall istituzione di diritti di proprietà. La seconda epoca va dai primi anni 80 all inizio degli anni 90. In questi anni emergono i primi tentativi di regolamentazione di quello che stava diventando un terreno sempre più diffuso. Nel 1985 Richard Stallman fonda la Free Software Foundation, con lo scopo di diffondere e sviluppare gratuitamente una grande varietà di software: l importante innovazione apportata consisteva nell introduzione di una licenza formale che precludeva la possibilità di commercializzare software sviluppato in modo cooperativo. In cambio della possibilità di modificare il codice sorgente i programmatori facenti parte del GPL, ovvero il General Public License, conosciuto

anche come copylefting, avrebbero dovuto lasciarlo gratuito e non imporre alcun tipo di copyright. La terza epoca va dai primi anni 90 ai giorni nostri. Con la diffusione di Internet e l aumento degli investimenti di capitale le attività legate al mondo dell open source subiscono una forte accelerazione: si espandono sia la quantità di contributi che l eterogeneità dei contribuenti permettendo la nascita di nuovi progetti circa il software libero. Inoltre si sviluppano forme alternative di gestione: diventano frequenti le interazioni tra compagnie commerciali e le comunità di open source, e si diffondono nuove tipologie di licenze. Tra queste il Debian Social Contract, sviluppato nel 1995 da un organizzazione nata con lo scopo di divulgare LINUX, intensifica il suo campo d azione, tanto da affiancare in popolarità il GPL. Questo accordo permette maggiore flessibilità nell utilizzo di un programma e garantisce il diritto di vincolare il software sviluppato in modo cooperativo a un codice privato. Nel 1997 è stato adottato da un gruppo di programmatori di software cooperativo e in seguito conosciuto come Open source Definition: Distributors of open source software have the right to make their own choices about their own software (Open source Initiative, 1999). Gli anni successivi registrano una forte crescita nella diffusione del software open source. Nello stesso tempo il movimento si trova ad affrontare diverse sfide, tra cui il saper gestire la frammentazione di un singolo progetto in numerose varianti, evitando l abbandono dei programmi. Un altra sfida apparentemente di minore enfasi riguarda la limitata capacità dei programmi open source di raggiungere anche gli utenti meno esperti: i programmi basati sul copyleft non utilizzano interfacce intuitive (o comunque user-fiendly, come invece fa Microsoft) e per questo si indirizzano a un target più competente. Per il copyleft questa è una sfida in termini di diffusione, ma si continua a pensare che gli utenti di open source preferiscano tollerare la mancanza di interfacce di immediata comprensione in cambio di costi ridotti e della possibilità di modificare il codice sorgente da soli. Sta nella politica dell'open source l istaurasi di una certa complicità con i propri utenti, una sorta di comunitarietà che regge l intero sistema: molti utenti sono essi stessi degli hacker. Ed essendo i sorgenti disponibili a tutti, posso

diventare degli hacker molto efficaci Con un po' d'incoraggiamento, ogni utente è in grado di diagnosticare problemi, suggerire soluzioni, aiutare a migliorare il codice in maniera impensabile per una persona sola (Raymond 1999). Origini di quattro programmi open source A parte queste linee di tendenza generali abbiamo deciso di soffermare la nostra attenzione su quattro programmi sviluppati attraverso il copyleft: Apache, Linux, Perl e Sendmail. Risulta interessante scoprire l origine di questi programmi, come e perché si sono formati all interno di una comunità non commerciale, quindi non costruita secondo le regole classiche del mercato. La storia di Apache inizia nel 1994 quando il National Center for Supercomputer Application (NCSA) dell Illinois crea una rete di utenti che hanno in comune l utilizzo del codice sorgente diffuso gratuitamente, con lo scopo di migliorarlo a seconda delle esigenze e dei problemi riscontrati dagli utenti pionieri. Per rendere comuni le conoscenze sviluppate, non appena un utente apportava una modifica era tenuto a inviarla al resto della mailing list, appositamente redatta e composta da informatici che potevano essere interessati agli sviluppi del software. Successivamente si è formato un ristretto gruppo di controllo che poteva agire fisicamente sul codice, pur prendendo in considerazione tutte le proposte che gli altri utenti potevano suggerire in modo tale da mantenere una gestione collegiale del processo. Eric Raymond (1999), in riferimento alla sua esperienza con il mondo Linux, descrive così l importante ruolo giocato dai contributi di ogni programmatore all interno delle comunità: se tratti i beta tester come se fossero la risorsa più preziosa, replicheranno trasformandosi davvero nella risorsa più preziosa a disposizione. Linux (con il pinguino che lo simboleggia) è oggi come oggi il principale concorrente di Windows, il sistema operativo della Microsoft, e si stima che il suo bacino di utenza vada dai 7 milioni a 16 milioni di utenti sparsi per il mondo. Nasce nel 1991 da Linus Torvalds; infatti il nome Linux deriva da una simpatica sintesi tra il

nome proprio dell ideatore del programma e il sistema Unix. Torvalds è partito riutilizzando codici e idee riprese da Minix, piccolo sistema operativo per macchine 386 assai simile a Unix. Alla fine il codice Minix è scomparso oppure è stato completamente riscritto, ma per il tempo che è rimasto lì presente è servito come impalcatura per quello che sarebbe infine divenuto Linux. Lo stesso Torvalds a proposito dell origine del programma di cui è il leader indiscusso va spesso affermando: praticamente sono una persona molto pigra cui piace prendersi il merito di quel che sono gli altri a fare. Inizialmente il sistema operativo era venduto a pagamento a patto che i programmi che venivano utilizzati e distribuiti con Linux fossero gratuiti. Poco dopo Torvalds decide di allentare anche questa restrizione e il numero del utenti aumenta significativamente. Si sviluppano aziende che vendono dei pacchetti software Linux (più facili da installare e da usare rispetto alle versioni gratuite), forniscono supporto tecnico agli utenti finali e ai rivenditori di computer e vendono prodotti complementari. Perl sta per Practical Extraction and Reporting Language e viene creato nel 1987 da Larry Wall, un programmatore di fama internazionale. Per un progetto commissionatogli dalla U.S. National Security Agency aveva bisogno di trovare un linguaggio a metà tra Unix e C, utilizzabile su differenti sistemi. Il programma, introdotto su Internet nel 1987, è stato rapidamente accettato come linguaggio comune di scrittura dei web server di Apache ed è tutt ora parte di numerosi altri programmi. Perl è amministrato a turno dai migliori programmatori coinvolti nel progetto, che di volta in volta si occupano della gestione di differenti aspetti, in modo da garantire la gestione collegiale e assicurare un sistema di integrazione delle conoscenze. Sendmail è stato sviluppato alla fine degli anni 70 da Eric Allman, studente di computer sciences alla Berkeley University della California, per semplificare la gestione dei problemi di posta, frequenti a quei tempi all interno del campus perché ogni

utente aveva un indirizzo e-mail per ogni rete da cui spediva messaggi. Per risolvere questo problema Allman sviluppa nel 1979 un programma chiamato Delivemail, che dopo alcune modifiche di perfezionamento viene diffuso come Sendmail. Presto Sendmail è stato scelto come metodo standard per instradare la posta elettronica su Arpanet e nel 2000 trattava il 75% di tutto il traffico e-mail su Internet. Nel 1997 Allman fonda la compagnia Sendmail Inc., finanziata dalla Benchmark Capital, che oggi come oggi cerca di incoraggiare il continuo sviluppo del software su open source e nello stesso tempo vende aggiornamenti del software correlato a Sendmail.

3. UN ASSURDO ECONOMICO? Il successo dell open source sembra sfidare alcune leggi basilari dell economia. Perché, innanzitutto, un programmatore dovrebbe spendere grandi quantità di tempo e risorse per la realizzazione di software che poi rende disponibile gratuitamente? E poi, come è possibile che un programma venga sviluppato con successo da soggetti lontanissimi o grazie a inedite forme di leadership? E ancora, quanto peso ha il fattore ideologico che viene spesso indicato come componente fondamentale di questo mondo? Cerchiamo di rispondere a queste domande analizzando alcuni dei principali elementi della creazione e diffusione del software libero. Un innovazione di processo L affermazione della produzione di software open source è analizzabile come un innovazione di processo: un nuovo, rivoluzionario processo di produzione del software, contrapposto a quello proprietario, tradizionale e chiuso proprio del mondo commerciale. Le domande che esso fa nascere possono essere collocate lungo l asse delle tre fasi schumpeteriane del processo innovativo: una nuova idea nasce (invenzione), trova un applicazione economica trasformandosi in un nuovo prodotto o processo (innovazione vera e propria) ed è poi introdotta tra consumatori ed imprese (diffusione). Focalizziamo innanzitutto l attenzione sulla prima fase, quella della creazione originale. Il primo elemento da mettere in evidenza è la sovversione del classico sistema di produzione del software, nel quale un grande marchio (classicamente Microsoft) stipendia i propri programmatori per creare un software che viene poi immesso sul mercato e aggiornato a distanza di periodi relativamente lunghi (si pensi al pacchetto Office, con le nuove versioni che si avvicendano ogni uno/due anni). Nel nuovo approccio si abbandona la struttura top-down, gerarchicamente organizzata e pianificata (condivisa dalla maggioranza dei processi produttivi), a favore di una nuova struttura di tipo bottom-up, non coercitiva ed ampiamente decentralizzata. Migliaia di persone agiscono direttamente sul codice del programma e lo modificano, adattandolo ad esigenze diverse ed eliminandone i difetti (vedi la Legge di Linus, più avanti).

E sufficiente pensare che questi soggetti agiscano unicamente con uno spirito altruistico, di mutuo soccorso verso una nuova forma di comunità? Sebbene la motivazione ideologica sia forte (come vedremo), esistono finalità individualistiche che hanno un peso decisamente non marginale. In primo luogo la produzione di software open source costituisce una gratificazione intellettuale e fornisce un utilità intrinseca simile a quella derivante dalla scoperta scientifica. Greg Perkins di Hewlett Packard definisce gli hacker degli individualistic programmers, mossi da un calcolo di costi-benefici che semplicemente prevede elementi diversi dal compenso in denaro. Il meccanismo sarebbe dunque simile a quello della ricerca accademica, mossa da una serie di riconoscimenti (economici en non) che l ambiente conferisce al soggetto che si distingue per risultati. In secondo luogo, nel nuovo paradigma di sviluppo, i programmatori ritrovano molto spesso tanto una forma simile alla creazione artistica quanto il piacere della creatività, che va progressivamente perdendosi nel mondo commerciale; l incubo dei tempi di consegna trasforma la produzione nella catena di montaggio, ben descritta nel libro-culto sui giovani lavoratori di Microsoft, Microservi (Coupland 1996). In terzo luogo, come abbiamo visto nel corso del primo capitolo e come chiarirà il caso studiato nel capitolo 5, il programmatore può vendere tutta una serie di servizi paralleli al proprio software, che vanno dall assistenza alla distribuzione, all installazione. In buona sostanza, possiamo rilevare come questi fattori abbiano determinato un profondo mutamento nella natura del bene software, che ha, di fatto, assunto le caratteristiche proprie dei beni collettivi. Una volta prodotti, tali beni possono essere liberamente consumati anche da coloro che non hanno contribuito alla loro produzione o lo hanno fatto in misura inferiore al necessario. Dal punto di vista economico, il software prodotto al di fuori dei canali commerciali può essere inserito nel più generale problema dell azione collettiva, guidata da un forte gruppo centrale (gli hacker, appunto) e sostenuta da una vasta schieri di soggetti che utilizzano il computer non solo come uno strumento ma anche come un hobby.

Coordinamento: modularità e riutilizzo E assai interessante studiare come sia possibile che uno sforzo così frammentato e articolato 2 porti ad un risultato unico e compatto. I due concetti alla base di tale successo sono la modularity e la reusability. Per quanto riguarda la prima, il mondo degli hacker fa spesso riferimento all immagine delle costruzioni giocattolo della Lego: mattoncini compatibili tra loro che possono essere combinati per le creazioni più diverse. Seguendo questo parallelo, i programmi open source sono per lo più costruiti affiancando tra loro programmi base che assolvono sottofunzioni diverse: il coordinamento effettuata dal programmatore porta quindi a un risultato diverso che si basa in gran parte su lavoro già svolto da altri. In questo modo ci possiamo collegare al secondo aspetto, quello della reusability, cioè il continuo utilizzo di materiale prodotto per utilizzi diversi da quelli del programma in esame. In questo modo ci possono essere chiare le parole di Stallman (1999) quando sostiene che i bravi programmatori sanno cosa scrivere.; i migliori sanno cosa riscrivere (e riusare). Siamo quindi di fronte ad un fenomeno di coordinamento che sfrutta profonde innovazioni intervenute: - a livello dei singoli task, che sono resi facilmente interfacciabili dalla evoluzione della tecnologia software; - a livello dell architettura, che è resa modulare in generale dall evoluzione dei linguaggi di programmazione e in particolare dalle scelte strategiche di Linux; - a livello dei costi di comunicazione, che sono abbattuti e resi trascurabili dall avvento di Internet. 2 Secondo J. Sanders (1998), nel 1998 il kernel del sistema operativo Linux era composto da più di un milione e mezzo di righe di codice. Nella prima versione, implementata da Linus Torvalds nel 1991, le linee erano 10.000.

Sotto queste condizioni il coordinamento gerarchico non è necessario. Al contrario, esso finirebbe con il deprimere le motivazioni intellettuali, estetiche e di divertimento che sembrano intrinseche alla comunità dei programmatori. Ci sono casi in cui, invece, il singolo progetto è coordinato da un centro principale, che agisce però attraverso meccanismi peculiari che ci avviamo ad esaminare. Nuove forme di leadership Un progetto open source di successo ha origine da un problema personale, che desta l attenzione del singolo programmatore: solitamente le migliori operazioni di hacking nascono come soluzioni personali ai problemi quotidiani dell'autore, e si diffondono perché tali problemi sono comuni a molte altre persone. Spesso l ideatore del programma si occupa solo di individuare il problema ed abbozzare una soluzione, raccogliendo una massa critica di codice che la comunità dei programmatori possa elaborare. Risulta importante che il leader non sviluppi troppo il lavoro da sé e lasci intriganti problemi di programmazione come esca per gli altri utenti, perché la nascente comunità di sviluppatori deve avere qualcosa da far girare e con cui giocare (Raymond 1999). Poiché dapprincipio i programmatori possono essere riluttanti all idea di cooperare in un progetto la cui leadership non è testata, è necessario mantenere alta l attenzione sul programma, presentandolo come una sfida eccitante. Il compito del leader diventa dimostrare che il progetto si può realizzare e che è meritevole di tanto lavoro. Quando s'inizia a costruire la comunità, bisogna essere in grado di presentare una promessa plausibile, anche se il programma non funziona particolarmente bene, è pieno di bug (errori), incompleto o scarsamente documentato. Non deve però mancare di convincere i potenziali co-sviluppatori che possa evolversi in qualcosa di veramente ben fatto nel prossimo futuro. Un'altra ragione per cui i programmatori sono più facilmente attratti da un progetto ancora nella fase iniziale è che, se di successo, il progetto attrarrà un grande numero di programmatori in futuro, mettendo in risalto i contributi precedenti. Per questi motivi la gestione di un progetto di open source richiede una leadership credibile e un'organizzazione coerente con la natura del processo. Il leader deve: a)

fornire un progetto o una visione, b) assicurare che tutto il progetto sia modulare, in modo che ciascun individuo possa operare su una parte indipendentemente dalle altre, c) attrarre altri programmatori, d) mantenere insieme il progetto, quindi prevenire possibili interruzioni e abbandoni. Il coordinatore o leader deve essere in grado di comunicare efficacemente con gli altri D'altronde è ovvio che per metter su una comunità di sviluppatori occorra attirare gente, coinvolgerli in quel che stai facendo, tenerli contenti per il lavoro che fanno (Raymond 1999). E' interessante notare che ognuno dei quattro casi descritti sopra pone sfide interessanti per i programmatori. Quando è stata fatta la pubblicazione di ognuno di questi programmi open source, considerevoli problemi non erano ancora stati risolti. La promessa che il progetto non sia vicino a una fine, ma piuttosto che continui a lungo a richiamare la partecipazione dei programmatori negli anni a venire, appare essere un importante aspetto di attrazione. Per questo, Linux è forse l'esempio migliore. Il sistema operativo iniziale di Linux era minimo, nell'ordine di poche decine di migliaia di righe di codice. Inizialmente Torvalds cercava di generare interesse per Linux, sottolineando esplicitamente l intervento di programmatori creativi per sviluppare il progetto a piene funzionalità; in seguito sosteneva i suoi programmatori affinché continuassero a incrementare il processo di sviluppo, senza abbandonarlo: Linus tendeva a stimolare e ricompensare costantemente i suoi hacker/utenti, stimolati dalla soddisfazione di sé per aver preso parte all'azione, ricompensati dalla vista dei miglioramenti costanti (perfino giornalieri) ottenuti nel loro lavoro (Raymond 1999). Un altra notevole discriminante del successo di un progetto sta nella natura della sua leadership, nonostante le strutture di gestione dei progetti di open source siano abbastanza diverse: in alcune, come in Linux, c'è un leader indiscusso; in altri casi, come in Apache, abbiamo visto che la gestione si mantiene collegiale, seppur coordinata da un comitato. E necessario che comunque si renda esplicito un punto di riferimento a cui i programmatori possano rivolgersi: la frammentazione del programma di sviluppo Unix è stata attribuita in parte alla mancanza di un singolo leader credibile.