confsl 2010 - Conferenza Italiana sul Software Libero

Transcription

confsl 2010 - Conferenza Italiana sul Software Libero
CONFSL 2010
Atti della IV Conferenza Italiana sul Software Libero
Cagliari, 11­12 Giugno 2010
Editor: Vincenzo Bruno
Comitato Tecnico Scientifico
Vincenzo Bruno (Program Chair )
Maurizio Agelli Walter Ambu Nicola Asuni Ernesto Belisario Francesco Bolici Davide Carboni Carlino Casari Marco Ciurcina Vincenzo D'Andrea Carlo Daffara Renzo Davoli Stefano De Paoli Roberto Dentice Arturo Di Corinto Roberto Di Cosmo Paolo Didonè Daniel Donato Davide Dozza Gianni Fenu Matilde Ferraro Giovanni Battista Gallus Roberto Galoppini Massimiliano Gambardella Flavia Marzano Angelo Raffaele Meo Francesco Paolo Micozzi Alessandro Narduzzo Gavino Paddeu Norberto Patrignani Susanna Pelagatti Massimo Rimondini Andrea Rossato Alessandro Rossi Cristina Rossi Lamastra Alessandro Rubini Francesco Rullani Claudio Sacerdoti Coen Alberto Sillitti Domenico Talia Maurizio Teli Francesco Virili Stefano Zacchiroli
INTRODUZIONE
Con questa quarta edizione della ConfSL facciamo il punto sul Software Libero in Italia, sulla sua diffusione nella PA, sulla produzione di prodotti e servizi basati su nuovi modelli di business e sullo stato delle comunità che ruotano intorno al Software Libero.
Sono passati circa 10 anni da quando in Italia si e' organizzato il primo LinuxDay e da allora e' stato un crescendo sotto tutti i punti di vista: tecnologico, giuridico, economico e soprattutto sociale. La vera rivoluzione che stiamo vivendo consiste nel fatto che il Software Libero e' ormai un fenomeno di massa, ampiamente diffuso sia tra i ragazzini “nativi digitali” che sui Pc di aziende e Pubbliche Amministrazioni. Ormai installare Gnu/Linux non e' più quella impresa che poteva essere nel 2001, quando far funzionare una scheda grafica rappresentava un piccolo passo per l'umanità ma un grande salto (di gioia, nel vero senso della parola) per l'appassionato smanettone. Oggi il Software Libero gira tranquillamente sui portatili e sui desktop di moli utenti e su una grossa fetta di server piccoli e grandi. Basta scaricare il CD di una qualsiasi “distro” per avere in meno di un'ora un sistema operativo libero sul proprio portatile e non manca il supporto di aziende grandi e piccole per qualsiasi necessità aziendale.
Allora quale e' il senso di una convention nazionale di così ampia portata? Esistono in Italia molti eventi incentrati a vario titolo sul Software Libero: dal citato LinuxDay ad una serie di eventi più o meno verticalizzati su un prodotto o una comunità. Ci sono quelli mono marca, come l'Open Source Day (Red Hat Symposium) del 17 giugno, quelli monotematici, tipo la PyCon, conferenza Python, del 7­9 maggio a Firenze, e così via. In generale ognuno di questi e' focalizzato su una comunità ristretta, mentre la ConfSL ha come suo principale obiettivo quello di riunire le diverse anime del Software Libero, in modo da creare un punto di aggregazione annuale in cui scambiare conoscenza, discutere idee, avanzare proposte di collaborazione. La ConfSL e' sempre organizzata in sinergia tra Università e Associazioni. Così e' stato a Cosenza nella prima edizione (l'idea della ConfSL e' partita proprio dall'Associazione Hacklab Cosenza), e nelle successive di Trento e Bologna, cosi come in questa di Cagliari.
In questa edizione del 2010 si riuniscono nel capoluogo sardo molti soggetti diversi: abbiamo le due sessioni parallele di stampo scientifico, con la partecipazione di ricercatori, aziende e associazioni da tutta Italia; le sessioni di Workshop organizzate dal Java User Group Sardegna, dei workshop su Postgres organizzate dall'Italian PostgreSQL Users Group, oltre a 3 sessioni dedicate alla Pubblica Amministrazione ed un Brokerage Event finalizzato a far incontrare soggetti diversi per avviare nuovi business.
Il Software Libero e' ormai maturo, ma c'è ancora moltissimo da lavorare. Non c'è solo il software da sviluppare ma e' necessario approfondire la conoscenza dei risvolti giuridici del SL (la recente sentenza della Corte Costituzionale sulla Legge Regionale Piemontese per il Software Libero ne e' la prova), dei suoi modelli economici e delle sue ricadute sulla società. Per tali motivi molte delle Sessioni della ConfSL sono su aspetti Filosofici­
Giuridici­Sociologici e su Enti Pubblici/PA/Scuola.
Questa conferenza e' ormai una tradizione e si spera che continui finché ci sarà in Italia la necessità di sostenere il Software Libero contro gli attacchi monopolistici del Software Proprietario, con l'obiettivo di garantire maggiori benefici ai cittadini a partire dalla loro Libertà. Organizzatori
Un enorme grazie va a tutti gli organizzatori che hanno lavorato duramente affinché si potesse realizzare questa Conferenza.
General chair della conferenza e' Giulio Concas, Università di Cagliari.
Il comitato organizzatore (Steering Committee) e' costituito da:
•
Vincenzo Bruno, Hacklab Cosenza / Università della Calabria
•
Vincenzo D'Andrea, Università di Trento
•
Renzo Davoli, Università di Bologna
•
Michele Marchesi, Università di Cagliari
•
Flavia Marzano, UnaRete
Comitato Organizzatore Locale
•
Giammaria Ogana, GULCh
•
Romina Lobina, GULCh
•
Nicola Asuni, GULCh
•
Giuseppe Destefanis, Università di Cagliari
Tutti i contenuti di questo libro, tranne dove espressamente indicato dagli autori, sono rilasciati con licenza Creative Commons – Attribution – Share Alike 2.5
http://creativecommons.org/licenses/by­sa/2.5/it/
Indice generale
L'ATTIVITÀ DI NORMAZIONE:
PRINCIPI, SOGGETTI E PROBLEMATICHE........................................................1
LE LICENZE PUBBLICHE DI RIUSO E IL SOFTWARE LIBERO.............................16
LIBERA­MENTE DIDATTICA LIBERA NEL COMUNE DI PISA...................................................27
PA E SOFTWARE A CODICE SORGENTE APERTO: IL DIFFICILE CONNUBIO TRA FLOSS, RIUSO E CONCORRENZA. ..........................................................36
CAQDAS – UN APPROCCIO LIBERO.........................................................................46
ANALISI ETNOGRAFICA DI UN PROGETTO LIBERO............................................59
FAME, A METHODOLOGY FOR ASSESSING SOFTWARE MATURITY...............71
IMPACT AND ECONOMIC RISK ASSESSMENT OF FLOSS ADOPTION BY PUBLIC ADMINISTRATIONS.............................................................................83
DESKTOP­AS­A­SERVICE FACILE CON VIRTUAL DISTRO DISPATCHER.........95
UNA SUITE INTEGRATA DI SERVIZI PER PA E IMPRESE
AN INTEGRATED SERVICE SUITE FOR PUBLIC ADMINISTRATIONS AND ENTERPRISES.....................................................................................................105
SOFTWARE LIBERO E RADIO 2.0: ANB WEB RADIO, UN ESPERIMENTO SOCIALE..............................................................................................................118
LE CARATTERISTICHE DELLE IMPRESE SOFTWARE IN EMILIA­ROMAGNA: TRE MODELLI DI IMPRESA A CONFRONTO.................................................129
UN ECOSISTEMA SOSTENIBILE: IL MODELLO DI JAPS 2.0..................................................................................139
SVILUPPARE APPLICAZIONI WEB CON IL FRAMEWORK PHP SYMFONY.....148
THE EVOLUTION OF DEFECTS AND PATCHES IN SOURCEFORGE PROJECTS: A QUANTITATIVE ANALYSIS ........................................................................162
LA STRUTTURA DELLE RELAZIONI NEI PROGETTI DI SOFTWARE LIBERO: UN’ANALISI COMPARATA..............................................................................176
SHARE IT AND BRING IT HOME: OPEN SOURCE, COMMONS AND PIRATES 187
RIUNIONI DIGITALI .........................................................................................202
ILDJIT: A parallel, free software and highly flexible Dy-namic Compiler...........212
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
L'ATTIVITÀ DI NORMAZIONE:
PRINCIPI, SOGGETTI E PROBLEMATICHE
Aliprandi, Simone, Progetto Copyleft-Italia.it, www.copyleft-italia.it,
simone.aliprandi@gmail.com, www.aliprandi.org
Questo paper prosegue nel solco dell'analisi da me effettuata nelle due scorse edizioni della ConfSL in
materia di standard informatici aperti ed interoperabilità, ponendo questa volta la lente su alcuni
aspetti particolarmente tecnici, non molto noti ma non per questo poco importanti.
Infatti l'argomento degli standard e dell'interoperabilità assume sempre più valore nel dibattito
relativo allo sviluppo di software libero, alla diffusione di protocolli informatici aperti, alla
promozione del cosiddetto pluralismo informatico. Tuttavia l'argomento della normazione (anche
detta standardizzazione) è spesso poco trattato o comunque non se ne conoscono nel dettaglio le
dinamiche e i meccanismi di funzionamento.
Dando per acquisito che cosa siano gli standard informatici e quale fondamentale ruolo giochino nel
mondo dello sviluppo tecnologico, nonché la distinzione concettuale fra standard de facto e standard
de jure (argomenti per i quali si rimanda il lettore ai due paper precedenti), in queste pagine
cercheremo di approfondire i meccanismi che stanno dietro l'attività di formalizzazione degli standard
de jure (anche detti norme), i soggetti impegnati in questa attività e le problematiche teoriche ad essa
legate.
Si inizierà fornendo una breve panoramica storica della normazione dalla fine del XIX secolo fino ai
giorni nostri, mostrando anche i due diversi approcci che nel corso degli anni si sono consolidati
negli Stati Uniti e in Europa.
Si passerà a introdurre i tre principi fondanti dell'attività normazione, che sono la consensualità
(ovvero la ricerca del massimo grado di consenso da parte dei soggetti coinvolti nel processo di
normazione), la democraticità e la trasparenza.
In secondo luogo si tratteranno le fasi del processo di standardizzazione, partendo dalla segnalazione
e valutazione della necessità dello standard, passando alla ricerca e consolidamento del consenso
sulle caratteristiche dello standard, per arrivare all'approvazione formale e pubblicazione del
documento di specifica in cui appunto sono descritte le caratteristiche tecniche dello standard.
A questo punto si giungerà ad un approfondimento sugli enti che si occupano di questa attività,
analizzandone la loro natura giuridica (non così chiara), il loro funzionamento interno nonché i
rapporti (spesso di forte sinergia e interdipendenza) fra le varie realtà attive nel campo. Si potrà così
spiegare che esistono fondamentalmente tre livelli di normazione (il livello nazionale, quello europeo
e quello internazionale) e cogliere quale importante ruolo viene oggi giocato da questi enti per la
determinazione degli equilibri di mercato.
Infine si cercherà di mettere in luce le principali problematiche che un'attività tanto complessa quanto
determinante può implicare. Innanzitutto si tratterà il rapporto fra l'attività di standardizzazione e
l'innovazione tecnologica; successivamente le questioni che essa pone in materia di proprietà
intellettuale e specialmente della difficile convivenza fra la divulgazione di uno standard e le classiche
tutele del diritto industriale (copyright, brevetto e segreto aziendale); in ultimo i punti di attrito tra la
predisposizione di uno standard (il quale per molto tempo condizionerà pesantemente il mercato) e le
regole a presidio della libera concorrenza.
Pagina 1
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Parole Chiave: norma, normazione, standard, standard aperti, formati aperti, enti di
normazione, interoperabilità, proprietà intellettuale, brevetti, innovazione, concorrenza.
1 DINAMICA STORICA DELLA NORMAZIONE E IL
DIFFERENTE APPROCCIO DI EUROPA E USA
Come si può dedurre dai più recenti studi in materia di sociologia dell'innovazione, il
radicarsi di pratiche mirate alla formalizzazione di standard industriali è direttamente
proporzionale al grado di complessità e trasversalità di un determinato mercato, ma
soprattutto al livello di convergenza tecnologica verso cui quel settore si sta dirigendo.
Non è difficile intuire quindi che negli ultimi decenni si è assistito ad un esponenziale
ampliamento dell'attività di standardizzazione, con una sensibile crescita di organizzazioni
nate per iniziativa spontanea delle aziende attive in un determinato settore.
Ripercorrendo lo schema proposto da Granieri (nell’ottimo libro sui rapporti fra attività di
normazione e diritto industriale, scritto con Calderini e Giannaccari), possiamo quindi
individuare tre fasi evolutive della standardizzazione.
Una prima fase che si inaugura già alla fine del XIX secolo e arriva fino alla seconda metà
del secolo scorso (tra gli anni 60 e gli anni 80) nella quale la tendenza è quella di legittimare
forme di monopolio (i cosiddetti monopoli legali, creati per lo più per scelta politica)
specialmente nei settori dell'energia, della telefonia e delle telecomunicazioni in generale.
Una prospettiva che circoscriveva automaticamente la problematica degli standard ad una
dimensione pressoché nazionale. E' il periodo infatti in cui in gran parte degli stati
industrializzati (soprattutto europei) vengono costituiti dai governi enti espressamente
preposti a vigilare sull'uniformazione tecnica dei vari settori.
Abbiamo poi una seconda fase il cui elemento centrale è la liberalizzazione dei mercati
accompagnata da una vertiginosa crescita ed espansione delle tecnologie e delle
telecomunicazioni. Inizia qui a percepirsi l'importanza della standardizzazione non solo a
livello nazionale ma anche internazionale.
Infine, vi è una terza e più recente fase ispirata alla massimizzazione della convergenza
tecnologica, nella quale le industrie si trovano (volenti o nolenti) a dover far parte di un
meccanismo di mercato sempre più integrato e cumulativo. E' palese che in un simile
contesto la ricerca di standard chiari e universalmente condivisi non è più percepita come una
possibilità in più ma come una vera e propria esigenza.
In questa evoluzione (qui presentata in verità in maniera molto sintetica e schematizzata)
sono andati definendosi due modelli differenti relativi alle due aree di massimo sviluppo
industriale e più coinvolte dal fenomeno della standardizzazione. Da un lato abbiamo
l'approccio più tipicamente statunitense per il quale l'attività di standardizzazione deve essere
lasciata il più possibile al mercato, salvo però stabilire delle regole chiare a garanzia della
concorrenza: in questo contesto assumono infatti particolare importanza gli organismi creati
per iniziativa delle aziende interessate.
Pagina 2
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Dall'altro abbiamo l'approccio più tipico dell’area europea, dove la presenza di diverse realtà
nazionali e di un'istituzione sovranazionale come la Comunità Europea (la cui precipua
attività sta proprio nella regolamentazione del mercato e degli equilibri concorrenziali fra gli
stati membri) ha portato ad una soluzione – per così dire – più pubblicistica: qui infatti
assumono un ruolo particolarmente centrale enti di natura governativa (come il CEN, il
CENELEC e l'ETSI) preposti proprio ad occuparsi di tali dinamiche. 1
2 L'ATTIVITÀ DI NORMAZIONE
Come si è già avuto modo di accennare in altre sedi 2, l'iter che porta alla formalizzazione di
uno standard (nel senso di standard de iure, ovviamente) è chiamato processo di
standardizzazione (o di normazione): esso si struttura in più fasi, si fonda sulla fissazione
delle caratteristiche convenzionali costitutive dello standard ed è gestito da appositi enti
specializzati la cui autorevolezza e credibilità sono ampiamente riconosciute.
A titolo di precisazione terminologica è il caso di evidenziare che quando in questo ambito si
parla di “norma” non si fa riferimento all’idea più comune di norma giuridica, ovvero quella
di precetto imposto da un’autorità per regolare i rapporti di un gruppo sociale e sostenuto
dall’imposizione di sanzioni giuridiche. Si tratta più che altro di “norma” intesa come “tipo”
o “modello” a cui determinati soggetti (gli operatori di un determinato mercato) devono
conformarsi per poter far parte del “gioco”, pena l’esclusione dal gioco stesso (o quantomeno
una difficile partecipazione).
In altre parole, da un lato abbiamo un gruppo sociale i cui individui sono tutti tenuti al
rispetto di una regola e la violazione della stessa comporta per gli individui l’applicazione di
una sanzione giuridica; dall’altro lato abbiamo un modello di riferimento definito con
dinamiche convenzionali ai quali i soggetti (gli operatori del mercato) sono liberi di aderire o
meno, tenendo però presente che la non adesione comporterà concrete difficoltà nella
partecipazione al mercato. 3
L'attività di normazione, come avremo modo di approfondire, è uno dei punti cardine
dell'innovazione tecnologica in senso lato in un mondo permeato di tecnologia come quello
attuale; e proprio per questo rappresenta un terreno molto delicato e complesso, che implica
problematiche di natura (oltre che tecnica) giuridica, economica, politica, etica: tutte di non
facile gestione.
2.1
Principi base dell’attività di normazione
L'attività di normazione si ispira ad alcuni principi di fondo, il cui rispetto attribuisce
affidabilità ed autorevolezza allo standard prodotto. Essi sono:
Per un approfondimento di questa dicotomia fra modello USA e modello Europea si legga Calderini M., Giannaccari M., Granieri A., Standard, proprietà intellettuale e logica antitrust nell'industria dell'informazione, Il Mulino, 2005 (pag. 82).
2
Aliprandi S., Gli standard nel settore informatico: classificazioni e problematiche, in Atti della II Conferenza Italiana Software Libero (Trento, maggio 2008); disponibile online al sito www.confsl.org.
3
Sarebbe interessante un approfondimento del tema alla luce delle categorie tipiche della filosofia del diritto e della teoria generale del diritto. A titolo di semplice spunto si legga quanto scrive Stefano Moroni che avvicina norme come gli standard tecnici alla definizione di “regola tecnotattica”. Si veda il par. 2.3.8. di Moroni S., Le regole
tecnonomiche,
documento
disponibile
online
al
sito www.giuri.unige.it/intro/dipist/digita/filo/testi/analisi_1998/Moroni1.rtf.
1
Pagina 3
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
•
la consensualità, ovvero la ricerca del massimo grado di consenso da parte dei
soggetti coinvolti nel processo di normazione. Essa si pone come elemento fondante della
credibilità del processo e della stabilità dello standard; 4
•
la democraticità, poiché un processo basato su meccanismi democratici permette che
«tutte le parti siano rappresentate nelle diverse fasi […] e che tutte concorrano in modo
paritetico all'approvazione consensuale del progetto»; 5
•
la trasparenza, dato che durante il processo di normazione è importante che tutti i
soggetti coinvolti abbiano «il diritto, ed il dovere, di conoscere le “regole del gioco”, ovvero i
regolamenti che disciplinano i lavori delle commissioni e dei gruppi di lavoro e le aree di
competenza, ma anche di avere pieno accesso alla documentazione che testimonia il processo
normativo in itinere». 6
Ovviamente, si tratta più che altro di principi ideali a cui l'attività di normazione “dovrebbe”
ispirarsi. Il condizionale è infatti d'obbligo, dato che (come abbiamo visto a proposito dei
formati di file7), non tutti gli enti di normazione vi fanno riferimento in maniera integrale e
costante.
2.2
Fasi di un processo di standardizzazione
Ogni ente di standardizzazione stabilisce proprie norme, adotta proprie procedure e segue
proprie prassi per la formalizzazione di uno standard. Tuttavia in quasi tutti i processi è
possibile ritrovare un paradigma comune su cui possiamo fondare la nostra analisi. Secondo il
modello proposto dall'ISO8, ogni processo si sviluppa in linea di massima secondo tre grandi
fasi:
•
segnalazione e valutazione della necessità dello standard; 9
•
ricerca e consolidamento del consenso sulle caratteristiche dello standard; 10
•
approvazione formale e pubblicazione del documento. 11
«Ciò che si persegue non è solo un accordo, una validità pubblica di tipo utilitaristico, ma la piena accettazione del risultato cui si è pervenuti da parte del gruppo impegnato nel lavoro normativo, rappresentativo della comunità nel suo complesso.» UNI (a cura di), Le regole del gioco, UNI, 2006 (pag. 22), disponibile on­line alla pagina www.uni.com/uni/controller/it/chi_siamo/regole_gioco.htm.
5
ibidem (pag. 26)
6
ibidem (pag. 26)
7
Aliprandi S., I formati documentali aperti, in Atti della III Conferenza Italiana Software Libero (Bologna, giugno 2009); disponibile online al sito www.confsl.org.
8
Si veda www.iso.org/iso/standards_development/ processes_and_procedures/how_are_standards_developed.htm.
9
«The need for a standard is usually expressed by an industry sector, which com­municates this need to a national member body. The latter proposes the new work item to ISO as a whole. Once the need for an International Standard has been recognized and formally agreed, the first phase involves definition of the technical scope of the future standard. This phase is usually carried out in working groups which comprise technical experts from countries interested in the subject matter.» ibidem
10
«Once agreement has been reached on which technical aspects are to be covered in the standard, a second phase is entered during which countries negotiate the detailed specifications within the standard. This is the consensus­
building phase.» ibidem
11
«The final phase comprises the formal approval of the resulting draft International Stan­dard (the acceptance criteria stipulate approval by two­thirds of the ISO members that have participated actively in the standards development process, and approval by 75% of all members that vote), following which the agreed text is published as an ISO International Standard.» ibidem
4
Pagina 4
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Secondo altra fonte12, la realizzazione di una norma internazionale può essere invece
articolata come segue:
•
proposta della norma e valutazione della sua necessità;
•
preparazione di una bozza di norma;
•
ricerca del consenso sulla base della bozza;
•
inchiesta, ovvero una fase in cui il progetto di norma viene diffuso anche all'esterno
della cerchia dei soggetti coinvolti nel processo per raccogliere osservazioni, critiche,
obiezioni o consensi;
•
approvazione della norma nel suo testo definitivo da parte dell'ente di normazione;
•
pubblicazione della norma ufficiale;
•
eventuale fase di revisione della norma, dovuta a particolari richieste ed esigenze
emerse dopo la sua pubblicazione.13
Si può facilmente notare che questo secondo schema non fa altro che dettagliare
maggiormente quello precedente.
Nella maggior parte dei casi i lavori di redazione della bozza di norma tecnica vengono svolti
all'interno di commissioni tecniche e gruppi di lavoro formati da «esperti che rappresentano
le parti economiche e sociali interessate (produttori, fornitori, clienti, utilizzatori, distributori,
centri di ricerca, consumatori, pubblica amministrazione...)» 14. Dunque, l'organismo di
normazione svolge più che altro una funzione di coordinamento dei lavori e di messa a
disposizione della sua struttura organizzativa.
Infine, si tenga presente che sono sempre più frequenti i casi in cui gli enti di normazione
internazionale si trovano a far propria una norma già formalizzata da altri enti di normazione:
si parla in questo caso di una normazione di secondo grado. Ciò si verifica specialmente in
campi di applicazione molto complessi (quali sono appunto quelli del mondo ICT) per i quali
l'opera di standardizzazione richiede valutazioni tecniche lunghe e articolate e può essere
meglio gestita da enti di normazione specializzati; in questo modo l'ente di normazione
superiore potrà prendere in esame la norma ad uno stadio già avanzato per una semplice
rielaborazione e ratifica.
2.3
Pubblicazione e utilizzo degli standard
Il tema dell'utilizzo di strumenti informatici alternativi a quelli imposti dal mercato è per
vocazione un tema caro al settore pubblico, sia per ragioni di principio, sia per le ragioni di
concreta convenienza economica, sia per ragioni di opportunità tecnico-pratica. Una volta
formalizzati, gli standard si presentano sotto la forma di documenti testuali o ipertestuali
contenenti tutte le informazioni necessarie a ricalcarne e riprodurne il modello: cioè le
cosiddette specifiche dello standard. Dunque le aziende interessate a sviluppare un prodotto
conforme allo standard devono poter avervi accesso nel dettaglio.
UNI (a cura di), Le regole del gioco, UNI, 2006 (pag. 108).
Tra l'altro, nel caso di norme ISO, vi è una revisione periodica della norma che avviene almeno ogni cinque anni.
14
UNI (a cura di), Le regole del gioco, UNI, 2006 (pag. 25).
12
13
Pagina 5
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Salvo rare eccezioni (come avremo modo di verificare), i principali enti di standardizzazione
considerano la documentazione da essi realizzata come materiale a tutti gli effetti coperto
dalle tutele di diritto industriale (copyright e segreto). Ciò comporta che normalmente gli enti
di standardizzazione non diffondono la loro documentazione liberamente (tranne in alcuni
particolari casi, che vedremo nei prossimi capitoli) e, per accedervi, gli operatori interessati
devono versare una royalty e acquisire i necessari permessi.
Si legga a titolo esemplificativo quanto emerge dal sito di UNI in materia di condizioni di
accesso e utilizzo ai propri standard:
«Il cliente riconosce che: i prodotti sono di proprietà di UNI in
quanto titolare del copyright - così come indicato all'interno dei
prodotti - e che tali diritti sono tutelati dalle leggi nazionali e dai
trattati internazionali sulla tutela del copyright; tutti i diritti, titoli e
interessi nei e sui prodotti sono e saranno di UNI, compresi i diritti
di proprietà intellettuale.»15
Da ciò deriva appunto che l'ente di standardizzazione, vantando tali diritti di privativa, può
regolamentare l'accesso e l'uso (e indirettamente anche l'implementazione) da parte dei
soggetti interessati.16
Tuttavia è importante chiarire che queste considerazioni attengono più che altro alla fase
dell’accesso alla documentazione relativa allo standard e non alla fase (logicamente
successiva) dell’implementazione dello standard stesso. Infatti, oltre alle tutele giuridiche per
l’accesso alla documentazione di cui si è accennato, possono sussistere dei diritti di proprietà
industriale (tendenzialmente dei brevetti) sulle soluzioni tecniche contenute e descritte nello
standard. Di conseguenza, chi ha legittimamente acquisito tale documentazione può trovarsi
comunque nell’impossibilità di adottare e implementare lo standard, se non dietro pagamento
di un’ulteriore royalty ai titolari dei brevetti in esso contenuti.17
Si tratta di una distinzione davvero fondamentale per comprendere le problematiche
giuridiche relative all’attività di normazione e di sviluppo tecnologico in generale. D’altro
canto, come mostreremo a breve, la gestione della proprietà intellettuale è non a caso uno
degli aspetti più delicati in fatto di standardizzazione.
Si tenga infine presente che gran parte degli introiti degli enti di normazione derivano – oltre
che dalle quote di iscrizione/partecipazione delle realtà ad essi associate o affiliate – proprio
dalla diffusione della documentazione relativa agli standard e dalla cessione in licenza dello
standard stesso per la sua implementazione da parte di soggetti (aziende e altri operatori del
settore) anche non coinvolti attivamente nel processo di standardizzazione.
http://webstore.uni.com/unistore/public/conditions.
A titolo di completezza è importante segnalare un interessante orientamento giurisprudenziale secondo cui alla documentazione prodotta dagli enti di normazione di matrice pubblica/governativa sia da applicare il disposto dell’articolo 5 della legge 633/1941, che esclude dalla tutela di diritto d’autore i testi degli atti ufficiali dello stato e delle pubbliche amministrazioni. Si legga a tal proposito la sentenza del caso Centro elettronico it. vs Soc. Hoepli ed., Corte appello Milano, 3 marzo 1995 (in Giust. civ. 1996, I, 203).
17
Come vedremo, alcuni autori stigmatizzano questo comportamento indicandolo come una minaccia a tutto il sistema della standardizzazione. Si veda a titolo di esempio la pregnante ricostruzione fatta da Carlo Piana a proposito del caso Rambus: www.piana.eu/rambus_ce.
15
16
Pagina 6
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3 GLI ENTI DI NORMAZIONE E IL LORO FUNZIONAMENTO
Gli enti di normazione (anche detti in Inglese “standard setting organizations”) sono
«organizzazioni spontanee di natura privata, finalizzate alla definizione di standard tecnici
che permettono di ottenere la compatibilità tra prodotti o servizi realizzati da diverse
imprese.»18
Tali enti svolgono attualmente un ruolo davvero centrale per lo sviluppo industriale e
tecnologico, con ripercussioni sostanziali a livello macroeconomico e politico; dunque è
importante comprenderne i meccanismi di funzionamento.
3.1
Natura giuridica e funzionamento
Come già accennato ci si sta dirigendo sempre di più verso enti di normazione di natura
spontanea, creati per iniziativa delle stesse aziende interessate alla fissazione di un
determinato standard.
Dal punto di vista della natura giuridica, il diritto italiano tende a ricondurre tali enti (con le
dovute specificazioni) generalmente al modello consortile.
Per il diritto privato (si veda l'art. 2602 Cod. Civ.) si ha un consorzio quando più
imprenditori, per mezzo di apposito contratto, costituiscono «un'organizzazione comune per
la disciplina o per lo svolgimento di determinate fasi delle rispettive imprese.»
In verità, a seconda dei contesti giuridici di riferimento e dell'evoluzione storica dei vari enti,
gli enti di standardizzazione hanno denominazioni differenti: consorzio, comitato, istituto,
associazione o, con tono ancora più asettico, ente.
Tuttavia, al di là della loro precisa qualificazione giuridica (non così essenziale ai fini
pratici), possiamo con certezza inquadrare tali realtà associative (e quindi anche i loro
meccanismi di funzionamento) nell'humus del diritto privato contrattuale e del diritto
commerciale.
Come tutti gli enti di tipo associativo anche gli enti di normazione fondano il loro
funzionamento sulle disposizioni contenute nei propri statuti. Fra queste disposizioni
assumono particolare rilevanza quelle relative alle condizioni di ingresso, ai meccanismi di
voto, all'organizzazione interna, alle sanzioni per eventuali violazioni dello statuto o dei
regolamenti emessi dall'ente. Sarà proprio l'analisi degli statuti dei vari enti che ci permetterà
di valutare il loro approccio all'attività di normazione e l'autorevolezza (e l'apertura) degli
standard da essi prodotti.
3.2
I tre livelli della normazione: nazionale, europeo, internazionale
La normazione si divide tradizionalmente in tre livelli relativi all'ambito di applicazione dello
standard e all'area di competenza dell'ente che se ne occupa.
Calderini M., Giannaccari M., Granieri A., Standard, proprietà intellettuale e logica antitrust nell'industria dell'informazione, Il Mulino, 2005 (pag. 28).
18
Pagina 7
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
a) livello nazionale
Quasi tutti i paesi del mondo industrializzato possiedono uno o più enti nazionali di
standardizzazione19, che si occupano di rilasciare standard concepiti per il contesto nazionale
e non necessariamente in un'ottica internazionale. In ambito europeo si può affermare che
ogni paese dell'Unione registra la presenza di almeno un ente interno di standardizzazione.
Soffermandoci sul caso italiano, nel nostro paese le due principali realtà dedicate a questa
funzione sono l'Ente Nazionale Italiano di Unificazione (comunemente abbreviato in UNI) e
il Comitato Elettrotecnico Italiano (comunemente abbreviato in CEI).
L'UNI, come si estrapola dal sito istituzionale (www.uni.com), «è un'associazione privata
senza scopo di lucro, i cui soci, oltre 7000, sono imprese, liberi professionisti, associazioni,
istituti scientifici e scolastici, realtà della Pubblica Amministrazione.» 20 Mentre i suoi campi
di attività possono essere suddivisi in tre aree: elaborare norme che vengono sviluppate da
organi tecnici ai cui lavori partecipano tutte le parti interessate (assicurando così trasparenza
e condivisione nel processo); rappresentare l'Italia nelle attività di standardizzazione a livello
mondiale ed europeo; pubblicare e diffondere le norme tecniche ed i prodotti editoriali ad
esse correlati, sia direttamente, sia attraverso appositi centri di informazione e
documentazione, sia tramite Internet.
L'UNI svolge un ruolo centrale per il settore industriale italiano, sia per l'attività interna, sia
per la gestione dei rapporti con i principali enti internazionali di standardizzazione: essa
infatti partecipa, in rappresentanza dell'Italia, all'attività normativa di organismi come ISO e
CEN. Infine, si tenga presente che fra i suoi soci sono presenti altri enti di standardizzazione
che possono essere considerati a tutti gli effetti come federati di UNI e che operano ciascuno
in uno specifico settore industriale o merceologico: ai fini della nostra analisi, si segnala
principalmente UNINFO che appunto si occupa di tecnologie informatiche e loro
applicazioni.21
L'UNI, con l'ausilio degli enti federati, opera in tutti i settori industriali, commerciali e del
terziario ad esclusione di quello elettrico ed elettrotecnico che sono invece competenza del
CEI. Come emerge dal sito ufficiale www.ceiweb.it le finalità istituzionali di questo ente
sono la promozione e la diffusione della cultura tecnica e della sicurezza elettrica. A tale
scopo «il CEI sviluppa una serie di attività normative e prenormative a livello nazionale ed
internazionale che includono, oltre alla redazione dei documenti normativi e al recepimento
delle direttive comunitarie e dei documenti armonizzati, azioni di coordinamento, ricerca,
sviluppo, comunicazione e formazione in sinergia con le parti coinvolte nel processo
normativo.»22
Ai lavori di ricerca e normazione del CEI partecipano oltre 3.000 esperti attivi in prima linea
nel settore e provenienti da ministeri, enti pubblici e privati, università, laboratori di ricerca,
industrie costruttrici e utilizzatrici, associazioni di categoria.
Un elenco abbastanza completo dei principali enti nazionali di standardizzazione è disponibile alla pagina web www.aib.it/aib/lis/s.htm.
20
www.uni.com/uni/controller/it/chi_siamo/ruolo_uni.htm.
21
Maggiori informazioni alla pagina web www.uninfo.polito.it/present.htm del sito ufficiale di UNINFO, dove si legge: «Rientrano nel suo campo di attività i sistemi di elaborazione e di trasmissione delle informazioni e le loro applicazioni nelle più diverse aree, quali, ad esempio, le attività bancarie, le carte intelligenti, la telematica del traffico, l'automazione industriale. In questo ambito l'UNINFO, ente federato all'UNI, opera con delega UNI, a livello nazionale ed internazionale e rappresenta l'Italia presso l'ISO, l'ISO/IEC JTC 1 e il CEN».
22
www.ceiweb.it/Frame02.htm?Settore=Chi&Finestra=presenta.html.
19
Pagina 8
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
b) livello europeo
A livello europeo è il caso di citare il Comitato europeo di normazione (abbreviato
comunemente in CEN e noto anche come “European Committee for Standardization”) 23, il
quale si occupa di coordinare e monitorare le attività di standardizzazione in ambito europeo
e lavora in accordo con le politiche dell'Unione Europea stessa e dell'EFTA. 24 L'attività del
CEN, unita e integrata con quella di altri due enti di pari rilevanza ma con diverse
competenze, costituisce quello che è chiamato “Sistema europeo per la normalizzazione
tecnica”: questi due enti sono l'Istituto europeo per gli standard nelle telecomunicazioni
(abbreviato comunemente in ETSI dal nome inglese European Telecommunications Standard
Institute)25 e il Comitato Europeo di Normazione Elettrotecnica (abbreviato comunemente in
CENELEC dal nome francese Comité Européen de Normalisation Electrotechnique). 26
Altro importante ente a livello europeo, di cui avremo modo di narrare le vicende nei
prossimi capitoli, è la ECMA International (dove l'acronimo sta per European Computer
Manufacturers Association), un’associazione fondata nel 1961 e impegnata nella
standardizzazione nel settore informatico e dei sistemi di comunicazione. 27
c) livello internazionale
Al di là dei confini europei sono invece attive alcune grandi organizzazioni competenti a
rilasciare standard riconosciuti a livello globale e definiti appunto standard internazionali.
Come già accennato, la realtà principale in assoluto è l'Organizzazione internazionale per le
standardizzazioni (comunemente abbreviata in ISO) 28, la quale collega e coordina l'attività
degli enti nazionali di standardizzazione di ben 157 paesi, fra cui appunto l'UNI per l'Italia.
L'ISO ricopre un ruolo centrale nell'economia e nella politica economica mondiali (come
traspare dal motto presente sul sito ufficiale “International Standards for Business,
Government and Society”); e benché essa si autodefinisca un'organizzazione non
governativa, «la sua capacità di stabilire standard che diventano leggi attraverso accordi e
trattati la rende molto più potente di molte ONG e in pratica agisce come consorzio con forti
legami con i governi.»29
Gli standard ISO hanno la caratteristica di essere contrassegnati da una sigla che li rende
identificabili a livello internazionale; ogni sigla è composta dal prefisso ISO, da un numero e
dall'anno di pubblicazione dello standard, cioè un paradigma come questo: “ISO 9999:aaaa”.
Spesso tale sigla è seguita da un titolo, cioè una breve descrizione dello standard. Un esempio
piuttosto conosciuto è quello dello standard “ISO 9001:2008 - Gestione della qualità” 30;
Il sito istituzionale del CEN è www.cen.eu.
European Free Trade Association (Associazione europea di libero scambio), ente fondato nel 1960 come alternativa per gli stati europei che non volevano entrare nella Comunità Economica Europea, ora Unione Europea. Il suo sito ufficiale è www.efta.int.
25
Ente con sede a Sophia Antipolis (Francia), fondato nel 1988 dalla Conferenza Europea per le Poste e Telecomunicazioni (CEPT); il suo sito istituzionale è www.etsi.org.
26
Ente con sede a Bruxelles (Belgio), fondato nel 1973 e responsabile della norma­lizzazione europea nell’area dell’ingegneria elettrica; il suo sito istituzionale è www.cenelec.org.
27
Il suo sito istituzionale è www.ecma­international.org.
28
In verità, il termine ISO non è un vero e proprio acronimo, nonostante in inglese l'ISO venga chiamata International Standards Organization. Il termine ISO deriva invece dal greco isos che significa “uguale”, quindi uniforme, standard.
29
http://it.wikipedia.org/wiki/ISO.
30
Cioè il famoso codice IBAN (International Bank Account Number) che ci viene richiesto per le operazioni bancarie. Maggiori informazioni alla pagina web http://it.wikipedia.org/wiki/ISO_13616.
23
24
Pagina 9
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
oppure quello dello standard “ISO 13616:2007 - Codici bancari di conto corrente”; oppure
ancora quello dello standard “ISO 2108:1970 - Standard internazionale di numerazione dei
libri”.31
L'ISO, in materia di standard per elettricità, elettronica e tecnologie correlate, è affiancata
dalla Commissione Elettrotecnica Internazionale (abbreviata comunemente in IEC dal suo
nome inglese International Electrotechnical Commission) 32, ente di antica fondazione (1906)
a cui fanno capo circa sessanta paesi e che ricopre anche un ruolo fondamentale
nell'armonizzazione delle unità di misura.
In un altro settore parallelo alle aree di competenza di ISO ed IEC opera l'Unione
Internazionale delle Telecomunicazioni (abbreviata comunemente in ITU dall'inglese
International Telecommunication Union) 33, la cui sezione standardizzazioni è denominata
ITU-T. L'ITU fu fondata già nel 1865 e dal 1947 è una delle agenzie specializzate delle
Nazioni Unite; la prima sede è stata a Parigi, mentre l'attuale sede è a Ginevra.
I suoi standard rappresentano la base di riferimento delle attuali tecnologie di comunicazione
e informazione. «Sviluppate da gruppi di studio costituiti da esperti sia del settore pubblico
che privato, le raccomandazioni I.T.U. aiutano a gestire il traffico globale delle informazioni
permettendo un armonico sviluppo sociale ed economico in tutto il mondo.» 34
4 PRINCIPALI PROBLEMATICHE IN MATERIA DI
STANDARDIZZAZIONE
Cercheremo in questi prossimi paragrafi di mettere a fuoco le principali problematiche che la
letteratura scientifica (principalmente di taglio giuridico-economico) ha sollevato in materia
di standardizzazione. Si tratta, più che di argomentazioni complete, di inquadramenti generali
e di spunti di riflessione, rimandando ad altre fonti più specialistiche il loro approfondimento.
4.1
Standard e innovazione tecnologica
Dalle considerazioni fin qui effettuate pare emergere una generale virtuosità e auspicabilità
della standardizzazione. Potremmo quindi arrivare presto ad affermare che avere degli
standard di riferimento predefiniti sia sempre e a priori un beneficio per lo sviluppo di
tecnologia. In realtà gli osservatori più attenti fanno notare che la questione è più complessa.
Nel momento in cui fissiamo uno standard, quand’anche ciò avvenga con i procedimenti più
concertati e trasparenti possibili, stiamo cercando di cristallizzare un determinato modello di
riferimento a cui per un certo periodo dovrà conformarsi lo sviluppo di quella specifica
tecnologia. Ma d'altro canto sappiamo che lo sviluppo tecnologico è oggetto di una continua
quanto veloce evoluzione e perciò quel tentativo di cristallizzazione sarebbe comunque
travolto dalla corrente di questo fiume in piena. In altre parole, sarebbe solo una fotografia
dello stato dell’arte e della tecnica al momento della fissazione dello standard, e poco più.
Ovvero l'International Standard Book Number, il codice identificativo che ogni libro in commercio dovrebbe possedere per essere individuato su scala internazionale e dal quale si trae il codice a barre presente sul retro­
copertina dei libri.
32
Il sito istituzionale dell'IEC è www.iec.ch.
33
Il sito istituzionale dell'ITU è www.itu.int.
34
http://it.wikipedia.org/wiki/International_Telecommunication_Union.
31
Pagina 10
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
L’attività di standardizzazione deve quindi tener conto di queste dinamiche e porsi in
un’ottica fluida e prospettica, altrimenti rischia di trasformarsi in un freno all’innovazione
invece che fungere da incentivo. I soggetti coinvolti nel processo di standardizzazione
devono compiere valutazioni rivolte al medio-lungo periodo in modo che lo standard possa
essere realmente la base, il punto di partenza per una serie di soluzioni tecnologiche
innovative basate su di esso.
È per questo che nella maggior parte dei casi si giunge a considerare un modello tecnologico
come uno standard quando si tratta di una tecnologia sufficientemente matura e conosciuta.
Mario Calderini ci pone di fronte al fatto cruciale che nell'attività di standardizzazione è
implicita la coesistenza fra due forze opposte che devono essere tenute il più possibile in
equilibrio, se si vuole procedere realmente nella direzione di una maggiore neutralità e
innovazione tecnologica:
«Da un lato, il classico problema legato alle attività di
standardizzazione: assicurare che i processi di convergenza sugli
standard giungano a compimento con esiti efficienti (la selezione
della tecnologia migliore) nel minor tempo possibile. Dall'altro,
[…] garantire una virtuosa coesistenza delle necessità di apertura e
interoperabilità delle piattaforme con l'esigenza di definire un
contesto competitivo fertile all'attività innovativa». 35
Come corollario di questo rischio, ve n'è un altro: un sistema di standardizzazione non ben
congegnato può infatti portare a situazioni di stallo e irrigidimento del mercato, per le quali il
superamento di uno standard ormai obsoleto a favore di uno più moderno può essere frenato
da ragioni squisitamente strategiche. D'altronde, quando uno standard è ben radicato, nel
senso che è ampiamente adottato dalle aziende e altrettanto ampiamente ricercato dai
consumatori, si crea una naturale inerzia che rende particolarmente difficile sostituirlo con
uno nuovo anche se tecnologicamente superiore e innovativo.
Toccando uno dei temi chiave di questo libro, Andrea Giannaccari sottolinea con estrema
efficacia che «le positive esternalità di rete possono risolversi in elevate barriere all'entrata –
sapientemente modellate da strategie di lock-in – con il rischio (tutt'altro che remoto) che la
pratica conduca ad una chiusura oligopolistica e che ciò metta fuori gioco o ritardi l'ingresso
di tecnologie superiori». 36
4.2
Attività di normazione e gestione della proprietà intellettuale
La crescente necessità di standardizzazione che si rileva in un settore ICT come quello attuale
portato sempre più verso la ricerca di convergenza e integrazione tecnologica, rimette in
discussione pesantemente alcuni dei paradigmi classici della proprietà intellettuale.
Ciò dipende dal fatto che (come fa notare attentamente Massimiliano Granieri) l'attività di
standardizzazione si nutre di «un'apparente contraddizione» 37 per la quale partecipare alla
Calderini M., Giannaccari M., Granieri A., Standard, proprietà intellettuale e logica antitrust nell'industria dell'informazione, Il Mulino, 2005 (pag. 17). 36
ibidem (pag. 91).
37
Così si esprime Granieri all'inizio del primo capitolo del libro: «La disciplina delle priva­tive in rapporto alle tecnologie soggette a processi di standardizzazione rappresenta una delle ultime frontiere del diritto industriale. Si tratta di un aspetto che, a ben vedere, si alimenta di un'apparente contraddizione, poiché il regime proprietario 35
Pagina 11
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
definizione di uno standard implica necessariamente per le imprese coinvolte “giocare a carte
scoperte”, nel senso di condividere con gli altri soggetti coinvolti nel processo il proprio
know-how relativo alla tecnologia che si sta esaminando in vista della sua normazione.
Ovviamente nel concetto di know-how in senso più ampio, oltre ai vari segreti aziendali che
caratterizzano qualsiasi attività di progettazione e sviluppo tecnologico, si contemplano anche
(anzi soprattutto) diritti di privativa industriale come i brevetti e i diritti d'autore.
Questo “scoprire le carte” viene chiamato tecnicamente “IPRs disclosure” (dove IPRs sta per
Intellectual Property Rights) e rappresenta davvero uno dei punti chiave nell'attività di
normazione. È infatti fondamentale che i detentori di diritti di privativa industriale si pongano
il più possibile in un'ottica collaborativa e di massima trasparenza, dichiarando fin da subito
la titolarità di diritti sulle soluzioni tecniche oggetto della standardizzazione e impegnandosi a
non fare usi strategici di questi strumenti di tutela giuridica. Si pensi infatti al caso (non così
raro, tra l'altro) in cui una delle aziende coinvolte nel processo di normazione tenesse
nascosta agli altri soggetti coinvolti la titolarità di un brevetto su una parte delle tecnologia
oggetto dello standard; e rivelasse solo a standard formalizzato e pubblicato la sussistenza di
questi suoi diritti esclusivi, richiedendo royalty o addirittura minacciando azioni legali nei
confronti degli altri soggetti. Sarebbe un comportamento piuttosto scorretto dal punto di vista
etico e concorrenziale, ma soprattutto pericoloso per tutto il sistema della normazione, che
rischierebbe di andare in stallo troppo facilmente e di vedere elusa la sua finalità essenziale di
creare una piattaforma virtuosa per l'innovazione e l'interoperabilità.
È per questo che i più autorevoli enti di normazione prevedono policy trasparenti e coerenti in
materia di proprietà intellettuale.38
Inoltre si consideri che spesso lo standard, dopo esser stato formalizzato, potrà contenere a
sua volta soluzioni tecniche protette da diritti di privativa ed è fondamentale scongiurare il
rischio che l'adozione dello standard “a valle” da parte di operatori estranei al processo di
standardizzazione si trasformi in una specie di “trappola” 39, con pesanti conseguenze dal
punto di vista legale.40
Questo uso strumentale della proprietà intellettuale è secondo alcuni autori di primaria
importanza per il funzionamento degli standard e secondo alcuni autori rischia, se non
monitorato debitamente, di trasformarsi in una sorta di “patologia” capace di svilire l’intero
sistema della normazione.41
connesso con la disciplina della proprietà intellettuale si confronta con il carattere tendenzialmente “aperto” degli standard come tecnologie la cui condivisione rappresenta una condizione di accesso al mercato». ibidem (pag. 17).
38
«Il fatto che diverse tecnologie tutelate da diritti di proprietà intellettuale vengano inserite in uno standard può rendere più agevole il processo innovativo, ma può dar luogo a condotte strategiche da parte di chi detiene le privative. […] Il modo con cui le standard setting organizations fronteggiano gli aspetti legati alla gestione dei diritti di proprietà intellettuale risulta di vitale importanza.» ibidem (pag. 100).
39
Alcuni parlano non a caso di “patent ambushes”. Per approfondire questo argomento si legga Hueschelrath, Patent Ambushes in Standars Setting Organizations. Implications for Antitrust Policy and the Design of IP Rules, AEA, 2008 (www.aea­eu.net/2008Tokyo/DOCUMENTS/Publication/Abstract/HUSCHELRATH.pdf); oppure Farrell, Hayes, Shapiro, Sullivan, Standard Setting, Patents, and Hold­Up, 74 Antitrust Law Journal No. 3 (2007); o più semplicemente http://en.wikipedia.org/wiki/Patent_ambush.
40
«È evidente che la scoperta dell'esistenza di un brevetto molto tardi nelle fasi di sviluppo del prodotto o dell'applicazione pone lo sviluppatore dell'innovazione a valle in una condizione di estrema debolezza contrattuale». Calderini M., Giannaccari M., Granieri A., Standard, proprietà intellettuale e logica antitrust nell'industria dell'informazione, Il Mulino, 2005 (pag. 25).
Pagina 12
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
4.3
Attività di normazione e concorrenza
Anche senza essere esperti di diritto antitrust non è difficile intuire come organizzazioni in
cui le aziende si accordano sugli sviluppi nel mercato scambiandosi informazioni e stabilendo
espressamente tempi, modi e prezzi, vengano osservate con particolare attenzione dalle
autorità preposte a garantire la concorrenza del mercato. Qualcuno ha detto
emblematicamente che gli enti di standardizzazione possono generare «cortocircuiti alle
dinamiche concorrenziali»42 proprio per questa loro caratteristica.
In ambito europeo la norma che per antonomasia viene chiamata in causa è l'art. 81 del
Trattato CE espressamente dedicato agli accordi fra imprese (detti anche “cartelli”).
Il primo e il secondo paragrafo sembrano abbastanza perentori nell'applicazione del divieto e
gran parte delle fattispecie citate sembrano proprio coinvolgere anche gli enti di normazione.
«1. Sono incompatibili con il mercato comune e vietati tutti gli
accordi tra imprese, tutte le decisioni di associazioni di imprese e
tutte le pratiche concordate che possano pregiudicare il commercio
tra Stati membri e che abbiano per oggetto e per effetto di impedire,
restringere o falsare il gioco della concorrenza all'interno del
mercato comune ed in particolare quelli consistenti nel:
a) fissare direttamente o indirettamente i prezzi d'acquisto o di
vendita ovvero altre condizioni di transazione;
b) limitare o controllare la produzione, gli sbocchi, lo sviluppo
tecnico o gli investimenti;
c) ripartire i mercati o le fonti di approvvigionamento;
d) applicare, nei rapporti commerciali con gli altri contraenti,
condizioni dissimili per prestazioni equivalenti [...].
2. Gli accordi o decisioni, vietati in virtù del presente articolo, sono
nulli di pieno diritto.»
A stemperare tale divieto vi è però il paragrafo terzo che pare esser stato scritto proprio per
salvaguardare l'esistenza di pratiche virtuose di accordo fra imprese, quali appunto
dovrebbero essere quelle relative alla normazione.
Si legga la stigmatizzazione effettuata da Piana a proposito del caso Rambus: «Ghosts haunt the standardization process. They go by several names and come in different forms: “standards abuse”, “standards hijacking”, “patent ambush”, “royalty ambush”, “patent trolling”. The standardization world has never been so much under fire. Some companies try to bend the standardization process to fit their own selfish interest, without any regard for the common weal. Some others just sit and wait until some of their patent claims are “necessarily infringed” by a standard, the industry is locked in, and then pass the hat to collect the high toll that standard­abiding companies are forced to pay, in spite of the licensing rules of the standard setting bodies (SSB) that would require Reasonable And Non Discriminatory conditions (RAND) as a prerequisite for inclusion of any patented contribution into the standard. Others do the same, but in addition they actively seek to seed the standards with their own patented technology.» Piana C., Rambus and patents in standards, 2009; disponibile online al sito www.piana.eu/rambus_ce.
42
Giannaccari M. e Granieri A., Standardization, Intellectual Property Rights and the Evolution of the Information Industry in Europe (2003), disponibile on line alla pagina www.fondazionerosselli.it/DocumentFolder/Key_Wireless.doc.
41
Pagina 13
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
«3. Tuttavia, le disposizioni del paragrafo 1 possono essere
dichiarate inapplicabili:
a qualsiasi accordo o categoria di accordi fra imprese,
a qualsiasi decisione o categoria di decisioni di associazioni di
imprese,
a qualsiasi pratica concordata o categoria di pratiche concordate,
che contribuiscano a migliorare la produzione o la distribuzione dei
prodotti o a promuovere il progresso tecnico o economico [...].»
Ciò significa che la Comunità Europea può di volta in volta considerare leciti accordi fra
imprese che siano ritenuti non pericolosi per l'equilibrio concorrenziale ed esentare i singoli
casi dall'applicazione del divieto di cui al paragrafo primo dell'art. 81.
Non a caso infatti la Commissione Europea si preoccupa di fornire regolarmente indicazioni
su come applicare le condizioni previste dall'art. 81, in modo da «aiutare le imprese a
distinguere tra gli accordi compatibili con le regole della concorrenza e quelli che non lo
sono. Un esempio sono le linee direttrici per la valutazione degli accordi orizzontali
(principalmente tra concorrenti) e degli accordi verticali (come gli accordi di distribuzione)».
Inoltre, al di là di questo inquadramento generale nel campo di applicazione dell'art. 81,
sussistono problematiche specifiche e sicuramente più complesse, come principalmente
quelle che implicano trasversalmente i principi del diritto antitrust e il già citato uso
strategico dei diritti di privativa industriale nella gestione dell'attività di standardizzazione (si
pensi ad esempio a quello che tecnicamente viene definito “patent pooling” 43).
Ancora una volta è Granieri a mettere ottimamente a fuoco la questione e a ricordarci che
sussistono significativi profili di contatto e contrasto fra l'attività di standardizzazione, il
diritto della proprietà industriale e le norme collocate a presidio della concorrenza, «in quanto
il diritto sulla tecnologia non significa soltanto possibilità di attuare l'invenzione e
commercializzarla […], bensì controllo sulle possibilità di concorrenza nel mercato della
tecnologia e in quello a valle dei prodotti che della tecnologia stessa fanno uso.» 44
Inoltre, si tenga presente che, sempre in virtù della già citata differenza fra il modello USA e
il modello europeo, la questione dell'attrito fra standardizzazione e diritto della concorrenza
viene trattata con approcci giuridico-economici piuttosto differenti. Questo tuttavia è un
risvolto particolarmente complesso, per cui si rimanda alla lettura di fonti specialistiche per
un suo approfondimento.
«Il Patent Pool è un consorzio di almeno due compagnie e che si accordano per scambiarsi licenze brevettuali, relative ad una particolare tecnologia.» http://it.wikipedia.org/wiki/Patent_pool. Per approfondire l'argomento si legga l'interessante libro di Colangelo G., Mercato e cooperazione tecnologica. I contratti di patent pooling, Giuffrè, 2008.
44
Calderini M., Giannaccari M., Granieri A., Standard, proprietà intellettuale e logica antitrust nell'industria dell'informazione, Il Mulino, 2005 (pag. 33).
43
Pagina 14
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Bibliografia
Aa.Vv. (2008), Finalmente libero! Software libero e standard aperti per le pubbliche
amministrazioni, McGrawHill.
Aliprandi, S. (2008), Gli standard nel settore informatico: classificazioni e problematiche, in
Atti della II Conferenza Italiana Software Libero (Trento, maggio 2008); disponibili
online al sito www.confsl.org.
Aliprandi, S. (2009), I formati documentali aperti, in Atti della III Conferenza Italiana
Software Libero (Bologna, giugno 2009); disponibili online al sito www.confsl.org.
Calderini M., Giannaccari M., Granieri A. (2005), Standard, proprietà intellettuale e logica
antitrust nell'industria dell'informazione, Il Mulino.
Giannaccari M. e Granieri A. (2003), Standardization, Intellectual Property Rights and the
Evolution of the Information Industry in Europe; disponibile on line alla pagina
www.fondazionerosselli.it/DocumentFolder/Key_Wireless.doc
ISO/IEC (a cura di) (2004), Rules for the structure and drafting of International Standards
(ISO/IEC directives - part 2); disponibile on line al sito www.iec.ch/tiss/iec/DirectivesPart2-Ed5.pdf.
Moroni S. (1998), Le regole tecnonomiche, documento disponibile online al sito
www.giuri.unige.it/intro/dipist/digita/filo/testi/analisi_1998/Moroni1.rtf
Piana C. (2009), Rambus and patents in standards; disponibile online al sito
www.piana.eu/rambus_ce.
UNI (a cura di) (2006), Le regole del gioco, UNI; disponibile on-line alla pagina
www.uni.com/uni/controller/it/chi_siamo/regole_gioco.htm.
*************************************************************
Disclaimer sul regime dei diritti
Tutti i diritti sul presente articolo appartengono a Simone Aliprandi (www.aliprandi.org). L'opera
è rilasciata nei termini della licenza Creative Commons Attribuzione - Condividi allo stesso modo
Italia
2.5,
il
cui
testo
completo
è
accessibile
dall'indirizzo
web
http://creativecommons.org/licenses/by-sa/2.5/it/.
*************************************************************
Pagina 15
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
LE LICENZE PUBBLICHE DI RIUSO E IL SOFTWARE
LIBERO
Alma Roberto, Studio Legale DeTullio&Partners
De Tullio Michele Elio, Studio Legale DeTullio&Partners
Bodenham Paul, Studio Legale DeTullio&Partners
Abstract Il riuso del software consiste nella possibilità per le amministrazioni pubbliche di riutilizzare ed
eventualmente modificare un prodotto software o parti di esso realizzato da o per conto di un’altra
amministrazione pubblica. Riutilizzare un programma significa massimizzare il ritorno degli
investimenti sostenuti da un'amministrazione nella realizzazione di un determinato prodotto software.
Il legislatore, soprattutto alla luce delle recenti innovazioni normative contenute nel Codice
dell'Amministrazione Digitale (artt. 68 e 69), ha manifestato una chiara volontà di sostenere e
incentivare i progetti di riuso condotti dalle varie pubbliche amministrazioni.
Lo scopo del presente articolo è quello di analizzare, in particolare, le cd. Licenze Pubbliche di Riuso,
ovvero quei contratti di licenza destinati a disciplinare i diritti e gli obblighi reciproci delle
amministrazioni coinvolte in progetti di riuso. Tali licenze consentono di bilanciare l'interesse delle
amministrazioni che ricevono i programmi all'utilizzazione e alla modifica degli stessi con l'interesse
delle amministrazioni che cedono i programmi stessi alla protezione dei propri investimenti. Tale
bilanciamento viene attuato con una serie di previsioni e, soprattutto, con il divieto per le
amministrazioni riceventi di distribuire versioni “degradate” del programma, ovvero versioni lato
sensu peggiorative del programma originario.
L'avvio di progetti di riuso e la diffusione delle Licenze Pubbliche di Riuso pongono, tuttavia, alcuni
non trasurabili conflitti con il mondo del software libero. L'avvio di un progetto di riuso attualmente
presuppone che l'amministrazione goda della proprietà esclusiva sul programma. Ciò comporta,
inevitabilmente, l'esclusione del sofware libero da qualsivoglia progetto di riuso. Nell'articolo, invece,
si evidenzia che il software libero, alla luce delle ampie facoltà di utilizzo, modifica e redistribuzione
che attribuisce agli utenti (e quindi anche alla P.A) dovrebbe essere al centro di ogni progetto di
riuso. Pertanto, nell'assenza di preclusioni normative di sorta, non si vede la ragione per cui nei
bandi pubblici per il riuso si continui a richiedere la piena proprietà del software.
Al fine di incentivare l'utilizzo di software libero nei progetti di riuso, dovrebbe, però, valutarsi
l'opportunità di modificare le licenze libere e open source attualmente esistenti al fine di consentire la
successiva redistribuzione del programma (con le ulteriori modifiche) da parte di un'amministrazione
pubblica con la licenza di riuso. Tale licenza, infatti, contiene una serie di clausole che, da un lato,
consentono di rendere realmente efficiente il perseguimento di una strategia di riuso da parte della
P.A ma che, dall'altro, presentano dubbi profili di compatibilità con molte delle licenze libere e open
source più diffuse, le quali, infatti, richiedono che il programma sia successivamente redistribuito
negli stessi esatti termini della licenza originaria.
Solo attraverso una maggiore sensibilizzazione di tutti i soggetti coinvolti si potranno verificare le
condizioni necessarie per consentire l'avvio di progetti di riuso di software libero nella P.A. Ciò
potrebbe consentire sia una migliore allocazione delle risorse pubbliche sia una più capillare
Pagina 16
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
presenza del software libero all'interno amministrazioni pubbliche, rimuovendo, quindi, alcuni dei
tradizionali ostacoli che, fino ad oggi, ne hanno frenato la diffusione.
Parole Chiave: Riuso, Toscana, EUPL, amministrazione, software, licenza.
1 INTRODUZIONE
Il riuso del software è, ormai, un aspetto imprescindibile di qualsiasi efficace politica di egovernment. Nelle linee guida per il riuso delle applicazioni informatiche nelle
amministrazioni pubbliche il CNIPA ha definito il riuso come la possibilità di riutilizzare un
prodotto software e/o sue componenti realizzate da o per conto di un’amministrazione
pubblica nell’ambito di uno o più sistemi informativi di altre amministrazioni pubbliche 45.
Com’è stato autorevolmente chiarito – sotto il profilo operativo – il riuso del software può
essere inteso sia come il riutilizzo senza modifiche di prodotti già esistenti, sia come sviluppo
di nuovi prodotti per l’evoluzione e l’integrazione di componenti già realizzati 46.
In ogni caso – prescindendosi dalle specifiche modalità attuative del riuso 47 – qualsiasi
fattispecie presuppone l’esistenza di almeno due soggetti: un’amministrazione cedente e
un’amministrazione ricevente.
Il documento è reperibile sul sito del CNIPA http://www.cnipa.gov.
Cfr. FLICK C., CIGNONI G. A., AMBRIOLA V., Il riuso del software nella Pubblica Amministrazione, in Dir. Internet, 2008, p. 85. Gli autori evidenziano che, in entrambi i casi, il riuso è finalizzato a moltiplicare il ritorno degli investimenti dedicati allo sviluppo software. Esso costituisce una soluzione strategica per impiegare al meglio le risorse disponibili, dal momento che evita alla singola amministrazione di replicare la realizzazione di un prodotto già disponibile presso un’altra amministrazione, facendo, invece, convergere tali risorse su obiettivi di sviluppo ed evoluzione di nuovi prodotti, che possono essere condivisi e il cui livello tecnico può essere più agevolmente migliorato.
47
Cfr. LOSCO S., Il riuso informatico nelle Pubbliche Amministrazioni: normativa e prime esperienze in Istat, ISTAT, 2009, p. 15. L’autrice distingue tra: “Riuso a cessione semplice”; “Riuso con gestione a carico del cedente”; “Riuso con facility management”; “Cessione del software e attivazione di un servizio ASP” (Application Service Provider).
Per “Riuso a cessione semplice”, s’intende la cessione di un’applicazione a una certa data “nello stato in cui è”. Da tale momento le due amministrazioni provvedono, ognuna per proprio conto, al mantenimento ed all’evoluzione del software che ovviamente si disallineerà in breve tempo.
Per “Riuso con gestione a carico del cedente” s’intende una fattispecie di riuso caratterizzata dal mantenimento nel tempo della completa responsabilità dell’Amministrazione cedente nella manutenzione e nella gestione evolutiva del software, essendo riservato all’Amministrazione ricevente il solo onere della gestione operativa.
Per “Riuso con facility management” s’intende una fattispecie, analoga a quella immediatamente precedente, caratterizzata dall’attribuzione all’Amministrazione cedente dell’ulteriore onere costituito dall’esercizio delle applicazioni.
Per “Cessione del Software e attivazione di un servizio ASP” s’intende la cessione di un’applicativo a un’Amministrazione cedente, unitamente alla garanzia di un servizio di manutenzione, gestione ed esercizio dell’applicativo. Questo può essere erogato direttamente a cura dell’amministrazione cedente (ASP diretto) oppure fornito da un soggetto terzo (ASP con service provider).
45
46
Pagina 17
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Per amministrazione cedente, in generale, può intendersi quell’amministrazione che mette a
disposizione di altre amministrazioni, secondo diverse modalità, una o più applicazioni
informatiche (o parti di esse) di propria titolarità.
Per amministrazione ricevente, viceversa, deve intendersi l’amministrazione che riceve
applicazioni (o parti di esse) da altre amministrazioni e le adatta alle proprie esigenze tramite
l'impiego di risorse interne o realizzando tale adattamento tramite un’azienda esterna cui
viene commissionata l'attività (es. in base ad un contratto di appalto).
L’obiettivo del riuso è quello di consentire alle amministrazioni che ne facciano richiesta di
poter acquisire le applicazioni informatiche già realizzate da altre amministrazioni al fine di
utilizzarle ed, eventualmente, modificarle per renderle più adeguate al soddisfacimento delle
proprie esigenze.
Ciò consente, da un lato, di ottimizzare le risorse disponibili - evitando, attraverso il riuso
dei programmi già esistenti il dispendio delle risorse necessarie per lo sviluppo ex-novo dei
predetti applicativi - e, dall’altro, aumentare il grado d’interoperabilità tra i sistemi
informatici delle differenti Amministrazioni 48.
2 IL BACKGROUND NORMATIVO
Il riuso di programmi informatici è attualmente disciplinato dagli artt. 68 e 69 del Decreto
Legislativo 7 marzo 2005, n. 82 (Codice dell’Amministrazione Digitale). In particolare, l’art.
68, nel dettare una disciplina particolareggiata dell’acquisizione di programmi informatici da
parte della P.A – tenuta, com'è noto, a effettuare una preventiva valutazione comparativa
delle diverse soluzioni esistenti sul mercato (e tassativamente indicate dal medesimo art. 68)
– espressamente menziona fra le opzioni disponibili, il riuso dei programmi informatici
sviluppati per conto e a spese della medesima o di altre amministrazioni 49.
Inoltre, le amministrazioni che intendono acquisire un programma informatico devono –
nell’ambito delle procedure previste dal Decreto Legislativo 12 aprile 2006, n. 163 (Codice
dei Contratti Pubblici) – prendere in considerazione, oltre agli altri criteri specificamente
previsti50, anche il potenziale interesse di altre amministrazioni al riuso dei programmi
Sul punto si veda LOSCO S., op cit., p. 9., in cui si evidenzia che il riuso del software, oltre a consentire di razionalizzare le spese e di rendere più omogenee le componenti strumentali hardware e software in uso, è anche uno strumento di e­government dal momento che, da un lato, permette di condividere esperienze e criteri organizzativi e, dall’altro, rende possibile la fornitura di servizi uniformi e più efficienti agli stessi cittadini.
49
Tale possibilità era già stata introdotta dall’art. 3 comma 2 della Direttiva 19 Dicembre 2003 del Ministero per l’Innovazione e le Tecnologie in materia di “Sviluppo ed utilizzazione dei programmi informatici da parte delle pubbliche amministrazioni”. Tra le diverse soluzioni disponibili sul mercato viene indicato, infatti, alla lettera b.), il “riuso di programmi informatici sviluppati ad hoc per altre amministrazioni”. Allo stesso articolo si precisa che “in sede di scelta della migliore soluzione si tiene altresì conto del potenziale interesse di altre amministrazioni al riuso dei programmi informatici”.
50
Si rinvia sul punto all’ampia disamina svolta da BRAVO F., Software Open Source e Pubblica Amministrazione (L’esperienza europea e quella italiana tra diritto d’autore, appalti pubblici e diritto dei contratti. La EUPL), Bologna, 2009, pp. 86 ss. L’autore individua i criteri in base ai quali deve essere svolta l’analisi comparativa dei programmi. Infatti, le P.A, oltre a considerare il potenziale interesse delle altre amministrazioni al riuso dei programmi, sono tenute a privilegiare, secondo le disposizioni di cui agli articoli 3 e 4 della Direttiva M.I.T 2003: le soluzioni informatiche che assicurino l’interoperabilità e la cooperazione applicativa tra i diversi sistemi informatici della pubblica amministrazione; le soluzioni che rendano i sistemi non dipendenti da un unico 48
Pagina 18
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
informatici, alla valorizzazione delle competenze tecniche acquisite, alla più agevole
interoperabilità51.
Il favor del legislatore italiano per il riuso si rende ancor più esplicito dalla previsione del
successivo art. 69 (“Riuso dei Programmi informatici”) in cui è stato disposto che: le
pubbliche amministrazioni che siano titolari di programmi applicativi realizzati su specifiche
indicazioni del committente pubblico, hanno l’obbligo di darli in formato sorgente, completi
della documentazione disponibile, in uso gratuito ad altre pubbliche amministrazioni che li
richiedano e che intendano adattarli alle proprie esigenze, salvo motivate ragioni.
Tale disposizione, com’è stato sostenuto, influisce in maniera più che evidente sui contratti
che dovranno essere stipulati dalla P.A (attraverso la procedura di affidamento di cui al
Codice dei Contratti Pubblici) per commissionare a terzi lo sviluppo di specifici software52.
Nei successivi commi 2 e 3 dell’art. 69 si precisa, inoltre, che i programmi così sviluppati
devono essere facilmente portabili su altre piattaforme (comma 2) e che nei contratti di
sviluppo di software devono essere inserite apposite clausole volte a garantire alla P.A
committente il diritto di disporre dei programmi ai fini del riuso 53.
Infine, l’art. 69 comma 4 del Codice dell’Amministrazione Digitale, dispone che nei contratti
di acquisizione dei programmi informatici sviluppati per conto e a spese
dell’Amministrazione, le stesse possono includere clausole, concordate con il fornitore, che
lo obbligano, per un determinato lasso di tempo, a fornire, su richiesta di altre
amministrazioni, servizi che consentano il riuso delle applicazioni. Tali servizi, a titolo
fornitore o da un’unica tecnologia proprietaria; le soluzioni che garantiscano la disponibilità del codice sorgente; i programmi che esportino dati e documenti in più formati, di cui almeno uno di tipo aperto, nonché le soluzioni che presentino un “costo totale di possesso” e “un costo di uscita” inferiore. 51
Sempre BRAVO F., op cit, p. 72, precisa che il riuso può essere effettuato, indistintamente, con riferimento allo sviluppo di programmi di tipo “proprietario” (ad esempio, sviluppato per conto o a spese dell’amministrazione committente) o di tipo “open source” (ad es., quelli sviluppati nell’Ambiente di Sviluppo Cooperativo gestito e coordinato dal CNIPA).
52
Cfr BRAVO F., op cit, p. 73. L’autore descrive, con dovizia di particolari, la procedura di selezione aperta attraverso la quale le P.A individuano i soggetti cui affidare lo sviluppo dei programmi informatici. Si precisa che tali soggetti sono individuati all’esito di una valutazione preventiva della congruità delle offerte sia sotto il profilo del prezzo più basso che sotto quello dell’offerta economicamente più vantaggiosa”. In questo secondo caso, le offerte vengono valutate in base ad un complesso sistema di criteri, quali la qualità, il pregio tecnico, le caratteristiche esteriche e funzionali, le caratteristiche ambientali, il costo d’utilizzazione, la redditività, il servizio successivo alla vendita e l’assistenza tecnica, la data di consegna e il termine di consegna o di esecuzione.
53
Per una critica sul punto si veda BRAVO F., op cit, p. 73. L’autore rimane perplesso dalla portata della norma di cui al comma 3 dell’art. 69. Sostiene, infatti, che il diritto di disporre dei programmi ai fini del riuso, previsto nel comma 3 cit. come oggetto di clausola contrattuale, dovrebbe essere insito nei diritti già detenuti dalla P.A. in quanto “titolare” dei programmi applicativi realizzati su proprie indicazioni, come risulta dall’ampia formula utilizzata al comma 1.
Sul punto si vedano anche FLICK C., CIGNONI G. A., AMBRIOLA V., op cit., p. 89, i quali precisano che la P.A, in virtù dell’art. 2 comma 3 del Decreto Legislativo 12 febbraio 1993, n. 39, Norme in materia di sistemi informativi automatizzati delle amministrazioni pubbliche, conserva la titolarità dei programmi applicativi anche nel caso in cui affidi a terzi l’attività di progettazione, sviluppo e gestione dei sistemi informativi automatizzati. Ne consegue che il diritto di disporre del programma ai fini del riuso non necessiterebbe di alcuna pattuizione contrattuale ulteriore, essendo già ricompreso nell’alveo delle facoltà riservate spettanti ad essa, in quanto titolare dei diritti relativi ai programmi così sviluppati. Tale orientamento è inoltre conforme con quanto disposto dalla legge sul diritto d’autore, secondo cui alle amministrazioni dello Stato, alle province e ai comuni, spetta il diritto d’autore sulle opere create e pubblicate sotto il loro nome ed a loro conto e spese (art. 11). Pagina 19
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
esemplificativo, possono includere anche l'adattamento del programma al fine di renderlo
utilizzabile su una diversa piattaforma software o hardware.
In conclusione, deve, però, rilevarsi che l’operatività di queste disposizioni presuppone la
titolarità dei diritti esclusivi sul software in capo alla P.A. Al riguardo si precisa che la
questione è stata inizialmente affrontata dal Decreto Legislativo 12 febbraio 1993, n. 39 e
successive modificazioni. L'art. 2 del summenzionato Decreto precisa che le amministrazioni
– ove non provvedano con proprio personale alla progettazione, allo sviluppo ed alla gestione
dei propri sistemi informativi automatizzati – possono conferire affidamenti a terzi, anche
tramite concessione, conservando, in ogni caso, la titolarità dei programmi applicativi.
Inoltre, il successivo art. 12 dispone che fra gli elementi necessari dei capitolati contenenti le
condizioni generali dei contratti di fornitura di software che la P.A stipula con terzi deve, in
ogni caso, sussistere la dichiarazione che i titolari dei programmi applicativi sviluppati
nell'ambito dei contratti di fornitura siano le amministrazioni. In conclusione, la P.A sarà
titolare dei diritti esclusivi sul software sia quando commissioni a terzi lo sviluppo di
software ad hoc, sia quando acquisti tutti i diritti a seguito di cessione da parte del titolare.
Nella prassi, tuttavia, accade non di rado che le P.A, invece di acquisire programmi sviluppati
ad hoc, procedano con l’acquisizione di mere licenze d’uso dai titolari di prodotti software
commerciali54.
In tali casi, atteso che l'acquisizione di una semplice licenza d'uso relativa ad un determinato
programma non può certamente essere equiparata allo sviluppo ad hoc di un software su
indicazioni del committente pubblico, resterebbero, di fatto, inoperanti le sopra richiamate
previsioni normative, con particolare riferimento all'obbligo gravante sull'amministrazione di
fornire i programmi (sviluppati su proprie indicazioni) in formato sorgente unitamente alla
documentazione tecnica alle altre amministrazioni che ne facciano richiesta. Ciò, di
conseguenza, non può che paralizzare inevitabilmente il potenziale interesse delle altre
amministrazioni al riuso di quel determinato programma.
In aggiunta, va rilevato che il contratto di licenza d'uso, come è noto, concede al licenziatario
unicamente la facoltà di utilizzare il programma secondo le modalità definite dal licenziante
stesso. Tale facoltà, logicamente, non ricomprende anche la possibilità di studiare, esaminare,
modificare e ridistribuire il programma. Di conseguenza, il diritto di disporre del programma
ai fini del riuso – che implica l'esistenza in capo alla P.A della facoltà di studiare, esaminare,
modificare e ridistribuire il programma – dovrà, eventualmente, essere oggetto di specifica ed
ulteriore pattuizione contrattuale con il fornitore. 55
.
Tale possibilità è prevista dall’art. 68 lett. C) del Codice dell’Amministrazione Digitale che, infatti, permette espressamente alle P.A l’acquisizione di programmi informatici di tipo proprietario mediante ricorso a licenza d’uso. In tali casi, però, viene garantita, salvo pattuizione contraria, la disponibilità del solo codice oggetto e non anche del codice sorgente. La P.A, di conseguenza, non è posta in condizione di modificare il programma per adattarlo alle proprie esigenze.
55
Sul punto v. FLICK C., CIGNONI G. A., AMBRIOLA V., op cit, p. 89. Gli autori precisano, infatti, che, in tali casi, non si possa prescindere da un esplicita autorizzazione del titolare dei diritti esclusivi ovvero il fornitore. Si rileva, però, che tale ipotesi è di difficile realizzazione, dal momento che i fornitori, anche quando affermano genericamente di consentire il riuso da parte di amministrazioni diverse dai loro interlocutori, in realtà non permettono la modifica dei propri programmi.
54
Pagina 20
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3 LA LICENZA PUBBLICA DI RIUSO
Alla luce delle disposizioni normative e delle problematiche cui sopra si è fatto cenno,
emerge che la disciplina concreta dei rapporti tra amministrazione cedente ed
amministrazione ricevente, nell’ambito di una fattispecie di riuso di software, deve essere
contenuta in atti di autonomia privata, quali le cd. Licenze pubbliche di riuso 56.
Tali Licenze, infatti, sono nate per offire una disciplina ad hoc al riuso, al fine di consentire il
pieno raggiungimento degli obiettivi prefissati dall’amministrazione, bilanciando gli interessi
dei soggetti pubblici e privati alla modifica e redistribuzione del software con quello
dell’amministrazione cedente al ritorno degli investimenti sostenuti nello sviluppo del
softtware in questione57.
Ai fini di questo studio è stata analizzata la Licenza Pubblica di Riuso (versione 1.01)
predisposta dal Centro Regionale di Competenza per il Riuso della Toscana e che potrebbe
essere utilizzata quale modello al fine della elaborazione di una futura Licenza Pubblica di
Riuso condivisa a livello nazionale58.
Chiariscono, infatti, FLICK C., CIGNONI G. A., AMBRIOLA V, op cit, p. 88, che “affinché il riuso sia efficace è bene che tutti coloro che sono interessati possano intervenire per apportare le modifiche che poi saranno utili alla comunità dei riusatori, nell’ottica dell’evoluzione del prodotto. Ne consegue che il soggetto che dà in riuso un prodotto software deve avere la disponibilità dei diritti sul prodotto stesso. In altri termini, i profili giuridici del riuso attengono ai cd. diritti di proprietà intellettuale sul software ­ in particolare i diritti esclusivi di uso, modifica e distribuzione ­ derivanti all’autore dalla creazione di un prodotto software nuovo e originale”. La licenza di riuso è dunque quel determinato contratto di licenza con il quale l’amministrazione cedente (titolare dei diritti esclusivi sul software) concede all’amministrazione ricevente un fascio di diritti (di uso, di modifica e di eventuale redistribuzione) aventi ad oggetto il programma al fine di permettere il riuso a fini istituzionali.
57
Si veda l’ampia disamina svolta da CIGNONI G. A., e AMBRIOLA V., Riuso v. Open Source, un confronto necessario, atti di Pubblica Amministrazione Aperta e Libera ­ PAAL 2008, Cagliari, 17­18 aprile 2008, p. 4. Gli autori evidenziano, infatti, che la Licenza di Riuso appare necessaria per superare le criticità connesse all’utilizzazione delle Licenze libere e open source. Si prendono in considerazione tre ipotesi: la prima, in cui un’amministrazione ricevente modifica un programma OS, senza modificare la documentazione e inserendo dipendenze da programmi proprietari; la seconda, in cui un azienda terza riesce a installare sulle proprie macchine il programma OS e a vendere servizi aggiuntivi in modalità ASP, grazie alla sua rete commerciale; la terza, in cui un’amministrazione ricevente aggiunge nuovi sviluppi in modalità quick & dirty, rendendo, di fatto, tale programma incompatibile con i futuri sviluppi realizzati dal titolare. In questi casi si finirebbe, secondo gli autori, per pregiudicare la stessa possibilità di riutilizzare il prodotto in modo efficiente. Il programma di partenza, infatti, subirebbe delle modifiche che, oltre a non apportare alcun valore aggiunto, potrebbero anche menomare le stesse funzionalità del programma. Un ulteriore rischio sarebbe, inoltre, costituito dalla possibilità di finire per attribuire un non trascurabile vantaggio ad aziende private, le quali potrebbero appropriarsi del programma e fornire una serie di servizi aggiuntivi a pagamento, sfruttando, quindi, gli investimenti pubblici nel programma di partenza. CONTRA, invece, CORRADINI A., FLAGELLA T., Il paradigma open source nel contesto dell’attuale modello di riuso del software nella Pubblica Amministrazione Italiana, Atti della Conferenza Italiana sul Software Libero 2008, pp. 3 ss., i quali sostengono, invece, che sarebbe necessario rilasciare tali Programmi sic et simpliciter con licenze libere o open source.
58
La Regione Toscana ha definito la propria azione per il riuso nella Legge Regionale 1/2004 e successivamente nella Delibera di Giunta 1258/2005 che ha stabilito l'istituzione di un Centro Regionale di Competenza per il Riuso. Nel dicembre 2006 la Regione ha affidato, tramite selezione, l'attivazione del CRC.R al Dipartimento di Informatica dell'Università di Pisa, che partecipa al cofinanziamento del progetto. Come hanno rilevato FLICK C., CIGNONI G. A., AMBRIOLA, op cit., p 91, lo scopo del Centro Regionale di Competenza per il Riuso (CRCR) è, secondo le precise indicazioni della Regione Toscana, favorire il riuso nei processi di informatizzazione della Pubblica Amministrazione Toscana. alla Regione. Inoltre, esso definisce le linee strategiche e i criteri operativi per la valutazione e la certificazione della riusabilità dei prodotti e per la gestione di progetti di riuso; pubblica 56
Pagina 21
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
La predetta Licenza, in primo luogo, definisce i diritti e gli obblighi gravanti sul Titolare del
Programma (amministrazione cedente), sul Riusatore (amministrazione ricevente) e sugli
eventuali Fornitori, intesi come quei soggetti privati che, in qualsiasi modo, ricevono un
prodotto rilasciato con la Licenza di Riuso, e che, al solo fine di poter offrire ai riusatori
servizi di supporto al prodotto, hanno il diritto di studiarlo, modificarlo e redistribuirlo. Ci si
riferisce, in particolar modo, a quelle aziende che, sulla base di idonei contratti di appalto
stipulati con una o più amministrazioni, s'impegnano a fornire una serie di servizi, fra i quali,
a titolo esemplificativo, si segnalano la manutenzione correttiva e/o evolutiva di un
programma e il compimento delle modifiche necessarie atte a consentirne l'utlizzo su una
piattaforma diversa.
In particolare, il Titolare e gli eventuali Contitolari 59 concedono ai Riusatori (e ai Fornitori) il
diritto non esclusivo, a tempo indeterminato e a titolo gratuito, di studiare, modificare e
redistribuire il prodotto. Si può, quindi, concordare con chi ritiene che una delle principali
caratteristiche della Licenza Pubblica di Riuso in esame sia quella di “aprire” i programmi al
riuso, superando il meccanismo della preventiva richiesta del riusatore previsto nel Codice
dell’Amministrazione Digitale60.
Questa ampia libertà riconosciuta a riusatori e fornitori è controbilanciata da alcune
significative limitazioni:
a) ai Riusatori e ai Fornitori è vietato registrare il programma a proprio nome e/o
commercializzarlo (art. 6);
b) ai Fornitori è vietato utilizzare il programma per scopi applicativi propri e/o per fornire
servizi aggiuntivi a terzi (art. 7);
c) ai fornitori e ai riusatori è consentito creare programmi derivati ma la redistribuzione è
vietata qualora tale programma non sia rilasciato con la licenza di riuso e qualora tale
programma possa considerarsi degradato (art. 5 comma 4).
Tale ultimo divieto (quello di redistribuire un programma derivato degradato) costiuisce, ad
avviso di chi scrive, il cuore del bilanciamento di interessi alla base della Licenza Pubblica
di Riuso. Infatti, si considera programma degradato un programma derivato che, per le sue
rapporti periodici per documentare lo stato del riuso nella Pubblica Amministrazione toscana; fornisce alla Regione elementi strategici per promuovere il riuso, abbattendone i costi attraverso il miglioramento dei prodotti e la concentrazione degli interventi su specifiche aree tematiche; svolge attività di consulenza con servizi diretti alle amministrazioni locali, per la progettazione e la gestione di interventi di riuso o la realizzazione di prodotti riusabili. In particolare, il CRCR, mantiene il catalogo di prodotti riusabili, consultabile pubblicamente e contenente informazioni aggiornate sui prodotti software di certificata riusabilità e sui progetti che hanno realizzato o riusato prodotti presenti nel catalogo.
59
Per Contitolari si intendono i soggetti pubblici o privati che hanno collaborato, con un contributo identificato, allarealizzazione e/o all’evoluzione di un prodotto. L’art. 4 della Licenza precisa, inoltre, che i Contitolari sono titolari dei contributi che hanno fornito per la realizzazione e/o l’evoluzione del prodotto.
60
Cfr. CIGNONI G. A., e AMBRIOLA V., op cit., p. 4. Gli autori rilevano, infatti, che attraverso la Licenza di Riuso è la stessa P.A titolare del programma che rende disponibile il prodotto in tutte le sue componenti: sorgenti, dati di configurazione, eseguibili, dati e contenuti iniziali, documentazione per gli sviluppatori, per gli amministratori di sistema, per gli utenti. Inoltre, si evidenzia che, nonostante una così ampia “apertura”, è, in ogni caso, garantita la competizione alla pari per le aziende interessate a fornire servizi di assistenza, manutenzione e sviluppo.
Pagina 22
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
mutate caratteristiche tecniche, favorisce il riuso con minor efficacia del prodotto originario 61.
In particolare, sono prodotti degradati:
i) prodotti derivati che eliminano funzionalità che non sono obsolete né deprecate;
ii) prodotti derivati che introducono dipendenze da componenti esterne che non sono
rilasciate con la Licenza di Riuso o con una licenza a codice aperto;
iii) prodotti derivati che riducono il numero di di piattaforme tecnologiche sulle quali
possono essere installati ed eseguiti;
iv) prodotti derivati che non hanno aggiornato la documentazione per gli utenti, per
gliamministratori di sistema e per gli sviluppatori.
Interessante, inoltre, la previsione dell’art. 14 della licenza “clausola risolutiva espressa” che
prevede la risoluzione automatica della Licenza in caso di violazione di uno degli articoli
compresi tra il 3 e il 12. Non appena si produce l’effetto risolutivo – ferma restando la
necessaria la manifestazione di volontà del titolare diretta alla controparte per l’operatività
della clausola (ex. Art. 1456 c.c.) – ogni ulteriore atto di utilizzazione del Programma
costituisce violazione dei diritti d’autore e possibile fonte di responsabilità civile e penale.
Analoghe clausole sono, tuttora, presenti in molte Licenze libere e Open Source. Tuttavia, si
è sempre discusso circa la reale qualificazione giuridica delle stesse 62. Tali difficoltà possono
ritenersi del tutto superate con riferimento alla corrente Licenza di Riuso, atteso che la
clausola in esame è espressamente definita come una clausola risolutiva espressa.
4 CRITICITÀ
L’attuale disciplina del riuso presenta, tuttavia, alcuni non trascurabili profili di criticità.
Come è stato autorevolmente rilevato, sia gli attuali bandi per la fornitura di software su
commissione (anche ai fini del riuso), sia i bandi pubblici per il finanziamento dei progetti di
riuso di soluzioni di e-government, presuppongono che la P.A sia proprietaria dei software in
questione. Ad esempio, l’Avviso per la realizzazione di progetti di riuso pubblicato dal
CNIPA nel febbraio 2007 prevede risorse per 60 milioni di Euro per i progetti di riuso e
richiede che le soluzioni di e-Government proposte per il riuso debbano “essere di proprietà e
nella piena friubilità della pubblica amministrazione cedente”.
Rilevano giustamente CIGNONI G. A., e AMBRIOLA V, op cit., p. 5 che “La dimostrazione in sede giudiziale che, in un malaugurato caso, tali comportamenti siano effettivamente avvenuti è cosa che spesso dipende, più che dai fatti, dall’abilità di avvocati e periti nell’indirizzare l’interpretazione del giudice. E questo è un problema comune a tutto ciò che ha spiccati contenuti tecnici”.
62
Si discute in dottrina se possa qualificarsi questa clausola come condizione risolutiva o clausola risolutiva espressa, ma sembra più corretto parlare di essa come di una “delle tante modalità di tutela dell’opera dell’ingegno, che ampiamente condizionata, dai mezzi tecnologici di riproduzione e diffusione, ha la necessità di regolare automaticamente ed in ogni momento gli ampi interessi economici che si sostanziano nel possibile sfruttamento di qualsiasi esemplare”. SANSEVERINO G., Le licenze free e open source. Edizioni Scientifiche Italiane, 2007, pp. 104. ss. L’autore, infatti, rigetta la tesi secondo cui la clausola virale sarebbe una condizione risolutiva, dal momento che la condizione deve riguardare eventi esterni al contratto e non l’inadempimento. Al pari, secondo l’autore, tale clausola non potrebbe neppure essere considerata alla stregua di una condizione risolutiva espressa, in quanto essa dovrebbe concernere una o più obbligazioni specificamente individuate e non l’inadempimento di una qualsiasi obbligazione del contratto.
61
Pagina 23
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Un tale approccio costituisce un evidente limite alle stesse potenzialità del riuso, in quanto
non consente la realizzazione di fattispecie di riuso utilizzando come base di partenza una
soluzione software rilasciata con licenza libera o open-source.
Infatti, com’è stato autorevolmente rilevato, se un fornitore volesse rispondere ad una gara
che richiede una certa soluzione software, rielaborando un software open source preesistente,
non potrebbe cedere alla P.A la piena proprietà della soluzione complessiva realizzata, ma
potrebbe, invece, cedere la piena proprietà delle sole modifiche realizzate al software open
source di base. Inoltre, senza il requisito della piena proprietà dell’intera soluzione, una P.A
non potrebbe successivamente accedere ai finanziamenti per un progetto di riuso e, di fatto,
costituisce un ulteriore ostacolo alla realizzazione di fattispecie di riuso a partire da una base
open source63. Pertanto, né i fornitori, né le P.A potrebbero realizzare una soluzione software
ai fini del riuso rielaborando preesistenti Programmi open source, ma dovrebbero, invece,
realizzare tale soluzione da zero: ciò comporta ovviamente una lievitazione dei costi da
sostenere e, come corollario, l’impossibilità di investire, invece, le medesime risorse per
l’evoluzione migliorativa di Programmi già disponibili.
Il presupposto del riuso è, come si è visto, che la P.A possa quantomeno esercitare e,
soprattutto, sublicenziare ad altre amministrazioni il diritto di utilizzare, studiare, modificare
e redistribuire il programma. Il riconoscimento di tali diritti in capo all’utente (sia esso
soggetto pubblico o privato) è, com’è noto, l’elemento centrale delle Licenze libere e open
source64. Di conseguenza, nei futuri bandi pubblici per il finanziamento dei progetti di riuso,
si potrebbe richiedere alternativamente la piena proprietà di un programma (proprietario) o,
quantomeno, la titolarità di una licenza open source, atteso che, in entrambi i casi, si
garantirebbe la possibilità per i futuri riusatori di utilizzare, modificare e redistribuire il
Programma.
Tale soluzione non verrebbe, inoltre, ostacolata dalla lettera dell’art. 69 comma 1, che, come
si è già visto, prevede l’obbligo per le Pubbliche Amministrazioni, titolari di Programmi
applicativi realizzati su specifiche indicazioni del committente pubblico, di concedere tali
programmi – unitamente al codice sorgente ed alla documentazione disponibile – ad altre
Pubbliche amministrazioni che li richiedano. La disposizione testè richiamata, però, non vieta
Si veda sul punto l’ampia disamina di CORRADINI A., FLAGELLA T., op. Cit. pp. 3 ss.. Gli autori, in particolare, ritengono che un siffatto approccio costituirebbe un limite alla qualità delle soluzioni software realizzate per la P.A. In particolare, rilevano che la cessione della proprietà del software da parte del fornitore alla P.A committente implica che il software prodotto non potrà essere utilizzato dal fornitore per altre forniture (salvo patto contrario). Per tale motivo il fornitore – che opera in una logica di massimizzazione del profitto – tenderà a realizzare la soluzione più economica atta a superare il collaudo del software, disinteressandosi della qualità intrinseca del software stesso. Laddove, invece, il fornitore potesse riutilizzare il prodotto stesso per altre forniture, tenderebbe, invece, a considerare la qualità del prodotto finale come un valore a sé stante. Il problema, secondo gli autori, potrebbe essere superato attraverso clausole analoghe a quelle di joint Copyright Assignment – utilizzate per i contributi di molti progetti Open Source, tra i quali OpenOffice – attraverso le quali si potrebbe, quindi, prevedere la duplice proprietà del software sviluppato sia in capo alla P.A committente, sia in capo al Fornitore stesso. Una siffatta previsione, dunque, consentirebbe al Fornitore di riutilizzare liberamente il Programma nell’ambito di altre forniture e/o di rilasciarlo come progetto Open Source. 64
Si rinvia a BERTANI M., Guida alle licenze di software libero e open source, Nyberg Edizioni, 2004, per una organica trattazione delle licenze libere e open source. In particolare si evidenzia che “oggetto del contratto è la concessione della possibilità di copiare, modificare e redistribuire il programma nei limiti di quanto previsto dalla licenza. 63
Pagina 24
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
alle stesse Pubbliche amministrazioni di consentire il riuso negli altri casi in cui esso sia
concretamente possibile65.
Gli unici ostacoli sarebbero, invece, costituiti dalla compatibilità tra le licenze libere e open
source e la Licenza di Riuso, atteso che quest’ultima, come si è già avuto modo di
sottolineare, prevede alcune limitazioni alle facoltà riconosciute ai riusatori, mosse, appunto,
dall’esigenza di bilanciare gli interessi in gioco. Senza voler qui addentrarsi in una esaustiva
trattazione delle Licenze libere e open source, si intende sottolineare che molte di esse
contengono una specifica clausola, definita clausola virale66, che obbliga l’utente a
redistribuire il Programma negli stessi esatti termini della Licenza originaria (vale a dire che
un Programma rilasciato con una Licenza ad es. GNU/GPL potrebbe essere redistribuito solo
con essa e non con una licenza di riuso). È altrettanto vero, tuttavia, che altre licenze (come la
licenza BSD – Berkeley Software Distribution) consentono la successiva redistribuzione del
Programma anche in termini diversi da quelli della licenza originaria. Pertanto, le concrete
possibilità di riutilizzare un programma-base libero o open source dipenderanno dallo
specifico contenuto della licenza originaria.
Al riguardo, un ulteriore tassello può essere costituito dalla recente introduzione della
European Union Public License (EUPL), una licenza open source redatta dalla Commissione
Europea al fine di soddisfare le specifiche esigenze dell’Unione europea e delle
amministrazioni dei singoli Stati membri 67. In particolare, tale licenza – che può essere
adottata da qualsiasi soggetto privato e pubblico, a condizione che abbiano acquisito la
titolarità dei diritti di proprietà intellettuale – si caratterizza per una spiccata compatibilità
con altre licenze libere e open source, consentendo la redistribuzione delle versioni
modificate del Progamma anche attraverso talune predeterminate licenze definite, per
l’appunto, Licenze compatibili 68. In un prossimo futuro, non si esclude che, nel momento in
cui sia disponibile una versione consolidata della Licenza Pubblica di Riuso, anch’essa possa
rientrare nel novero delle Licenze compatibili indicate dalla EUPL.
Inoltre, laddove si provveda ad apportare le opportune modifiche alle licenze libere e open
source al fine di consentire la successiva redistribuzione dei Programmi anche con licenze di
Cfr. CIGNONI G. A., e AMBRIOLA V., op cit., p. 4., i quali rilevano che, attraverso la Licenza Pubblica di Riuso viene superato il meccanismo previsto dal CAD e basato sulla richiesta esplicita da parte del riusatore: è la stessa P.A che consente ab origine il riuso da parte delle altre amministrazioni.
66
La clausola virale è lo strumento giuridico attraverso il quale l’autore originario può effettivamente avere la icurezza che le libertà riconosciute tramite la licenza non vengano meno con le successive distribuzioni o modificazioni del programma. Si parla di «viralità» di questa clausola perchè non solo si applica alle successive distribuzioni dello stesso programma, ma anche ai programmi derivati o che contengono parti del programma licenziato come software libero, salva l’ipotesi della semplice coesistenza di un programma libero e di uno proprietario su di un unico supporto.
67
Per un’ampia analisi della EUPL si rinvia a BRAVO F., op cit., pp. 89 ss. In particolare, si evidenzia che la EUPL – nata per licenziare i programmi realizzati nell’ambito dell’ambiente di sviluppo cooperativo europeo e, quindi, promuovere la fornitura di servizi paneuropei di e­government alle pubbliche amministrazioni, alle imprese ed ai cittadini – è stata sviluppata all’esito di un approfondito studio sulle licenze libere condotto dalle istituzioni comunitarie che ha suggerito alle stesse di elaborare una licenza ad hoc.
68
Il riferimento è alla cd. Downstream Compatibility, in quanto la EUPL, pur mantenendo la clausola virale del copyleft, concede ai licenziatari la possibilità di rilasciare il Programma originario e/o le eventuali versioni modificate anche con le seguenti tipologie di licenze libere definite come “licenze compatibili”: la General Public Licence v2;, la Open Software Licence v. 2.1/3.0; la Common Public Licence v.1.0; la Eclipse Public Licence v. 1.0; la CeCill v.2.0 . Si precisa, altresì, che, in caso di conflitto tra i termini della licenza EUPL e quelli della licenza compatibile, prevalgono sempre i termini di quest’ultima.
65
Pagina 25
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Riuso, si potrebbe facilitare il riuso stesso e, di conseguenza, anche incentivare una più
capillare diffusione del software libero all’interno della Pubblica Amministrazione.
This work is licensed under the Creative Commons Attribution-Share Alike 2.5 Italy License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/it/ or send
a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California,
94105, USA.
Bibliografia Bertani, M. (2004). Guida alle licenze di software libero e open source. Nyberg Edizioni..
Sanseverino, G. (2007). Le licenze free e open source. Edizioni Scientifiche Italiane.
Cignoni G. A, e Ambriola V. (2008). Riuso v. Open Source, un confronto necessario. Atti di
Pubblica Amministrazione Aperta e Libera – PAAL 2008.
Corradini A., Flagella T. (2008). Il paradigma open source nel contesto dell'attuale modello
di riuso del software nella Pubblica Amministrazione Italiana. Atti della Conferenza
Italiana sul Software Libero 2008.
Flick C., Cignoni G. A., Ambriola V. (2008). Il riuso del software nella Pubblica
Amministrazione. Diritto dell'Internet.i
Losco, S. (2009). Il riuso informatico nelle Pubbliche Amministrazioni: normative e prime
esperienze in Istat. ISTAT.
Bravo, F. (2009). Software Open Source e Pubblica Amministrazione (L'esperienza europea e
quella italiana tra diritto d'autore, appalti pubblici e diritto dei contratti. La EUPL),
Bologna.
Pagina 26
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
LIBERA-MENTE
DIDATTICA LIBERA NEL COMUNE DI PISA
Dott.ssa Laura Bertellotti, Università di Pisa, l.bertellotti@hotmail.it
Prof.ssa. Marilù Chiofalo, Assessora Politiche Educative e Scolatiche, Promozione
tecnologie per la Formazione, Comune di Pisa.
Prof.ssa Flavia Marzano, Università La Sapienza, Roma.
Abstract «Nulla si crea, nulla si distrugge, tutto si trasforma.»
Antoine Lavoisier
L'avvento del digitale ha invaso ogni aspetto del vivere quotidiano, portando dematerializzazione e
nuove abitudini di interazione, infiniti spazi di conoscenza e nuove possibilità di espressione, in ogni
campo e materia. Il processo di digitalizzazione ha trasformato profondamente e con rapidità il nostro
modo di essere, illustrandoci un segmento, la tecnologia, dalle proteiformi possibilità che ci facilita in
ogni attività quotidiana.
La Rete ci ha insegnato la libertà di espressione, il senso
della condivisione dei saperi e dei pensieri; ci ha dato la possibilità di raccontare il nostro Io
nell'etere e di arricchirlo dei racconti altrui; ci ha permesso di creare legami, unire realtà, abbattere
confini e creare ponti; ed oggi, facendo il suo ingresso nelle scuole, la Rete ci aiuta nella didattica,
divulgando e promuovendo i suoi valori pedagogici tra gli alunni di oggi, abitanti del mondo di
domani. Il piano E-Government 2012 disegna l'immagine di una scuola totalmente digitalizzata e
profondamente vissuta nel Web, come strumento di informazione e confronto, dotato della capacità di
interessare e trasformare lo studio in gioco. La scuola digitale a cui si aspira è costruita su cavi di
fibra ottica che permettono la navigazione veloce ed è composta da computer ed infrastrutture
sinergiche e omogenee che supportano la didattica. Le lavagne diventano interattive e le lezioni
cambiano la propria natura, divenendo aperte e partecipative. Proiettori, webcam, microfoni e
strumentazioni audio-video aiutano lo studente a dare interattività alle materie, rilette in una chiave di
apprendimento personalizzata che simula,\ con programmi e software, scenari e nozioni, rendendo la
conoscenza dinamica e intuitiva. La scuola digitale è la scuola che trasmette ai più piccoli le linee
guida che condizionano la loro crescita e il loro sviluppo e come tale è fondamentale che insegni loro
i valori di base che orientano le scelte e formano la capacità di stare nel mondo. Per questa ragione la
scuola deve promuovere valori di base come l'uguaglianza, la solidarietà, l'educazione, e la libertà di
espressione secondo l'etica della responsabilità. Tutto ciò che ruota dentro e intorno l'istituzione
scolastica deve essere conforme a questi principi, che sono diritti e doveri del mondo virtuale e del
mondo reale. Le linee teoriche e i propositi più nobili spesso si infrangono tuttavia nella necessità
continua di innovare competenze e infrastrutture, e nella mancanza di fondi e sostegno reale per
farlo, così che il sistema scolastico rimane ancorato ad anacronistici retaggi. Nella realtà ancora
confusa e in fase di trasformazione della scuola nell'era del digitale rappresenta un'importante
esperienza quella del Comune di Pisa che, con un progetto articolato e integrato, porta la tecnologia
nella scuola, utilizzando criteri di economicità, collaborazione e innovativa sostenibilità ambientale. Il
Comune di Pisa crede nella scuola del Web e delle lavagne digitali e promuove ed utilizza nei suoi
progetti il software libero, liberamente modificabile e distribuibile, economico e personalizzabile. Un
Pagina 27
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
modello culturale ed educativo che sta entrando nella quotidianità di alunni e alunne con l'ambizione
di divenire una prassi consolidata.
Parole Chiave: Software libero, Scuola, Didattica, Pisa, Comune.
1
LIBERI DI IMPARARE
1.1 La scuola dell'era digitale
La digitalizzazione della scuola è uno dei principali obiettivi del piano E-Governemnt 2012
che nella tecnologia vede la possibilità di semplificare e avvicinare la scuola ai giovani e alle
loro famiglie.
Il prototipo della scuola dell'era digitale vede la Rete protagonista sia delle dinamiche
didattiche e di apprendimento, che di quelle scuola-famiglia. In entrambi i casi si realizza di
fatto un ampliamento di modalità e livelli di approfondimento individuale e di interazione.
Nel primo caso attraverso l'uso intelligente delle risorse offerte da Internet, la
dematerializzazione dei supporti e l'ampliamento del concetto di apprendimento, con lo scopo
di agevolare studenti e docenti sia nella disponibilità dei materiali didattici che nella
costruzione cooperativa e dinamica di una conoscenza condivisa: diversa ogni volta secondo
le potenzialità presenti in quel particolare momento in quella particolare aula. Nel secondo
caso con l'obiettivo di favorire le comunicazioni docenti-genitori e permettere a questi ultimi
di essere parte attiva del processo di scolarizzazione del proprio figlio, in un contesto sociale
in cui l'individualizzazione e conseguente gestione dei tempi di vita e di lavoro sono difficili .
Lo scopo principale della scuola è quello di formare individui che da alunni si trasformino in
abitanti del mondo e come tali si muovano attraverso mappe cognitive ed intellettive
interiorizzate, trasformabili e riusabili in sempre nuova conoscenza. Questo corrisponde ad
acquisire la distintiva capacità di imparare ad imparare lungo tutto l'arco della vita,
sviluppando le cosidette life-skills: conoscenza, consapevolezza e uso interconnesso di tutte
le proprie e diverse (per ognuno) abilità individuali in modo multidisciplinare, e capacità di
comunicazione interpersonale, conoscenza delle regole e uso delle abilità sociali. Per questo è
importante che, fornendo i giusti strumenti intellettivi, l'istruzione sia specchio del mondo e
che, come tale, lo rappresenti.
L'era digitale ha profondamente segnato il nostro sistema culturale, invadendo le nostre
abitudini e facendo entrare la sua filosofia in ogni segmento del quotidiano. Gli alunni e le
alunne di oggi sono digital natives69, sviluppano le loro capacità intellettive parallelamente
all'uso consapevole e spontaneo dei mezzi digitali e lo fanno con la naturalezza con cui
imparano a camminare e a parlare perchè ne percepiscono la necessità d'uso, crescendo così
viziati e dipendenti da queste commodities.
Una scuola che pertanto anacronisticamente non apra le proprie porte alla tecnologia e tenga
lontana l'informatica dalla propria struttura manca un'opportunità e rischia di non essere un
valido sostegno alla preparazione e alla formazione di soggetti capaci di multidisciplinarietà e
Digital natives: Nativo digitale (dalla lingua inglese digital native) è una espressione che viene applicata ad una persona che è cresciuta con le tecnologie digitali. Fonte: Wikipedia.
69
Pagina 28
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
flessibilità, lasciando chi impara senza un'adeguata conoscenza del computer come strumento
di apprendimento, di evoluzione e di vita.È possibile che nessuno studente diventi mai
esperto o esperta di programmazione o di informatica nell'arco della propria vita, così come è
possibile che nessuno di loro abbia un futuro nella matematica o nella letteratura, ma è
fondamentale inserire l'uso del computer come percorso culturale e materia d'insegnamento di
base al pari delle altre, con lo scopo di stimolare la curiosità, creare e potenziare le
infrastrutture logiche necessarie ad accogliere ogni tipo di processo mentale, e moltiplicare le
abilità di linguaggio.
Come in ogni processo di apprendimento, le opportunità sono accompagnate da rischi. In
questo caso, la vastità degli spazi virtuali accessibili e la velocità delle connessioni ha effetti
dirompenti sul tempo dell'apprendimento e sul suo uso. Una enorme quantità di informazioni
diventa disponibile in pochissimo tempo, e pone la questione etica – nel senso etimologico
del termine – di una adeguata definizione della qualità della conoscenza che includa in modo
equilibrato ampiezza e approfondimento, diffusione e controllo delle fonti, appropriatezza dei
contenuti.
Ed è proprio nel contesto educativo che il software libero può dispiegare le proprie
potenzialità, coerentemente con la mission della scuola, riuscendo a stimolare la curiosità e a
creare la libertà necessaria ad apprendere l'informatica come forma mentis della nostra epoca
che, sempre più, condiziona in maniera totalitaria la maggior parte delle attività umane.
1.2 Software libero e scuola
Utilizzare un qualsiasi software senza avere la possibilità di sviscerarlo, studiarlo, esplorarlo
è come accontentarsi di conoscere per sentito dire la una trama di un libro, senza poterlo
vivere in prima persona, senza poterne fare un'analisi linguistico-letteraria, vietata per timore
che parole e stili vengano rubati e copiati senza permesso. Il software libero, a differenza di
quello proprietario, ha una natura educativa, nasce e si sviluppa attorno al concetto di
divulgazione di un sapere che cresce arricchendosi dei saperi pregressi, seguendo eticamente
i principi della scuola che fa di conoscenza e libertà le sue bandiere. Il software libero si basa
sulla medesima cultura della partecipazione che pervade la scuola come luogo di incontro
dei pensieri individuali, che intrecciandosi si elevano e moltiplicano, e allo stesso modo della
scuola mira a stimolare lo spirito cooperativo come metodologia formativa essenziale
nell'esercitare la mente e garantire i meccanismi di socializzazione fondamentali per lo
sviluppo dell'intelletto. Questa comunione di intenti rappresenta la base ideale che promuove
l'uso del software libero nella didattica e che si accompagna a importanti motivazioni di
carattere pratico: questa tipologia di software è una tecnologia a basso costo in quanto
elimina l'onere delle licenze, il cui prezzo grava su quanti utilizzano software proprietario, e
permette di avere applicazioni non soggette a scadenze, liberamente utilizzabili e fruibili nel
tempo.
Anche la qualità combacia con le esigenze di una scuola che dispone di fondi limitati per
creare un sistema interno di strumenti efficiente ed efficace e che con il software libero vede
realizzarsi la concreta la possibilità di installare, al solo prezzo della prima copia, il software
su un numero illimitato apparecchi attraverso il meccanismo della copia e della libera
distribuzione.
Pagina 29
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1.2.1 L'esperienza del Comune di Pisa
In definitiva, il concetto chiave che definisce l'uso del software libero nelle scuole è quello di
una nuova economia. Le risorse immateriali e di lunga durata come conoscenza e capacità di
sviluppo di ogni individuo sono il bene primario e misurabile per la comunità e in quanto tali
sono rese immediatamente disponibili. È questa la chiave della sostenibilità d'uso delle
risorse materiali e finanziarie, hardware e software, che hanno una durata invece finita.
L'intuizione dell'economicità data dall'assenza di licenze d'uso fa da motore alle molteplici
realtà che affiorano nella scuola italiana dimostrando la superiorità e i vantaggi dell'utilizzo
del software libero, ma soprattutto l'interesse e la sensibilità alle tematiche dell'ottimizzazione
dei costi, della partecipazione e della libertà. Esempio di pianificazione per una progressiva
digitalizzazione della scuola e dell'introduzione del software libero che muove da questa idea
di nuova economia è il progetto articolato e attuato dal Comune di Pisa, volto a creare un
sistema coerente di strumenti da dedicare ad alunni e alunne per favorire la rivoluzione
tecnologica del sistema scolastico. Il progetto nasce da un preciso intento, chiaramente
leggibile dall'istituzione nella più recente legislatura di una delega per la promozione delle
tecnologie digitali per la formazione. La definizione del progetto è stata condotta
dall'Amministrazione Comunale costituendo un team70 di persone addette ai lavori ed esperte
del settore, convinte del valore della tecnologia e del software libero come strumenti per la
qualità degli istituti scolastici in condizioni di carenza di infrastrutture.
Il team ha definito una road-map contenente i punti principali del piano di azione volto a
trasformare la criticità della situazione scolastica del territorio, che vedeva più della metà dei
64 plessi scolastici privi persino di una connessione internet. Il piano d'azione è stato
articolato nei seguenti punti: (1) la copertura del deficit infrastrutturale che affligge gli
istituti, con soluzioni di immediato termine quali connessioni ADSL uniformate su tutti i
plessi e la soluzione di più lungo termine di utilizzare le Scuole, tra tutti i possibili edifici
pubblici, come nodi della cablatura a banda larga prevista nel programma di mandato per la
legislatura, nel settore e assessorato all'e-government; (2) ammodernare il parco-macchine
(hardware e software) delle scuole dove possibile secondo criteri di economicità,
ottimizzazione delle risorse e sostenibilità ambientale; (3) adeguare la formazione di docenti
e personale tecnico-amministrativo all'uso dei nuovi strumenti; (4) realizzare le azioni (1)-(3)
predisponendo strumenti utili a gestire i rischi della rivoluzione digitale, potenziando la
formazione alla libertà di connessioni e contenuti secondo l'etica della responsabilità. Il
metodo di lavoro previsto nel piano rimane centrato sulla partecipazione e la sussidiarietà
orizzontale come elementi di qualità e opportunità. La road-map, approvata in Giunta
comunale, presenta una serie di progetti strettamente legati tra loro che vedono la
collaborazione di Enti pubblici e soggetti privati, ai fini di privilegiare la libera
partecipazione e il mutuo sostegno delle iniziative, in un'ottica di partecipazione dell'intera
collettività cittadina. Il progetto, nella sua interezza e nel suo carattere di programmazione a
lungo termine, ha l'obiettivo di coprire in maniera multidisciplinare un innovativo approccio
di chi vive la scuola con la tecnologia e, per tanto, di innovare il sistema didattico in linea con
i principi emanati dal Piano E-government 2012.
Condotto dall'Assessora Maria Luisa Chiofalo, ne hanno fatto parte persone fortemente impegnate nel tema dei saperi liberi e aperti, come la professoressa Flavia Marzano, esperta di software libero e stratega per la Pubblica Amministrazione, l'Ing.Giovanni Cignoni, docente presso il Dipartimento di Informatica dell'Università di Pisa, il Presidente dell'associazione GULP (Gruppo Utenti Linux Pisa), il Dr. Paolo Mascellani, il Professore Luca Randazzo, maestro della Scuola Primaria "Don Milani" del Comune di Pisa.
70
Pagina 30
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1.2.2 Aule informatiche a costo zero
Il progetto relativo all'azione (2) prende forma a partire dall'esperienza della scuola
elementare Don Milani (Istituto Comprensivo Gamerra) di Pisa, dove un docente esperto in
software libero, Luca Randazzo, per risolvere le carenze infrastrutturali e in mancanza di
fondi, ha dato vita ad un progetto di sostenibilità, cooperazione e partecipazione. L'idea
semplice e rivoluzionaria è quella cara al Mauss 71 dell'economia del dono e prevede la
possibilità che chiunque lo desideri possa donare alla scuola il proprio pc, magari quello
vecchio o inutilizzato, contribuendo così a creare postazioni informatiche dedicate. Docenti,
genitori, amici e sostenitori hanno aderito con entusiasmo all'iniziativa, pubblicizzata dal solo
passaparola, scegliendo di riciclare i propri personal computer e donarli alla scuola. I
computer ricevuti, controllati e resi funzionali alle necessità della scuola dallo stesso docente,
sono stati quindi dotati delle più elementari applicazioni di software libero. Ecco dunque la
prima aula informatica a costo zero o, meglio, al costo di hardware, software e competenze
rese disponibili da chiunque ne abbia avuto la possiblità e abbia deciso di contribuire.
Nello spirito della condivisione di esperienze, il team ha dunque deciso di disseminare e
rendere stabile l'esperienza della scuola elementare Don Milani. In una prima fase è stato
definito uno standard minimo di hardware (pc, stampanti e altro). In una seconda fase Enti
pubblici e Aziende presenti sul territorio insieme ai e alle rappresentanti dei genitori sono
stati informati dell'esistenza del progetto e a loro il Comune si è rivolto chiedendo di valutare
la disponibilità a contribuire attraverso la donazione di hardware e ogni altra competenza da
mettere in condivisione. L'Istituto Informatica e Telematica del CNR, la Scuola Superiore
Sant'Anna, Vodafone Italia e l'agenzia formativa Formatica, realizzatrice del nuovo portale
delle Scuole del Comune di Pisa, hanno aderito con entusiasmo al progetto e partecipato in
maniera consistente attraverso la donazione di propri computer in fase di smantellamento,
conformi alle caratteristiche minime specificate, in alcuni casi offrendo anche hardware con
Linux già installato. L'idea del riciclo dei computer e degli apparati hardware risolve il
problema delle dotazioni strumentali scolastiche garantendo al contempo la autosostenibilità
nel tempo del progetto grazie alla donazione periodica e ripetibile delle macchine. In secondo
luogo questa forma di riuso attenua il problema dello smaltimento dei rifiuti e dello
sfruttamento del materiale fino al suo completo esaurimento del ciclo di vita, promuovendo la
filosofia della sostenibilità ambientale. Terzo, Enti e Aziende necessitano di apparecchiature
sempre nuove e costantemente aggiornate con le tecnologie emergenti, e dunque si trovano
comunque a sostituire spesso le proprie macchine, che – per quanto obsolete per le proprie
funzioni - sono perfettamente funzionanti e in alcuni casi sovradimensionate per le funzioni
scolastiche.
In una terza fase è stato effettuato il controllo tecnico e la predisposizione delle macchine
donate a cura degli Uffici tecnici del Comune di Pisa, per operare la distribuzione. D'accordo
con le Direzioni Scolastiche, il processo di riuso è stato concentrato inizialmente sugli Istituti
in stato di maggiore necessità, con l'intenzione di andare a coprire a rotazione nel corso di
circa due anni la totalità degli istituti del territorio pisano. In modo analogo si è proceduto per
l'installazione del software: gli Istituti dotati di competenze interne adeguate hanno proceduto
autonomamente, consentendo di destinare le competenze messe a disposizione su base
volontaria dall'associazione GULP a quegli Istituti non ancora del tutto autonomi. La
condizione di utilizzo dell'hardware donato è stata categoricamente fissata nell'installazione
71
Marcel Mauss, Saggio sul dono, 1925.
Pagina 31
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
di software libero, accompagnando quando necessario il cambiamento. D'altra parte le Scuole
vivono continue condizioni di emergenza, e dunque per il processo di introduzione del
software libero negli uffici amministrativi, dove i programmi di inserimento dati e di gestione
provenienti dal Ministero sono tutti proprietari, si è invece lasciata la decisione alle Direzioni
Scolastiche, sensibilizzando semplicemente l'uso di software di videoscrittura e navigazione
non proprietari. Nel primo ciclo di distribuzione sono state realizzate quattro aule
informatiche a costo zero, con dieci pc l'una in quattro dei sette Istituti Comprensivi della
Città.
Parallelamente, in accordo con l'azione (3) è stata avviata la necessaria fase di divulgazione
delle competenze e delle abilità nei soggetti designati ad interagire con le macchine e con le
nuove applicazioni libere, a partire dal corpo docente. T-OSSLab, il centro di competenza per
l'open source in Toscana, in collaborazione con lo stesso GULP, ha condotto corsi di
formazione nelle diverse scuole del territorio sottolineando la semplicità di utilizzo di
programmi. Oltre all'insegnamento del pacchetto OpenOffice con le sue potenzialità e di
Mozilla, i corsi di formazione sono stati focalizzati su una serie di software didattici tra cui il
divertente Phun, un freeware che grazie ad una grafica semplice ed intuitiva avvicina i più
piccoli alla fisica, aiutandone l'insegnamento in chiave di gioco.
1.2.3 Il portale delle scuole
Il Comune di Pisa ha parallelamente creato un'asse unitario di informazione e conoscenza
ideando un portale unico dedicato alle scuole pisane (http://scuole.pisa.it/) che permette la
navigazione in tutti gli Istituti della città e l'accesso ad una serie di informazioni
indispensabili ad alunni, alunne e genitori. Navigando nel portale è possibile accedere ad
informazioni di ogni sorta ma in formato omogeneo circa gli Istituti, i piani didattici e gli
orari dei ricevimenti Il portale è stato pensato non solo come luogo di raccolta di dati e
informazione ma anche come strumento di discussione e confronto: è stata infatti creata
un'area blog in cui scambiare informazioni e commenti ed un'area wiki in cui la gestione dei
contenuti può essere totalmente partecipativa e interattiva. In questo quadro si va a delineare
un sistema culturale e scolastico dedito alla libertà dei contenuti, in cui la partecipazione è la
chiave di svolta, e la comunicazione si arricchisce della collaborazione e della condivisione
delle idee.
1.2.4 Smart School
Il processo di dotazione infrastrutturale previsto dall'azione (1) passa attraverso uno
straordinario progetto finanziato dalla Regione Toscana e denominato Smart School. Smart
School introduce le più recenti innovazioni tecnologiche come protagoniste delle lezioni
scolastiche e apre lo scenario a nuovi metodi didattici. La tradizionale lavagna viene sostituita
da nuove lavagne multimediali interattive che, collegate ad una postazione pc e ad un
proiettore, rivoluzionano la struttura delle lezioni, permettendo di proiettare qualsiasi
materiale di supporto delle lezioni in qualunque formato digitale, di costruire in modo
cooperativo la conoscenza ogni volta in modo diverso secondo le diverse risorse mentali e le
diverse abilità di studenti e di docenti presenti in quel momento in quell'aula, di condividere
l'intera esperienza di apprendimento e l'archiviazione delle "lezioni", rendendole accessibili
anche oltre l'orario scolastico e a distanza. Il progetto così strutturato rappresenta il primo
passo verso il più ampio proposito di fornire un notebook dalle funzioni basilari ad ogni
Pagina 32
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
alunno e alunna. Attraverso questo alunni e alunne possono interagire in maniera interattiva e
partecipativa con la lavagna interattiva multimediale durante le lezioni, anche rimanendo
comodamente seduti al proprio banco, e possono svolgere compiti studiando su libri di testo,
che, nel frattempo, potranno avere assunto la forma di e-book, libri digitali dematerializzati e
leggeri.
Parte cruciale del pacchetto Smart School è stata la connettività: attraverso una
ottimizzazione di risorse e secondo quanto previsto dall'azione (1), l'ingresso di Smart School
nelle scuole pisane ha consentito il completamento della connessione internet in tutti i 64
plessi scolastici della Città, nell'immediato via ADSL mentre il progetto di banda larga del
Comune di Pisa prosegue il suo corso nel lungo termine.
La principale opportunità data da questa moderna strumentazione di insegnamento è l'alto
grado di interattività, che permette di condividere le lezioni, stimolando l'interesse e lo
scambio di idee, e di far partecipare alle lezioni anche quegli alunni che si trovano
momentaneamente impossibilitati a frequentare la propria scuola.
1.2.5 Smart Inclusion
Il progetto Smart Inclusion è dedicato infatti ai bambini e alle bambine che devono sostenere
lunghi periodi di degenza in ospedale. Grazie all'installazione di un terminale touch screen
dotato di webcam e microfono per interagire con la lavagna elettronica, la Regione e
l'Ospedale Santa Chiara di Pisa hanno costruito un ponte con le scuole del territorio
permettendo a bambini e bambine degenti di partecipare in maniera attiva alle lezioni in real
time collegandosi in remoto come se fossero nella propria classe, oltre all'accesso all'archivio
delle lezioni. La scolarizzazione rappresenta un diritto fondamentale per tutti i bambini e
tutte le bambine ed è un potente mezzo di inclusione sociale anche in condizioni ordinarie: in
questa chiave risulta potenziata la fondamentale funzione sociale della scuola, che aiuta il
bambino o la bambina ricoverata in ospedale a sentirsi vicina alla propria dimensione
affettiva, elemento necessario al sostegno psicologico nel percorso di ospedalizzazione.
La dotazione tecnologica oltre a supportare il piano di e-school è di fondamentale importanza
come strumento di intrattenimento, la macchina permette infatti la connessione a Internet e a
un canale video on demand dedicato ai più piccoli, e rappresenta inoltre un utile strumento
ospedaliero, permettendo il controllo via web cam del piccolo o della piccola paziente. La
postazione Smart Inclusion è stata localizzata nella stessa Scuola Primaria – l'Istituto
Comprensivo Toniolo, nel quale il Comune ha inserito – d'accordo con le Direzioni
Scolastiche – la programmazione di una sezione ospedaliera nella rete scolastica.
1.2.6 Il Progetto Troll
La profonda utilità di Internet e della tecnologia in generale si ferma laddove questi mezzi
rappresentano, oltre ad un magazzino inesauribile di informazioni, un pericolo per quanti,
navigatori incauti, si debbano confrontare con contenuti pericolosi. È necessario e doveroso
proteggere i più piccoli e le più piccole dalle insidie del Web, saturo di pericoli, insegnando
tuttavia loro a sfruttare le potenzialità di Internet soprattutto nell'ambito della ricerca e dello
studio. La Rete è infatti il luogo dedicato alla diffusione della conoscenza e, come tale, è
importante che sia riconosciuto dagli studenti come strumento primario di informazione e
apprendimento, capace di fondere lo studio e lo svago, la realtà e il gioco. Con lo scopo di
Pagina 33
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
permettere la navigazione sicura proprio ai bambini che vi si avvicinano con ingenuità, nasce
il portale TROOL, ideato dalla Regione Toscana e realizzato dall'Istituto degli Innocenti di
Firenze, che, grazie al sistema di filtraggio e alla gestione dei contenuti, garantisce un uso
protetto del Web.
Il concetto di TROOL è semplice: ogni smisurata libertà e potenzialità di azione richiede un
livello almeno pari di etica della responsabilità. Ecco dunque che a navigare sicuri si impara
conoscendo le regole e i rischi, come ad andare a scuola da soli si impara conoscendo il
codice della strada e i pericoli. L'idea che la sicurezza possa essere il risultato di una
alienazione degli spazi viene sostituita dall'idea, altrettanto semplice ma rivoluzionaria, che la
sicurezza sia il risultato di una “occupazione” degli spazi. In questo caso quelli telematici e
virtuali. Il portale TROOL è stato creato dall'Istituto degl'Innocenti per essere accessibile
dalle postazioni informatiche delle scuole e per diventare oggetto di vere e proprie ore di
insegnamento didattico.
Accogliendo la proposta dell'Istituto degli Innocenti, il Comune ha attuato un'azione di
sensibilizzazione affinché nel piano scolastico dell'offerta formativa sia prevista la possibilità
che alle ore di italiano e matematica si affianchino laboratori di TROOL, con lo scopo di
avvicinare i più piccoli al computer e di insegnare loro l'importanza di Internet come supporto
allo studio e mezzo di continuo apprendimento. Il piano di studio comprende l'insegnamento
dei più elementari e indispensabili programmi per l'elaborazione del contenuti, l'uso di blog e
wikis, e lo studio del Web come fonte di svago ma anche come metodologia di studio che
può e deve servire a coadiuvare trasversalmente tutte le materie, superando la concezione
anacronistica di un Internet che rallenta e distrae gli alunni nello svolgimento dei programmi
ministeriali.
Il Comune di Pisa, con l'implementazione e la promozione di questi progetti tra loro integrati,
ha creato un prototipo ben definito di piano d' azione, emulabile e riutilizzabile in altre realtà.
L'innovazione tecnologica nella scuola viene promossa come strumento particolarmente
efficace a realizzare l'obiettivo primario dell'unica economia sostenibile, quella fondata sullo
sviluppo delle capacità umane con la valorizzazione delle diverse abilità di ogni individuo a
partire dai più piccoli, e sullo sviluppo delle abilità sociali. Per questo sono stati combinati
valori etici con risorse umane e strumentali, fondendo il progresso con un'attenzione per
l'ambiente (aule informatiche a costo zero), la sicurezza attraverso l'etica della responsabilità
(portale scuole e Trool) e la solidarietà (Smart Inclusion). Il tutto secondo criteri di
economicità, sussidiarietà e sostenibilità nel tempo.
Bibliografia
Cignoni G.A., Randazzo L. (2009) Recupero di PC per le scuole
http://www.tosslab.it/documentazioneeventi/recupero-pc
Cignoni G.A, Santi A., Ghilardi M, Stilli G. (2009) Applicazioni libere nelle scuole
http://www.tosslab.it/documentazioneeventi/applicazioni-libere-nelle-scuole
Cignoni G.A (2009) Oltre lo scrivitore
Pagina 34
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
http://www.tosslab.it/documentazioneeventi/osscuole-cignoni
Ferri P. (2008) La scuola digitale. Come le nuove tecnologie cambiano la formazione,
Mondadori
Grimaldi R. (2006) Disuguaglianze digitali nella scuola. Gli usi didattici delle tecnologie
dell'informazione e della comunicazione in Piemonte, Franco Angeli
Mauss M.(1954) The Gift, Cohen & West
Randazzo L. (200..) Migrazione fai da te
http://www.tosslab.it/documentazioneeventi/osscuole-randazzo
Pagina 35
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
PA E SOFTWARE A CODICE SORGENTE APERTO: IL
DIFFICILE CONNUBIO TRA FLOSS, RIUSO E
CONCORRENZA.
Gianluca Craia, noze S.r.l. (ufficio legale), via Giuntini 25/29, Navacchio – Cascina
(PI), gianluca.craia@noze.it
Abstract Il concetto di open source, e più in generale quello di software libero (nel prosieguo per
comodità FLOSS), rappresenta una problematica strettamente giuridica slegata da ogni
possibile riferimento ad una determinata tecnologia ad un marchio o ad un prodotto.
Ove si prendano FLOSS e software proprietario come i due paradigmi intorno ai quali viene
costruito il mondo delle nuove tecnologie, è facile notare che essi si distinguono in ragione
del differente contenuto dell'accordo negoziale che detta la loro disciplina: la licenza.
E' proprio la licenza che regola la circolazione giuridica di tali beni e, grazie agli istituti
relativi alla normativa sul diritto d'autore, indica sia le operazioni possibili sul codice
sorgente sia la disciplina delle opere derivate.
La famiglia delle licenze FLOSS, al contrario del modello proprietario, garantisce ai
licenziatari la facoltà di accedere al codice sorgente, eseguire il programma, copiarlo,
modificarlo e distribuirlo (di norma) senza alcun costo.
Queste caratteristiche hanno reso possibile il crearsi di molteplici modelli di business, di
particolare interesse per le PMI, grazie a due significative caratteristiche: l'assenza di costi
di licenza e la facoltà di sviluppare, ogni volta, un prodotto potenzialmente nuovo, dotato di
creatività ed originalità, esattamente “cucito” sulle esigenze dell'utilizzatore.
Le stesse caratteristiche di cui sopra rendono il FLOSS un modello di particolare interesse
anche per le PA, le quali, acquisendo e utilizzando software rilasciato "open source"
possono perseguire, a loro volta, due obiettivi fondamentali: abbattere i costi di acquisizione
e svincolarsi dal fornitore.
Se quanto detto finora indica i pregi del modello, l'attuale normativa, in particolare il
"Codice dell'Amministrazione Digitale" (CAD), pone significative problematiche
interpretative che possono scoraggiare la PA virtuosa dall'acquisizione di software FLOSS.
Sorgono diversi dubbi sia relativamente alla titolarità del software realizzato per conto e
spese della pubblica amministrazione sia relativamente all'affiancamento del FLOSS
all'istituto del riuso, modelli che, benchè ad una prima analisi appaiano omologhi in quanto
a finalità, posto che basano la loro essenza sulla condivisione e la diffusione della
conoscenza, sono disciplinati da una normativa disarmonica che rischia di compromettere la
loro compatibilità e frustrare il loro ruolo in favore di svantaggiose politiche di acquisizione
di software proprietario.
Oltre a quanto sopra l'interesse sempre più marcato delle istituzioni regionali e locali al
fenomeno, ha spinto molte Regioni a provvedere ad un normativa di settore che, muovendo
dalle previsioni del CAD affermi e promuova il FLOSS come modello non solo alternativo
Pagina 36
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
ma più adeguato alle esigenze dell'amministrazione rispetto al software proprietario,
sollevando rilevanti problematiche di legittimità costituzionale.
La partita si è quindi spostata dal piano tecnico ed economico a quello politico e normativo.
Nonostante gli indubbi vantaggi in termini di efficienza, efficacia ed economocità dell'agire
amministrativo, l'insieme di queste problematiche, strettamente giuridiche, delinea un
quadro complesso che rende incerto per la PA e per le imprese l'utilizzo, l'adozione e la
promozione del FLOSS come modello preferenziale per l'informatizzazione della Pubblica
Amministrazione italiana.
Parole chiave: floss, appalti pubblici, riuso, concorrenza, proprieta' intellettuale
1 LA PA E L'ACQUISIZIONE DI FLOSS: IL CONTESTO
NORMATIVO
Secondo le previsioni del D.Lgs. n. 39/1993 (coerentemente con quanto stabilito dalla legge
sul diritto d’autore all’art. 11), le applicazioni software realizzate per conto e a spese della
pubblica amministrazione sono di titolarità della stessa.
Negli ultimi anni le PA hanno sviluppato un forte interesse all'acquisizione di sistemi
software che consentano di offrire servizi migliori ai cittadini, in questo contesto il software
libero e open source sta giocando, senza alcun dubbio, un ruolo di rilievo.
Questa categoria di applicazioni, caratterizzata da licenze che concedono ai terzi i diritti di
accedere al codice sorgente del programma, copiarlo, modificarlo e distribuirlo senza che (di
norma) sia imposto alcun costo, appare immediatamente in contrasto con la normativa di
riferimento indicata in apertura.
Infatti l’utilizzo dietro licenza di elementi open source di titolarità di terzi, impedisce la
nascita del diritto d'autore in capo all’Amministrazione, posto che mancando all'appaltatore la
proprietà dell'opera originaria sarebbe possibile solo la sub-concessione in licenza, non certo
una cessione di diritti e quindi, tanto meno, la nascita del diritto a titolo originario.
A complicare ulteriormente il quadro normativo, e` intervenuto il più recente Codice
dell’Amministrazione Digitale (D.Lgs. n. 82/2005).
Il legislatore, benché avesse l’occasione di rivedere la normativa, riducendo ad unita` le
esperienze ed intervenendo direttamente sul tema, ha preferito limitarsi a prendere atto
dell’esistente.
Così l’art. 68 del Codice si risolve in una mera elencazione delle modalità con le quali è
possibile, per la P.A., dotarsi di programmi per elaboratore, esse sono: a) lo sviluppo di
programmi informatici per conto e a spese dell’amministrazione sulla scorta dei requisiti
indicati dalla stessa amministrazione committente; b) il riuso di programmi informatici
sviluppati per conto e a spese della medesima o di altre amministrazioni; c) l’acquisizione di
programmi informatici di tipo proprietario mediante ricorso a licenza d’uso; d) l’acquisizione
di programmi informatici a codice sorgente aperto; e) l’acquisizione mediante combinazione
delle soluzioni precedenti.
Pagina 37
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Sulla base di tale elenco, la singola Amministrazione, a valle di un’analisi comparativa delle
soluzioni disponibili sul mercato in relazione alle proprie esigenze, dovrebbe scegliere la
migliore applicazione in termini di funzionalità, prestazioni e facilità d’utilizzo.
Il legislatore non ha pero` considerato che, con il sistema delineato, la valutazione
comparativa che la P.A. e` chiamata a svolgere ha natura, prima ancora che tecnica, giuridica.
Essa si fonda necessariamente sugli istituti che disciplinano l’applicazione informatica e, in
particolare, sui concetti di titolarità, cessione dei diritti di utilizzazione economica e/o loro
concessione in licenza d’uso.
Per cercare di mettere ordine tra le previsioni normative applicabili, pare necessario
considerare adeguatamente, l’istituto della titolarità delle opere dell’ingegno di carattere
creativo in caso di committenza pubblica.
La norma di riferimento deve senza dubbio essere individuata nell’art. 11 L. n. 633/1941 che
prescrive la nascita della titolarità dell'opera dell'ingegno in capo al committente pubblico.
Non vi è dubbio che nel caso di acquisizione di software da parte della PA gli appaltatori
realizzino un'opera dell'ingegno protetta ai sensi della legge sul diritto d'autore.
Nel particolare caso della realizzazione di software open source, l'appaltatore sviluppa
l'applicazione richiesta dalla PA per elaborazione, partendo da linee di codice sorgente e, in
molti casi, da veri e propri moduli software realizzati da terzi, dei quali può disporre in virtù
di una licenza FLOSS.
E` evidente che in questo caso la problematica della nascita della titolarità di quanto creato in
capo al committente pubblico e` insuperabile con una semplice previsione contrattuale:
l’appaltatore non può ricoprire la posizione soggettiva di titolare dei diritti di utilizzazione
economica dell'opera originaria.
Essendo un mero licenziatario egli potrebbe, tutt’al più, trasferire in licenza quanto ricevuto
ma non certo cederne i diritti a titolo definitivo ( come spesso viene richiesto nei bandi di
gara) e quindi tanto meno, spogliarsi della qualità di autore in favore della pubblica
ammnistrazione secondo quanto previsto dalla normativa.
2 LA DIFFICILE CONVIVENZA TRA OPEN SOURCE E RIUSO
Se tale é la problematica generale, in una prospettiva piu` specifica, essa assume particolare
interesse, in ragione della previsione di cui all’art. 69 D.Lgs. n. 82/2005, con riferimento
all’istituto, di recente introduzione, del riuso di software.
Prima del 2000 non esisteva nell’ordinamento una nozione giuridica di riuso, perciò la sua
definizione postula il riferimento ad elementi extragiuridici.
Per riuso deve intendersi la possibilità di utilizzare un modulo o comunque una componente
software in una o piu` applicazioni informatiche diverse.
Mutuando tale concetto dall’ingegneria del software, l’istituto del riuso trovava la sua prima
espressione normativa con la legge n. 340/2000, la quale stabiliva che le P.A. potessero
concedere in uso gratuito ad altre amministrazioni le applicazioni informatiche nella loro
disponibilità, affinchè queste ultime le adattassero alle loro esigenze.
Pagina 38
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Da sottolineare che, con la predetta normativa, la concessione in uso gratuito ad altre
Amministrazioni era solo un’opzione possibile, quindi un’indicazione del legislatore per
indirizzare l’azione amministrativa.
Solo con la successiva “direttiva Stanca” del 19 dicembre 2003, dopo essersi ribadito, all’art.
5, l’acquisizione della titolarità delle applicazioni informatiche in capo all’amministrazione
appaltante, si ha la prima norma che stabilisca un obbligo per la P.A. di prevedere clausole
che favoriscano il riuso e concedere in licenza l'applicazione ad amministrazioni terze che la
richiedano.
La normativa contenuta nella direttiva è stata poi la struttura portante della successiva
disciplina prevista nel Codice dell’Amministrazione Digitale.
Il CAD, dopo aver individuato all’art. 67 le modalità di sviluppo e acquisizione di
applicazioni informatiche e aver imposto con l’art. 68 la valutazione comparativa delle
soluzioni da acquisire, disciplina all’art. 69 il “Riuso di programmi informatici”.
Con l'odierna previsione la Pubblica Amministrazione, ove richiesta, deve acconsentire a
concedere in riuso i software di cui si e` dotata e, posto che l’istituto richiede la titolarità in
capo all’amministrazione concedente, e`necessario che essa abbia acquisito, o comunque in
capo a essa sia nata, non la facoltà di fruire del software, come avviene in caso di
acquisizione di licenze, bensì la titolarità piena dei diritti di utilizzazione economica sul
programma.
Ciò considerato, ove manchi la titolarità, il software non potrà essere “riusabile” nel senso
richiesto dalla normativa.
Una parte della dottrina si confronta con tali problematiche rilevando che ciò che è
effettivamente richiesto dalla norma non è la titolarità, ma la disponibilità del codice sorgente
secondo quanto indicato al comma 3 dell’art. 69.
Una simile impostazione risolverebbe molte controverse questioni posto che, ogniqualvolta la
P.A. possa accedere al codice sorgente, ne acquisirebbe la disponibilità .
In sostanza in tutti i casi in cui il software sia open source ovvero, qualora sia proprietario,
nel caso in cui sia inserita una clausola che preveda l’accesso al codice sorgente, la P.A. può
disporre dell’applicazione e renderla di fatto « riusabile ».
Tale lettura del problema non pare però tenere in considerazione che la disponibilità del
codice sorgente è condizione necessaria ma non sufficiente perché possa operare l’istituto del
riuso.
Il requisito richiesto dal legislatore (non solo attraverso l’art. 69 CAD, ma alla luce
dell’intero impianto normativo) e', e rimane, la titolarità, requisito che contiene in sè la
disponibilità del codice .
Tale assunto si basa sul fatto che la legge sul diritto d’autore, agli artt. 64-bis e ss., riserva
l’esercizio dei diritti di utilizzazione economica relativi al software al titolare di essi.
Da ciò consegue che la disponibilità dei programmi ai fini del riuso, portando con sè la
necessità di copiare, redistribuire e, se necessario, modificare il programma, non può che
presupporre tale titolarità che in caso di software open source parrebbe non potersi costituire
in capo all'ente pubblico.
Pagina 39
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
In questo senso il combinato disposto dell'art 11 l. 633/1941 con il D.Lgs 39/1993 parrebbe
escludere la compatibilità tra open source e software sviluppato ad hoc per le pubbliche
amministrazioni.
3 LA TITOLARITÀ DELLE OPERE DERIVATE IN CASO DI
APPALTO PUBBLICO
Per proporre una soluzione cercando di rimanere aderenti al dato normativo, potrebbe
richiamarsi la disciplina delle elaborazioni creative di cui all’art. 4 della legge 631/1940.
Di fatto, quando l’amministrazione richiede un’applicazione per soddisfare sue peculiari
esigenze, domanda all’appaltatore di realizzare, sulla base di un’opera originale, una nuova
applicazione adattata ad un particolare ambiente informatico della PA richiedente.
La prospettiva di osservazione in questo caso cambia radicalmente, la domanda da porsi non
è più se possa nascere o meno la titolarità della pubblica amministrazione, ma su che cosa è
richiesto che nasca la titolarità della pubblica amministrazione.
Al fine di risolvere la problematica esposta, preliminarmente risulta necessario analizzare in
termini generali la tematica della titolarità delle opere derivate nel caso di utilizzo di software
open sorce.
La tutela della proprietà intellettuale mette in gioco, in ordine alle modifiche del prodotto e/o
alle singole componenti dell’opera derivata, la possibilità, evidenziata da una parte della
dottrina, che si configurino forme di appartenenza collettiva: a fronte del contributo di una
collettività di sviluppatori, che sottostanno alle regole imposte dall’adesione a licenze
copyleft, si creerebbe una situazione di comunione o, piu` ampiamente, di contitolarita` dei
diritti d’autore sul software.
Sorgerebbero quindi nuovi elementi da analizzare al fine di stabilire la titolarità: forme
organizzative e gerarchiche di natura informale e accanto ad esse forme associative
formalizzate (ad es. fondazioni, come per Mozilla e OpenOffice « ...a hybrid of anarchistic
and hierarchical governance... ), in una parola le community.
Esse, formalizzate o meno, costituite da un insieme di sviluppatori che realizzano un progetto
software autorganizzandosi e basandosi sulle tecniche di sviluppo e le facoltà offerte dalla
licenza, si pongono come soggetto in favore del quale i singoli componenti si spogliano dei
loro diritti sul codice, tanto che di fatto esse stesse provvedono a governare il progetto, in
quanto soggetto, sebbene non di diritto, costituito al fine della realizzazione di un applicativo
stabile e fruibile dagli utenti.
In tali casi una volta venuto ad esistenza, il progetto non potrà che essere riferibile a tutti
coloro che alla community hanno partecipato e non vi è dubbio che la titolarità di esso
nascerà, in modo diffuso, in capo a tutti i soggetti che hanno contribuito alla realizzazione
con il loro apporto creativo ed originale (coerentemente con quanto prescritto dall’art. 10
della l. n. 633/1941).
La tesi risulta senza dubbio suggestiva nel momento in cui muove dall’intuizione che il
FLOSS si contraddistingue per la peculiarità dei suoi modelli istituzionali, ossia: le licenze, le
norme sul diritto d’autore e le forme associative tra privati (spontanee o formalizzate).
Pagina 40
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
L’intreccio di tali strumenti, che reggerebbero i pur eterogenei fenomeni dell’open source e
del free software, determinerebbe la creazione di un regime atipico di appartenenza collettiva
fondato sul ricorso congiunto alla tutela degli intellectual property rights ed al contratto.
Il modello istituzionale di sviluppo attraverso la community, cui si ispira tale ricostruzione,
ha il merito di interpretare compiutamente il momento genetico di un progetto open source,
ma non pare poter essere esteso all'interpretazione del suo divenire.
Gli appartenenti alla community infatti pongono in essere atti creativi che danno vita, in
combinazione tra loro, alla creazione di un software open source ma, una volta che
quest’ultimo è stato realizzato, gli interventi successivi sono spesso mere correzioni di
anomalie o ottimizzazioni prive di un apporto creativo tale da porre il problema della
titolarità.
L’idea di un’appartenenza collettiva in particolare, non si presta ad essere applicata al caso
delle opere derivate (qualora, in un momento successivo alla realizzazione del software, il
codice sorgente venga modificato o integrato con nuovi moduli in modo da creare un nuovo
prodotto basato sull’opera originaria).
In tal caso infatti mancando la contestualità (intesa non nel senso di contemporaneità, quanto
di appartenenza allo stesso contesto informatico) degli atti creativi e la condivisione della
finalita`con gli autori originari, appare difficile sostenere una contitolarita` dei diritti sul
software: l’opera derivata infatti in questi casi si distingue da quella originaria.
In questi casi di nuove implementazioni, in presenza di un’attività creativa e originale, può
sostenersi che venga ad esistenza un’opera protetta con autonoma titolarità in capo ad nuovo
autore.
Questa posizione è avallata anche da una recente giurisprudenza della Cassazione (Cass. Civ.
581/2007).
In tale ultima pronuncia la Suprema Corte ha enunciato il principio secondo cui “ ...creativita`
e originalita` sussistono anche quando l’opera sia composta da idee e nozioni semplici...
comprese nel patrimonio di persone aventi esperienza nella materia propria dell’opera stessa,
purchè esse siano formulate e organizzate in modo autonomo e personale rispetto alle
precedenti”
La Corte, mutuando tale principio di diritto da un orientamento giurisprudenziale ormai
consolidato in tema di originalità e creatività, va però oltre affermando che, per il software,
l’innovazione e, quindi, l’originalità e la creatività dell’opera risiedono nell’adattare
l’architettura applicativa al caso e all’ambiente tecnologico specifico.
Applicando questo principio di diritto al caso di acquisizione di software da parte della PA, e
possibile osservare come nella generalità dei casi di committenza pubblica si abbia una
realizzazione che nella pratica si sostanzia in un adattamento di codice rilasciato open source
ad un nuovo e diverso contesto informatico e tecnologico.
Se ciò è vero parrebbe corretto affermare che ogni volta in cui l'appaltatore va a creare un
quid novi sul quale, in virtù dei principi richiamati, possa nascere un'autonoma titolarità, per
gli effetti del d.lgs. 39/993 e degli artt. 4 e 11 della legge 633/1941, essa spetta alla PA
committente.
Pagina 41
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
4 FLOSS, SOFTWARE PROPRIETARIO E CONCORRENZA
Se le problematiche di proprietà intellettuale legate al FLOSS e alla sua acquisizione da parte
della PA, come evidenziato, sono molte e di difficle soluzione, non meno rilevanti sono
quelle legate alla concorrenza e in particolare al dualismo software proprietario - software a
codice sorgente aperto.
Non vi è dubbio infatti che oggi il mercato del software viva questa dialettica in cui, da un
lato il regime proprietario ha creato un sostanziale monopolio legale della conoscenza, che
tendenzialmente determina un innalzamento dei prezzi ed una riduzione dell’offerta,
dall’altro il movimento del FLOSS propone un modello alternativo basato sulla condivisione
della conoscenza stessa quale motore del progresso.
Pure non vi è dubbio che il software rilasciato con modello proprietario abbia negli anni
acquisito una posizione di dominanza del mercato rispetto al software open source. Salvo
alcune nicchie, il software proprietario è infatti più diffuso, conosciuto e utilizzato. Certo è
che il FLOSS presenta vantaggi rilevanti, grazie proprio a quanto previsto nella sua licenza.
Così è iniziato un percorso di scoperta del nuovo modello.
Per prima l'Unione Europea ha mostrato, e mostra tuttora, un forte interesse al fenomeno, si
veda ad esempio l’ eEurope Action Plan 2005, il recente i2010 Initiative — A single
European Information Space, eGovernment Action Plan i2010 e la Comunicazione su
“Interoperability for pan-European eGovernment Services” nei quali l’utilizzo dell’open
source viene definito fondamentale nell’ottica dello sviluppo dei servizi informatici nell’UE.
Il legislatore italiano invece è rimasto inerte e le regioni, in assenza di normativa nazionale,
hanno deciso di muoversi con autonome iniziative per sfruttare i vantaggi offerti dal FLOSS.
La tendenza è stata quella di aprire maggiormente all'utilizzo del FLOSS mettendolo in aperta
concorrenza con il software proprietario ed anzi esprimendo una sostanziale preferenza per il
modello a codice sorgente aperto come se fossero necessarie delle politiche "proconcorrenziali" .
Si pensi, ad esempio, all’esperienza della Regione Toscana che ha intrapreso un percorso di
introduzione dell’open source nell’amministrazione ed è intervenuta a livello sia legislativo,
con la Legge regionale, 26 gennaio 2004, n. 1 (Promozione dell’amministrazione elettronica
edella società dell’informazione e della conoscenza nel sistema regionale. Disciplina della
Rete telematica regionale toscana), sia di programmazione, con il Programma regionale della
Toscana per lo sviluppo della società della conoscenza e dell’informazione 2007-2010, che,
tra i principi e i criteri guida, indica, nel richiamare quanto previsto nella Legge n. 1/2004, "...
il sostegno e l’utilizzo preferenziale di soluzioni basate su programmi con codice sorgente
aperto, in osservanza del principio di neutralità tecnologica, al fine di abilitare
l’interoperabilità di componenti prodotti da una pluralità di fornitori, di favorirne la
possibilita` di riuso, di ottimizzare le risorse e di garantire la piena conoscenza del processo
di trattamento dei dati...".
Il percorso del legislatore toscano è culminato nella legge regionale n. 59/2009 (Istituzione
del sistema informativo e del sistema statistico regionale. Misure per il coordinamento delle
infrastrutture e dei servizi per lo sviluppo della societa` dell’informazione e della
conoscenza), secondo cui "...per assicurare maggiore economicità alle attività della pubblica
amministrazione e favorire al tempo stesso la concorrenza nel mercato delle soluzioni
Pagina 42
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
informatiche, nelle procedure di valutazione delle gare pubbliche per l’acquisizione di
programmi informatici costituisce titolo preferenziale l’uso di codici sorgente aperti o di
formati liberi, sulla base di una valutazione di tipo tecnico-economico delle diverse soluzioni
disponibili sul mercato e delle esigenze organizzative..."
Queste espressioni di preferenza, nonostante siano dettate da una coscente valutazione dei
due modelli proprietario ed open, destano non poche perplessità in tema di conflitto di
competenza Stato-Regione in materia di concorrenza e non solo.
Di particolare rilievo sono, ai fini dell'argomento trattato, le considerazioni contenute nella
recente pronuncia della Corte Costituzionale n° 122/2010 relativa all'illegittimità
costituzionale della legge della Regione Piemonte 26 marzo 2009, n. 9 (Norme in materia di
pluralismo informatico, sull’adozione e la diffusione del software libero e sulla portabilità dei
documenti informatici nella pubblica amministrazione).
La Corte al paragrafo 6 analizza la richiesta di declaratoria di illegittimità costituzionale
relativa agli articoli 6 comma 1 e 2, 4 comma 1 e 5 comma 1 nella parte in cui essi prevedono
l’utilizzo, ad opera della Regione, di programmi per elaboratore a sorgente aperto, per la
diffusione di documenti soggetti all’obbligo di pubblicità e l’utilizzo di programmi per
elaboratore a sorgente aperto per il trattamento dei dati personali di quei dati la cui diffusione
a terzi non autorizzati può comportare pregiudizio per la pubblica sicurezza.
La questione era stata sollevata dalle osservazioni della difesa dello Stato la quale aveva fatto
presente che le norme indicate sarebbero costituzionalmente illegittime in quanto “invasive
del principio di concorrenza, come elaborato dalla giurisprudenza della Corte di giustizia
della Comunità europea e recepito nel nostro ordinamento nella materia dei contratti pubblici
con il codice dei contratti.
Sarebbe escluso, infatti, che possa ricondursi nell’ambito delle materie afferenti alla potestà
esclusiva o concorrente delle Regioni il potere di normare in modo autonomo, imponendo
alle amministrazioni locali l’acquisto di software esclusivamente a codice sorgente aperto,
considerando che siffatte disposizioni verrebbero a collidere con quanto disposto dall’ art.
117, secondo comma, lettera e), della Costituzione, ai sensi del quale la materia della “tutela
della concorrenza” rientra nella potestà legislativa esclusiva dello Stato.
Osserva, inoltre la difesa dello Stato che un diverso assetto avrebbe portato ad una
“differenziazione territoriale della disciplina dei vari mercati e settori economici”
determinando una regolamentazione anticoncorrenziale, con conseguenze negative per
l’economia nazionale”
All'analisi della Corte la questione è risultata non fondata posto che con la normativa non
viene imposta alcuna scelta ma l'utilizzo di software libero viene indicato solo come possibile
alternativa.
Deducendo a contrario dalle argomentazioni della Corte, se nella parte analizzata la legge
della Regione Piemonte ha superato il vaglio di costituzionalità, qualche dubbio in più
dovrebbe permanere per quelle disposizoni normative (come quelle contenute nella Legge
Regione Toscana 59/2009 citata) che individuano nell'open source titolo preferenziale per
l'aggiudicazione dell'appalto o che attribuiscono punteggi superiori ovvero che richiedono
una motivazione nel caso in cui l'amministrazione non acquisisca software con licenza
FLOSS.
Pagina 43
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Ad una prima analisi infatti la valutazione di preferenza che viene assegnata ai formati a
codice sorgente aperto sembra introdurre un criterio di tipo normativo e non tecnico, essa
pare quindi andare oltre la previsione neutra dell'art. 68, comma 1 e in contrasto anche con
l'art. 4 comma 3 del Codice Dei Contratti pubblici relativamente ai criteri di aggiudicazione.
Se infatti la stessa Corte ribadisce che la scelta di uno dei due modelli non riguarda la
tecnologia ma il tipo contrattuale e, in questo senso, è demandata all'utente, quest'ultimo
dovrebbe essere messo in condizione di svolgere una comparazione strettamente tecnica ed
economica delle soluzioni offerte sulla base di criteri neutri, senza essere costretto a fare
riferimento ad un criterio estraneo (il tipo di licenza), o diriga, la sua possibilità di scelta e
incida negativamente, in questo caso sì, sulla concorrenza, dotando i partecipanti alla gara
che adottano lo schema di licenza FLOSS di una posizione di vantaggio competitivo rispetto
a coloro che adottano schemi proprietari, forzando perciò la scelta verso un'applicazione che
non necessariamente da un punto di vista tecnico e/o economico risulti la migliore.
5 CONSIDERAZIONI CONCLUSIVE
Come evidenziato nella trattazione, l'attuale impianto normativo pone molti interrogativi
relativamente all'adozione di FLOSS da parte delle pubbliche ammnistrazioni.
Le tematiche di proprietà intellettuale lasciano spazio aperto a più soluzioni interpretative
evidenziando le lacune di cui è preda il sistema. La conseguenza è l'incerto utilizzo di un
modello di particolare interesse per l'informatizzazione della Pubblica Ammnistrazione e in
questo senso, auspicabile sarebbe un intervento del legislatore che, preso atto di quanto fino
ad oggi emerso, provveda ad eliminare dal campo i principali dubbi interpretativi.
Diverso invece l'approccio alle problematiche concorrenziali.
La pronuncia della Corte richiamata pare cristallizzare un principio di particolare rilievo:
software open source e software proprietario non sono modelli tecnologici distinti ma modelli
giuridici alternativi che identificano due diverse e distinte applicazioni del diritto d'autore.
In questo senso la scelta dell'uno o dell'altro modello è libera e demandata all'utente finale.
La domanda da porsi è quindi se sia non tanto legittima quanto necessaria una normativa
regionale che integri quella statale contenuta nel Codice dell'Amministrazione Digitale
indicando titoli preferenziali.
In fin dei conti il FLOSS, potendo sfruttare il meccanismo della condivisione della
conoscenza, è da un punto di vista tecnico ed economico una soluzione migliore del software
proprietario per l'informatizzazione della Pubblica Amministrazione, già questo dovrebbe
essere sufficiente a dirigere la scelta su applicazioni a codice sorgente aperto, proprio ai sensi
dell'art. 68, comma 1, del CAD.
In conclusione, nonostante le molte problematiche sollevate in relazione alla sua
compatibilità con l'ordinamento vigente, non può esservi dubbio che il FLOSS rappresenti
non una semplice alternativa al modello proprietario, ma la più adeguata risposta alle
esigenze di efficienza, efficacia ed economicità dell'agire amministrativo.
Pagina 44
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Bibliografia
A. Rossato, Diritto ed architettura nello spazio digitale. Il ruolo del software libero, Padova,
2006, spec. 165 ss.
A.Sponzili, Le politiche di incentivazione del software libero nell’ordinamento francese, in
Ciberspazio e diritto, 2002, 185 ss.
L. Lessig, Il futuro delle idee, trad. it. L. Clausi, Milano, 2006
V. Zeno Zencovich-F. Mezzanotte, Le reti della conoscenza: dall’economia al diritto, in Dir.
Inf., 2008, 141 e ss.
M. Valimaki, Dual Licensingin Open Source Software Industry, in Systemes d´Information et
Management, 2003.
Boschiero, Le licenze FLOSS nel diritto internazionale privato: il problema delle
qualificazione, in AIDA, 2004, 176 e ss.
G. Ziccardi, Il diritto d’autore nell’era digitale, Milano, 2001
N.F. Ruju, L’acquisizione e il riuso del software nella P.A., Napoli, 2009.
F. Bravo, La licenza pubblica dell’UE per il rilascio di software open source, in Contr., 2008,
1063 ss.
C. Flick-G.A. Cignoni-V. Ambriola, Il riuso del software nella Pubblica Amministrazione, in
Dir.Internet, 2008, 85 ss.
A. Pioggia, Sviluppo, acquisizione e riuso di sistemi informatici nelle pubbliche
amministrazioni. Commento agli artt. 67-70 del D.Lgs. n. 82/2005, in E. CARLONI (a
cura di), Codice dell’Amministrazione Digitale: commento al D.Lgs.7 marzo 2005, n. 82,
Rimini, 2005, 399 ss.
M. Atelli-S. Aterno-A. Cacciari (a cura di), Codice dell’Amministrazione Digitale.
Commentario, Roma, 2008
F. Bravo, Software « open source » per la P.A. tra diritto d’autore, appalti pubblici e diritto
dei contratti. La licenza pubblica dell’UE per i programmi con codice sorgente aperto, in
Dir. inf., 2008, 865 ss.;
G. Scorza, L’open source nella Pubblica Amministrazione. Aspetti giuridici, in F.
SARZANA, e- Governement. Profili teorici ed applicazioni pratiche del governo digitale,
Piacenza, 2003, 255 ss. Markus, M.L. e Robey, D. (1988). Information technology and
organizational change: Causal structure in theory and research. Management Science, 34
(5), 583-598.
LICENZA
L'autore mette l'articolo sopra esteso a disposizione dei terzi che ne vorranno fruire secondo
quanto indicato nella “CREATIVE COMMONS PUBLIC LICENCE” Attribuzione Condividi allo stesso modo 2.5 -ITALIA- (http://creativecommons.org/licenses/bysa/2.5/it/legalcode ) , i cui termini sono da intendersi qui per esteso richiamati.
Pagina 45
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
CAQDAS – UN APPROCCIO LIBERO
D'Andrea, Vincenzo, Dipartimento di Ingegneria e Scienze dell'Informazione,
Università degli Studi di Trento, via Sommarive 14, 38123 Trento, IT,
vincenzo.dandrea@unitn.it
De Paoli, Stefano, Sociology Department, National University of Ireland, Maynooth,
stefano.depaoli@nuim.ie
Ruzzene, Lorenzo, Facoltà di Sociologia, Università degli Studi di Trento, via Verdi
25, 38122, Trento, IT lorenzo.ruzzene@gmail.com
Teli, Maurizio, Museo Tridentino di Scienze Naturali, via Calepina 14, 38122,
Trento, IT, maurizio@maurizioteli.eu
Abstract
In questo paper viene descritto l'uso di software libero nell'analisi sociologica di tipo qualitativo,
ovvero dei software che vengono chiamati Computer Assisted Qualitative Data Analysis Software o
CAQDAS. Anche se questo tipo di ricerca è patrimonio di altre discipline, quali ad esempio la
psicologia o l'antropologia, in questo lavoro concentreremo la nostra attenzione alla sociologia, per
congruenza disciplinare con gli interessi degli attuali partecipanti al progetto.
L'analisi sociologica di tipo qualitativo è una metodologia di ricerca che pone l'accento sul lavoro
svolto da ricercatrici e ricercatori sui dati, e che si presta bene all'uso di prodotti software a supporto
della ricerca stessa. Per lo stesso motivo, le limitazioni delle soluzioni proprietarie possono diventare
limitazioni alla libertà di ricerca o quanto meno alle potenzialità della metodologia.
In questo lavoro descriviamo due diverse esperienze. La prima è un progetto per lo sviluppo di un
pacchetto CAQDAS basato su Drupal, un progetto sostenuto dall'Università di Trento. La seconda è
centrata sull'utilizzo di Add-on del browser Firefox per condurre una analisi qualitativa su dati
provenienti dal Web.
Gli scopi di questo articolo sono: (a) stimolare un dibattito sull'uso di software libero per condurre
analisi dei dati di tipo qualitativo ; (b) promuovere l'uso di risorse già disponibili per condurre analisi
dei dati di tipo qualitativo; (c) incentivate lo sviluppo di soluzioni adattabili alle esigenze della singola
ricercatrice, invece che costringere la ricercatrice ad adattarsi al software.
Parole Chiave: Ricerca Qualitativa, CAQDA, Drupal, Firefox,.
Pagina 46
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 INTRODUZIONE
Questo articolo presenta una riflessione su due diverse esperienze di utilizzo di software
libero a supporto dell'analisi dei dati nella ricerca sociale di tipo qualitativo (nel seguito
CAQDAS, Computer Aided Qualitative Data Analysis Software). In questo contesto, i nostri
obiettivi sono tre: (1) stimolare un dibattito sull'uso di software libero per condurre analisi dei
dati di tipo qualitativo; (2) presentare una esperienza basata sull'uso di risorse già disponibili
per condurre analisi dei dati di tipo qualitativo; (3) attivare interesse per lo sviluppo di
soluzioni adattabili alle esigenze della singola ricercatrice 72 (invece che costringere la
ricercatrice ad adattarsi al software). Per raggiungere questi scopi, l'articolo è così
organizzato: una introduzione ai CAQDAS; un resoconto su un progetto di sviluppo di
CAQDAS libero; una descrizione delle possibilità di utilizzare estensioni di Firefox come
componenti di strumenti CAQDAS; conclusioni su possibili sviluppi.
2 COSA SONO I CAQDAS
Nelle scienze sociali sono presenti due tradizioni metodologiche di ricerca: la ricerca
quantitativa e quella qualitativa. Per quanto riguarda la prima, sono ben noti e accettati i
pacchetti software in grado di fornire supporto alle ricercatrici. Si tratta di programmi
commerciali come SPSS o Stata, o del progetto open source R, tutti software di importante
rilievo in università, istituti di ricerca e aziende. Anche le ricercatrici che intendono avvalersi
della metodologia qualitativa hanno a disposizione numerosi pacchetti software. I CAQDAS
sono dei programmi finalizzati ad assistere le ricercatrici nelle analisi di tipo qualitativo,
ovvero basate su dati qualitativi. Essi sono in grado di rendere più agevole, trasparente e
tracciabile l’analisi, andando oltre quello che può essere un semplice programma per
prendere appunti.
Nella ricerca qualitativa le tecniche impiegate possono essere, ad esempio, osservazione
partecipante, interviste in profondità o focus group, mentre l'analisi può essere svolta
ispirandosi alla grounded theory, alla frame analysis, all'analisi della conversazione o
narrativa, eccetera. I dati sono principalmente in forma discorsiva e testuale (ma anche
audiovisiva), e possono essere costituiti da interviste (solitamente trascritte), note di campo,
diario della ricerca, tracce audio e video e fotografie.
Tradizionalmente, nella fase di catalogazione, analisi e scrittura dei risultati, si usava un
metodo manuale: sottolineature, evidenziazioni e note a margine, con tutte le difficoltà che si
ponevano alla ricercatrice lavorando su grandi quantità di carta. La diffusione del personal
computer e i primi elaboratori di testo hanno reso più semplici alcuni di questi processi, senza
però riuscire a supportare l'intero processo della ricerca qualitativa. I CAQDAS consentono
di avere tutti i dati raccolti in un singolo contenitore elettronico, spesso definito “progetto”;
all'interno di questo è possibile la catalogazione di tutto il materiale della ricerca,
l'applicazione di etichette (codici) a parti del testo ritenute rilevanti (citazioni) ed i
collegamenti di parti del testo tra loro (link ipertestuali).
La scelta del femminile è legata al noto problema del sessismo nella lingua italiana, sessismo che dovrebbe spingere all'utilizzo di espressioni o neutre o maschili e femminili contemporaneamente. Per economicità della scrittura, si è optato per utilizzare il femminile invece dell'uso doppio maschile e femminile. 72
Pagina 47
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Molti studiosi ritengono che mediante l'utilizzo del computer l'interpretazione dei dati risulti
più trasparente e tracciabile, scongiurando il rischio di bias nella costruzione di spiegazioni o
nel testare una teoria. Come ben sintetizzato da Wolcott (1990; 35) “The critical task in
qualitative research is not to accumulate all the data you can, but to ‘can’ (i.e. get rid of)
most of the data you accumulate”. Proprio per questo scopo sono stati sviluppati i CAQDAS.
Non si tratta perciò di strumenti per effettuare la content analysis, ovvero uno studio statistico
sulle frequenze di parole e frasi, o occorrenze di parole e frasi con altre. Sebbene anche alcuni
CAQDAS lo permettano in vario modo, non è il loro scopo principale (Lewins & Silver,
2007; 6-7).
Mangabeira, Lee e Fielding (2004) mostrano come nel campo dei software per la ricerca
computer-assisted, fin da quando si trattava di semplici strumenti di codifica e recupero, si
sono sviluppati tre trend: una maggiore sofisticazione, ovvero è possibile effettuare
operazioni che senza l’ausilio del computer sarebbe altrimenti arduo compiere; la
commercializzazione, ossia lo sviluppo di software proprietari, con il rischio della chiusura a
particolari metodologie e procedure, oltre ai limiti posti nella condivisione tra ricercatrici (la
ricerca è vista quindi sotto certi aspetti come un bene commerciabile); infine, gli autori
osservano un aumento degli utenti, sia in diversità, che in ampiezza. Le principali possibilità
offerte dai CAQDAS sono a nostro avviso sintetizzabili in otto operazioni:
(1) Vicinanza e prossimità ai dati – Un grande vantaggio dei CAQDAS è quello di poter
includere nella ricerca tutti i tipi di dati che si sono raccolti o che si stanno ancora
raccogliendo. Una volta associato il proprio materiale al progetto, è possibile commentare ed
annotare in modo che le proprie osservazioni siano collegate ai dati. Inoltre è possibile
collegare tra loro parti rilevanti dei dati, come ad esempio resoconti che nella narrazione non
sono espressi ordinatamente.
(2) Applicazione di codici a segmenti di dati – I codici hanno lo scopo di facilitare l’analisi,
permettendo di contrassegnare particolari situazioni sociali, esperienze, identificare modelli
(patterns) in atteggiamenti, investigare processi d’interazione. L’applicazione di codici
avviene definendo la quantità di testo da essere codificata (parola, frase, paragrafo, intero
documento), ed assegnando i codici rilevanti ad una porzione o a porzioni sovrapposte. I
codici si possono creare a priori o mentre si leggono i dati, legandoli con il segmento che ha
dato quell’idea, concetto o categoria.
(3) Realizzazione di uno schema di codifica – Strettamente connessa alla questione dei codici
vi è la realizzazione di uno schema di codifica. Da molti l’analisi qualitativa (o per lo meno
una parte importante di essa) viene vista come l’attività di frammentare e poi rimettere
assieme diversi segmenti di dati, cioè creare uno schema di codifica (Lewins & Silver, 2007;
91-100). Alcuni software offrono alla ricercatrice la possibilità di realizzare schemi di
codifica gerarchici, che consentono di tenere un maggior ordine nella codifica ma possono
causare dubbi di assegnazione.
(4) Esplorazione e visualizzazione dei dati semplice – Una volta effettuata la codifica, il
passo successivo è quello di recuperare il lavoro fatto, qualsiasi tipo di codifica sia stato
realizzato. Questo in quanto il così detto “code & retrieve” (codifica e recupero) è alla base
dei CAQDAS. È qualcosa che si dovrebbe fare anche durante la codifica, per vedere modelli,
relazioni, contraddizioni.
(5) Organizzazione della scrittura – È importante annotare pensieri, intuizioni, domande e
teorie non appena vengono in mente, non solo perché potrebbero tornare utili, ma anche per
Pagina 48
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
tenere traccia delle idee iniziali, cosicché si possa riformularle meglio. Con i CAQDAS è
possibile cercare tra le note, seguendo anche i link tra gli oggetti e i dati.
(6) Mappare idee e collegare concetti – Le mappe permettono di riprendere gli oggetti del
progetto in maniera schematica; danno modo di avere sotto controllo le complesse
interrelazioni dei differenti elementi dell’analisi. Le mappe possono aiutare a lavorare in
maniera più astratta, facilitando il processo d’analisi, aiutando ad integrare e connettere idee
astratte con gli stessi dati. Lavorando con le mappe nei CAQDAS, è importante la possibilità
di manipolare oggetti dal contenuto “attivo”.
(7) Organizzazione dei dati – Permette di focalizzarsi su sottoinsiemi di dati, e combinazioni
di sottoinsiemi, ed è particolarmente importante quando si lavora su un progetto di larga
scala. Facilita la comparazione, l’identificazione di strutture e relazioni, permette un facile
accesso al dataset.
(8) Interrogazione dei dati – L’interrogazione dei dati, al di là del semplice recupero delle
citazioni e dei codici associati, è una delle funzionalità più raffinate offerte dai CAQDAS. Le
operazioni di ricerca possono riguardare il contenuto (ovvero il testo) oppure i codici. Ad
esempio, si potrebbero comparare gruppi di rispondenti, per considerare come hanno parlato
di una tematica; oppure trovare dove alcuni intervistati hanno parlato di un argomento; o
trovare dove gli intervistati hanno parlato di un argomento vicino ad un altro; e così via.
2.1
I CAQDAS esistenti (liberi e non)
Come notato da Lewis e Silver (2006), spesso per il ricercatore è in atto un processo di
selezione di un software adatto per la specificità della ricerca. Tra i vari software proprietari
disponibili, tre di essi hanno ad oggi maggior diffusione e completezza in funzionalità. Si
tratta di ATLAS.ti, MAXqda e NVivo (Lewins & Silver, 2007; Di Gregorio & Davidson,
2008). Altri sono HyperRESEARCH, QDA Miner, Qualrus e Transana. Questi software
facilitano le operazioni di codifica e il recupero dei dati, nonché le fasi di costruzione della
teoria vera e propria (tra cui prendere appunti e note). Le funzionalità di base sono
congruenti, mentre l’elemento caratterizzante è la logica mediante la quale ogni programma
offre le procedure d’analisi e l’organizzazione delle informazioni nel progetto.
Si assiste negli ultimi anni al supporto di un maggior numero di formati, a un miglioramento
dell’interfaccia, e altre di minore entità per gran parte delle utilizzatrici. È presente nelle
ultime versioni una maggiore integrazione con il web per quanto riguarda l’analisi di siti, la
gestione dei collegamenti e la geolocalizzazione mediante Google Earth. I principali software
proprietari per certi versi si influenzano a vicenda nelle novità inserite nelle ultime versioni.
I prodotti proprietari hanno tuttavia limitazioni significative. Nvivo non consente la
manipolazioni di dati in formato HTML e si limita al trattamento dei dati in formato doc e/o
semplici file di testo (limitazione rilevante nel caso sempre più frequente di ricerche basate su
dati presenti nel web). ATLAS.ti ha limitazioni simili, a cui di potrebbe ovviare con la
trasformazione dei dati da HTML a pdf, operazione complessa nel caso di grosse moli di dati.
Infine, la vera e propria analisi dei dati viene salvata in specifici formati di tipo proprietario
che poi possono essere letti e/o manipolati solamente con il software che li ha creati.
Esistono alcune soluzioni CAQDAS software libero. In particolare, le due più rilevanti sono:
 WeftQDA (pacchetto QDA con operazioni di base), realizzato da Alex Fenton, originariamente per l’analisi di interviste e note di campo di una sua ricerca, per il Pagina 49
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari

conseguimento del MSc, riguardo alle cooperative di credito (credit unions) a South London. Si tratta di un software generico per la codifica e il recupero dei dati testuali, mediante una semplice interfaccia. È più limitato nelle funzionalità rispetto ai principali software commerciali, anche se per la realizzazione di operazioni base (codifica, recupero, memo) può essere considerato più che adeguato. Inoltre, caso più unico che raro, supporta sia Windows sia Linux (in futuro anche Mac OS X). Permette di tr attare unicamente dati testuali (testo o PDF), e permette anche semplici ricerche booleane, una certa misura di statistiche descrittive sui dati e cross­tab dei codici. Un’altra interessante proposta è RQDA. Si tratta di un pacchetto aggiuntivo del software R, solitamente noto per l’analisi di dati statistici. Creato da Ronggui Huang per la conduzione della sua ricerca di dottorato presso la City University di Hong Kong, nella quale intendeva svolgere l’analisi del contenuto di articoli di giornale. La sua intenzione era quella di poter avere un software multipiattaforma (essendo un pacchetto di R, è utilizzabile in tutti i sistemi operativi supportati da quest’ultimo), avere un software semplice e completamente controllabile da lui stesso. Il pacchetto supporta solo documenti di testo (plain­text), e permette tutte le funzionalità di base dei CAQDAS (codifica e recupero, memo, organizzazione dei dati). Essendo un pacchetto di R, si presta particolarmente per le metodologie miste, possibili anche con altri software tramite esportazione di tabelle con frequenze di parole o codici in un foglio elettronico o pacchetto statistico, ma che in questo caso vengono direttamente gestite dallo stesso strumento. L’interfaccia è tuttavia non intuitiva, e al momento non è uno strumento adatto a gran parte della comunità delle ricercatrici qualitative, e nemmeno degli utenti dei CAQDAS.
Benché queste soluzioni siano interessanti e utili, con il nostro progetto cerchiamo di spostare
la prospettiva dei CAQDAS liberi su un piano decisamente più avanzato delle proposte
proprietarie.
3 IL PROGETTO WEB-BASED
Il progetto attualmente chiamato “QDA-UniTn” ha come obiettivo la produzione di un
software per l'analisi qualitativa dei dati nella ricerca sociale. Il software che in via di
sviluppo ha tre caratteristiche principali: essere software libero e open source; essere multipiattaforma, ovvero utilizzabile con diversi sistemi operativi; essere concepito come uno
strumento che favorisca la collaborazione tra ricercatrici, invece di privilegiare un concetto di
ricerca come attività individuale.
La necessità di una soluzione libera emerge da una analisi di mercato delle soluzioni
attualmente disponibili, analisi che sottolinea come poche di queste soluzioni permettano ad
una istituzione accademica, impegnata nell'analisi qualitativa, di adattare il software per
facilitare i diversi usi dello stesso fatti dalle ricercatrici. Dalla stessa analisi emerge come
poche delle soluzioni disponibili permettano alle ricercatrici di scambiarsi documenti senza
essere costretti ad adottare un ristretto numero di sistemi e ambienti operativi. Infine, la spinta
verso uno strumento che nasca come facilitatore della cooperazione viene dalle recenti
innovazioni metodologiche nella ricerca sociale, sempre più un'attività collettiva, come
mostra l'uso di termini quali “etnografia globale” o “etnografia multi-situata”, concetti che
sottolineano come ormai la ricerca qualitativa coinvolga sempre più gruppi di ricerca che
Pagina 50
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
analizzano dati similari, se non gli stessi, mentre i prodotti attualmente disponibili nascono
tutti da un concetto di ricerca e di analisi dei dati come attività individuale.
La soluzione adottata si basa sul Content Management System (CMS) Drupal, sul riuso di
moduli già esistenti, e sulla creazione di moduli appositi per il lavoro di analisi di testi
preparati in precedenza.
3.1
Perché una soluzione basata su Drupal
Un approccio web-based è la prima ed intuitiva risposta alle domande su come costruire un
sistema intrinsecamente collaborativo. Da Wikipedia ai Google Docs, la rete è piena di
esperienze di successo che hanno sfruttato il modello cooperativo con un editing
collaborativo di testi, contenuti e strutture, navigando tra pagine e immagini, modificando i
contenuti esistenti e creandone di nuovi.
Le domande che emergono valutando una soluzione basata sul web sono principalmente tre:
 quali i migliori linguaggi per raggiungere un buon risultato (facilità di programmazione e uso)?
 quali le funzioni principali da offrire all'utenza?
 come garantire la possibilità di lavorare off­line, in assenza di una connessione a Internet?
Se la risposta al terzo quesito non è ancora stata data, le risposte fornite nell'ambito del
progetto QDA-UniTn agli altri due quesiti si sono concretizzate nella scelta di Drupal come
piattaforma di supporto e nella conduzione di interviste con ricercatori e ricercatrici per
costruire una lista di funzionalità base che ha costituito l'ossatura della costruzione di un
primo prototipo.
Considerando Drupal come CMS, i pregi principali per la costruzione di un software
CAQDAS
riguardano principalmente due aspetti: la struttura modulare e la grande
disponibilità di moduli già costruiti dagli utenti e sviluppatori dello stesso CMS. Parlando di
struttura modulare, un CMS come Drupal permette, partendo da una base poco esigente in
termini di risorse, di aggiungere funzionalità in maniera indipendente, attraverso la
costruzione di uno o più moduli specifici. Inoltre, Drupal fornisce un ampio numero di
moduli già sviluppati dalla comunità che permettono di trovare le soluzioni più adeguate per
tutte le funzionalità di base del progetto. Al momento, solo per la versione 6.x, quella
utilizzata dal progetto, sono disponibili 6881 moduli. Per capire quali di questi moduli
utilizzare e su cosa concentrare lo sviluppo, il gruppo di lavoro ha compiuto delle interviste
con potenziali utenti in modo da costruire una serie di use case ed una lista di funzionalità
necessarie.
3.2
Le funzionalità necessarie
Per rispondere alla domanda “quali le funzioni principali da offrire all'utenza?” si sono
effettuate delle interviste con utenti di altri software CAQDAS, potenzialmente interessate ad
utilizzare la soluzione proposta. In particolare, sono state intervistate due ricercatrici
universitarie ed un ricercatore di un ente pubblico di ricerca non universitario. Tali interviste
hanno fatto emergere un quadro di quali siano le funzionalità imprescindibili di ogni software
CAQDAS:
Pagina 51
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari














caricare documenti di testo in vari formati (doc, odt, pdf, txt ed altri)
creare una scheda identificativa diversa per ogni testo (es. dati specifici, gg, ora, locale,
ecc)
evidenziare il testo con colore, grassetto, corsivo e/o sottolineato
inserire foto, video e audio per illustrare il testo
creare codici associati a parti del testo, associando una descrizione ad ogni codice
creare una propria simbologia di codici
creare, anche in modo assistito, un rapporto tra i codici
creare famiglie di codici, associando commenti alle famiglie
creare grafici o mappe con nodi concettuali
stampare il testo presentato sullo schermo oppure quello dell'intero documento
salvataggio automatico del lavoro ad ogni 3 minuti
il software crea una traccia per ogni modifica fatta dal ricercatore/ricercatrice
il software è dotato di un esploratore di documenti per la ricerca di parole
il software è dotato di un supporto quantitativo per il conteggio di parole
Figura 1: relazioni tra le attività del/la ricercatore/ricercatrice ed il software.
Pagina 52
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
A questo elenco di funzionalità si è affiancata la produzione di uno use case, che rappresenta
la relazione tra la ricercatrice che intende utilizzare il software ed il software stesso (Figura
1). Tali funzionalità legate all'uso individuale vanno poi ampliate attraverso la gestione di
ricerche che coinvolgono più ricercatori e ricercatrici, attraverso un'attenta analisi dei
permessi da garantire su alcuni specifici documenti. In particolar modo, sono previste almeno
due tipologie di utente:
 responsabile della ricerca
 ricercatore/ricercatrice
La responsabile della ricerca ha possibilità più ampie della singola ricercatrice, in quanto è
l'unica a cui è permesso eliminare file ed assegnare ricercatrici ad un singolo file. È previsto
che sia possibile avere più figure come responsabili della ricerca. La ricercatrice, oltre a poter
gestire i propri file e a poter lavorare su di essi, possono inoltre lavorare su file a loro
assegnati dal responsabile della ricerca. Il prototipo realizzato rispecchia tale distinzione.
In conclusione, l'Università di Trento, nel progetto QDA-UniTn, si è avvalsa finora di risorse
relativamente scarse (un coordinatore di progetto, uno degli autori, per un mese uomo
all'anno per due anni e quattro studenti o studentesse, per un totale di seicento ore di lavoro,
trecento all'anno) ma, sfruttando le potenzialità del software libero di riusare tecnologie
mature e stabili, è giunta alla realizzazione di un primo prototipo che ha enucleato quali siano
le funzionalità fondamentali per attrarre utenti nella fase iniziale. Al momento, il progetto è in
attesa di un nuovo finanziamento per trasformare il prototipo in una versione beta utilizzabile.
Se un approccio libero basato sul riuso è funzionale alla costruzione di un nuovo sistema, il
paragrafo successivo mostrerà come il riuso individuale di componenti separate possa essere
sufficiente nel caso di una ricerca specifica, per condurre raccolta e analisi dei dati di tipo
qualitativo.
4 QDA CON GLI ADD-ON DI FIREFOX
Queste note sono parte della ricerca che uno degli autori sta facendo sul fenomeno del
“cheating” (imbrogliare/barare) nei Massive Multiplayer Online Games (MMOPRGs) (De
Paoli e Kerr, 2010). Senza entrare troppo nel merito dei particolari, questa ricerca è condotta
raccogliendo dati principalmente attraverso Internet e nello specifico i dati della ricerca sono
composti principalmente da discussioni di Internet Forum. In un forum gli utenti formano
spesso una comunità virtuale e discutono di argomenti in comune (per esempio di un
videogame online), oppure di una sua sottosezione (per esempio di “scambio di oggetti
virtuali” in un videogame). Il contenuto degli Internet Forum, come ogni altro contenuto del
World Wide Web può essere recuperato e navigato attraverso l'uso di un Browser. In
particolare, in questa ricerca sul cheating, è stato utilizzato uno dei principali Web Browser
liberi: FireFox. In questa sezione verranno descritti alcuni Add-On del browser Firefox che
sono stati utilizzati in questa ricerca nelle fasi di raccolta ed analisi dei dati.
4.1
Raccolta dei dati
Uno dei problemi principali della ricerca sul “Cheating” è stato quello di salvare ed
organizzare le discussioni degli Internet Forum, così da poter utilizzare questi dati in fasi
successive della ricerca. Ed infatti il problema di salvare il contenuto del Web, che in molti
Pagina 53
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
casi appare volatile (McCown and Nelson, 2009), è uno dei problemi emergenti della Internet
Research (Pollack and Gatterbauer, 2007).
La raccolta dei dati (i threads dei Forum) è stata fatta attraverso un Add-On di Firefox
chiamato Scrapbook (http://amb.vis.ne.jp/mozilla/scrapbook/). Questo software permette di
realizzare raccolte di pagine web (incluso interi siti-web) che possono essere non solo
immagazzinate ma anche facilmente gestite attraverso le funzionalità del software stesso.
Scrapbook permette di catturare le pagine web e di organizzarle in cartelle (vedi Figura 2). Le
pagine “catturate” sono salvate “in locale” e possono essere successivamente utilizzate (per
esempio per l'analisi dei dati).
Il software Scrapbook possiede diverse funzionalità utili alla ricerca sociale in ambito web ed
Internet: per esempio, come nei sistemi CAQDAS, ha un motore di ricerca interno, è
possibile prendere note, risalire alla pagina web originale, ed operare back-up completi dei
dati.
Figura 2: Catturare una pagina web con Scrapbook. Sulla sinistra si può anche vedere come
i dati possono essere organizzati in cartelle.
Una delle funzionalità di Scrapbook maggiormente interessanti per la ricerca è la possibilità
di avere Scrapbook “multipli”, dove salvare diverse collezioni di pagine web oppure copie (o
parti di) delle stesse collezioni (vedi Figura 3). E' così possibile muoversi tra diverse
collezioni di pagine Web immagazzinate in diversi Scrapbook. Questa funzionalità di
Scrapbook è per esempio utile per distinguere tra la stessa collezione/raccolta di pagine o siti
web nei momenti di raccolta ed analisi dei dati (i.e. si pu avere una copia separata degli stessi
dati per fare l'analisi all'interno di Scrapbook).
Pagina 54
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 3: Scrapbook Multipli (Gli Scrapbook sono in questo caso 3:
1) TIBIA_DATA_ANALYSIS, 2) Tibia_Concepts&Memos e 3) Profile folder).
4.2
Analisi dei dati
La ricerca sul cheating ha visto anche una fase di analisi dei dati. In particolare è stato deciso
di adottare una Grounded Tehory (GT) (Charmaz. 2006). La GT è un approccio che mira a
costruire teorie sociali sulla base di un approccio ricorsivo ed induttivo di codifica tra dati e
concetti. La GT comporta la creazione di codici, simili a veri e propri “tag” che si possono
applicare su porzioni di dati (testo nel caso specifico). Molti codici quindi vengono a
comporre categorie di livello più elevato (concetti) la cui organizzazione dovrebbe portare
alla costruzione di una teoria.
Un primo Add-On di Firefox utile per l'analisi è Wired Marker (http://www.wiredmarker.org/en/). Si tratta di un “evidenziatore indelebile e permanente” che si utilizza sulle
pagine Web. Il contenuto evidenziato è anche in grado di essere facilmente recuperato e
visualizato attraverso dei bookmarks che possono essere organizzati in cartelle. In breve,
Wired Marker consente di associare una “codice/bookmark” a porzioni di testo di pagine
web. Il testo può essere associato al bookmark semplicemente evidenziando col cursore del
mouse e poi trasportato con un operazione di “drag-and-drop” verso il bookmark/cartella di
WM (Figura 4). Il testo associato ad ogni codice puo successivamente essere recuperato e
visualizzato (Figura 5).
Pagina 55
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 4: Catturare una porzione di testo associarla ad un codice con un "drag and drop".
Figura 5 - Visualizzazione delle porzioni di testo associate ad uno specifico codice.
In breve WM compie le medesime operazioni di base dei comuni CAQDAS : (1) associare
porzioni de testo ad un codice (Figura 4); (2) recuperare successivamente il testo relativo ad
un codice (Figura 5). Grazie all'Add-On Mutlisidebar (https://addons.mozilla.org/enUS/firefox/addon/4534) è possibile avere barre laterali multiple e quindi utilizzare più AddOn contemporaneamente. Nello specifico caso della ricerca sul cheating Wired Marker e
Scrapbook sono stati utilizzati assieme creando uno Scrapbook contenente i dati da
analizzare, che poi sono stati analizzati utilizzando WM.
Per quanto riguarda la costruzione vera e propria dei codici, una delle fasi della GT, vi sono
diverse strategie. In particolare attraverso delle pre-analisi che considerano una analisi fatta
“parola-per-parola”, “linea-per-linea”, o “evento-per-evento”. Optando per una strategia di
costruzione dei codici “linea-per-linea” compiuta su una sample (porzione) dei dati raccolti si
può utilizzare un altro Add-On di Firefox, “Edit and Note” (http://editandnote.ritty.hu/) che
consente di “incollare” una nota all'interno di una pagina Web.
Pagina 56
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
5 CONCLUSIONI
Nel panorama dei CAQDAS, la nostra analisi ha evidenziato che le soluzioni attualmente
disponibili non sono in grado di supportare le esigenze di collaborazione sempre più rilevanti
nella ricerca qualitativa. Inoltre, sono particolarmente rilevanti le limitazioni riguardanti i
formati dei dati utilizzabili, anche per esporare/importare i dati, aggravate dall'uso di formati
proprietari chiusi per salvare i risultati del lavoro di ricerca.
Poche delle soluzioni disponibili offrono alle ricercatrici la possibilità di condividere i dati
analizzati in maniera semplice. Un'ulteriore spinta in tal senso proviene dalle recenti
innovazioni metodologiche nella ricerca sociale in una forma più tendente all'attività
collettiva, dove la ricerca qualitativa coinvolge sempre più gruppi di ricerca che analizzano
dati simili. I software esistenti sottendono invece un principio di ricerca più classico,
favorendo la ricerca come attività individuale.
In questo lavoro abbiamo presentato un progetto di sviluppo di un CAQDAS libero e la
possibilità di costruirsi una sorta di “cassetta degli attrezzi” con Add-On di Firefox. Non è
esclusa la possibilità di integrare i due approcci, creando una soluzione mista, in parte sul
client (gli Add-On di Firefox), in parte su server (i moduli Drupal). In ogni caso, lo strumento
utilizzato nella ricerca ha rilevanza per l'analisi che si intende svolgere. Mediante strumenti
liberi e collaborativi è possibile ottenere un maggior grado di personalizzazione
dell'interfaccia e delle funzioni del software. Inoltre è possibile ed auspicabile l'interesse di
altre ricercatrici allo sviluppo di plug-in ed estensioni in grado di arricchire le funzionalità del
programma.
RINGRAZIAMENTI
Stefano desidera ringraziare gli sviluppatori degli Add-On di Firefox usati nella ricerca. Un
grazie in particolare a Valeria Ritty, sviluppatrice di “Edit and Note” con la quale ho
intrattenuto interessanti discussioni, in particolare su come usare Scrapbook assieme a “Edit
and Note”. Gli altri autori ringraziano gli studenti e le studentesse che hanno finora
collaborato allo studio di fattibilità, alla progettazione, ed alla realizzazione del prototipo di
“QDA-UniTn”.
BIBLIOGRAFIA
Charmaz, K. (2006). Constructing grounded theory: A practical guide through qualitative
analysis. London: Sage.
De Paoli S. and Kerr. A. (2010). 'We Will Always Be One Step Ahead of Them': A Case Study
on the Economy of Cheating in MMORPGs, Journal of Virtual Worlds Research, 2(4).
Di Gregorio, S., and Davidson J. (2008). Qualitative Research Design for Software Users.
Open University Press Milton Keynes, UK, USA.
Mangabeira, W. C, Lee, R. M. and Fielding N. G. (2004). “Computers and qualitative
research: Adoption use, and representation.” Social Science Computer Review 22:167.
McCown, F. and Nelson, M. L. 2009. What happens when facebook is gone?. In Proceedings
of the 9th ACM/IEEE-CS Joint Conference on Digital Libraries (Austin, TX, USA, June
15 - 19, 2009). JCDL '09. ACM, New York, NY, 251-254. DOI=
http://doi.acm.org/10.1145/1555400.1555440
Pagina 57
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Lewins, A., and Silver C. (2007). Using software in qualitative research: a step-by-step
guide. Sage Publications.
Lewis, A and Silver, C (2006) Choosing a CAQDAS Package, CAQDAS Networking
Project, Retrieved January, 2009 from http://cue.berkeley.edu/qdaarticle.pdf
B. Pollak and W. Gatterbauer. Creating permanent test collections of web pages for
information extraction research. In J. van Leeuwen et al, editors, SOFSEM 2007: Theory
and Practice of Computer Science, 33rd Conference on Current Trends in Theory and
Practice of Computer Science. Volume II, pages 103–115. Institute of Computer Science
AS CR, Prague, 2007.
Wolcott, H. F. (1990) Writing up qualitative research (Vol. 20). Newbury Park, CA: Sage.
Pagina 58
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
ANALISI ETNOGRAFICA DI UN PROGETTO LIBERO
Donato, Daniel, Università di degli Studi di Salerno, 84084 Fisciano (SA), IT,
ddonato@unisa.it
Bonu, Bruno, Praxiling UMR 5267- Université Montpellier 3 – CNRS, FR,
bruno.bonu@univ-montp3.fr
Abstract
Gli studi sull'innovazione ascendente, in ambito informatico, rappresentano da sempre un campo poco
praticato dall'etnografia. Diverse sono le motivazioni che hanno scoraggiato questo tipo di ricerche. Il
carattere imprevedibile dell'innovazione che spesso si manifesta in modo dirompente ed imprevisto al
difuori dei contesti tradizionalmente ad essa deputati rappresenta certamente un ostacolo ad
un'analisi di tipo etnografica dell'innovazione.
Il presente è un tentativo, ancora in corso, di studiare le dinamiche di innovazione che si realizzano
all'interno di un gruppo di lavoro impegnato nella concezione, progettazione e realizzazione di un
Software Libero per riunioni digitali. Per fare ciò abbiamo seguito l'iter di costituzione e realizzazione
di un software per riunioni digitali libero (http://riunionidigitali.net). La ricerca è stata condotta
attraverso registrazioni audio-video degli incontri in presenza e di registrazioni dello schermo delle
sessioni di lavoro. Le fasi dell'attività che sono state monitorate vanno dalla costituzione del gruppo
alla realizzazione dei test sulla piattaforma.
Come ogni analisi di tipo etnografica, la prima parte della ricerca è dedicata a una breve descrizione
dei temi della “cultura” dei partecipanti al progetto e a descriverne la 'storia', la seconda parte
descrive l'attività pratica che il gruppo pone in essere, la terza la metodologia adottata ed in fine i
primi risultati e alcuni spunti di analisi per successivi lavori di approfondimento.
Parole Chiave: Etnografia, Software Libero, Uomo macchina, Interazione, Analisi della
Conversazione.
1 INTRODUZIONE
Si tratta di una ricerca interdisciplinare ancora in corso è volta a fornire un'analisi etnografica del processo di innovazione73. Caratteristica della prospettiva etnografica è l'acquisizione del punto di vista dei partecipanti ad un'attività spogliandosi dallo sguardo ironico del ricercatore sociale sull'attività oggetto di studio. Particolare attenzione è stata accordata all'analisi del punto di vista dei partecipanti. Tenere conto del contesto informativo sotteso dai partecipanti 73
Questa ricerca « Ethnographie de l'innovation ascendante : "Assemblée Numérique" et outils FLOSS (Free Libre Open Source Software)» condotta in collaborazione fra il Laboratorio di Praxiling UMR 5267 dell'Università di Montpellier e l'Associazione Intellicom è stata possibile grazie a un finanziamento dell’Institut des Sciences de la Communication du CNRS (ISCC) et dell'Université Montpellier 3 (BQR) 2008­2009.
Pagina 59
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
nel prendere le decisioni di azioni, come nell'interpretare le azioni altrui è una prerogativa di questo approccio. L'analisi verte sull'attività pratica del gruppo impegnato nello sviluppo di uno strumento libero per realizzare riunioni on line.
La ricerca ha un triplice scopo:
a) verificare da un punto di vista etnografico idee presenti nella letteratura sul processo di innovazione in testi che fanno parte della cultura del Software Libero come Raymond (1998) oppure genericamente riferiti all'innovazione (Albero,Linard e Robin, 2008);
b) esplorare nuove piste al fine di poter restituire alla comunità del Software Libero consigli utili a migliorare le pratiche organizzative;
c) fornire consigli utili al gruppo su come migliorare il design dello strumento.
La prima parte di questo articolo espone le caratteristiche del Gruppo (Paragrafo 2) , ci si sofferma in particolare sulla cultura e sulla storia del gruppo. La Seconda parte descrive l'attività pratica che il gruppo pone in essere (Quadro della ricerca, paragrafo 3). La terza parte descrive la metodologia adottata (4) . In conclusione sono presentati alcuni spunti sull'analisi in corso (delle riunioni di concezione) e una breve discussione di quelli che possono essere gli sviluppi futuri della ricerca.
2 IL GRUPPO
2.1
La cultura
Il gruppo preso in esame si riconosce pienamente nel movimento per il Software Libero. Si tratta di un movimento che nasce negli anni '80 con il fine di difendere la comunità degli utilizzatori­sviluppatori contro i tentativi di appropriazione del software e di asservimento della libertà degli utenti. Un appartenente al gruppo afferma: ”In effetti, nessuno dei partecipanti ha preso veramente parte alla fase iniziale di quest'avventura. La maggior parte di noi ha sentito parlare del progetto GNU solo negli anni '90. Molti hanno addirittura conosciuto il progetto GNU quando già stavano utilizzando una distribuzione GNU/Linux.”
Pagina 60
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
2.2
Storia del gruppo
Il gruppo nasce da un'aggregazione informale che si è andata costituendo a partire 2002 intorno all' Hackaserta 81100 (http://81100.eu.org). Il temine Hackaserta sta come contrazione di Hacklab Caserta. Un Hacklab è un laboratorio di Hacking, un posto dove appassionati del Software Libero si incontrano cercando di prendere dimestichezza con tecnologia software e hardware. Dopo aver organizzato per 4 anni il Linux Day, Hackaserta decide di dare vita ad una manifestazione diversa Adunanza Digitale (Donato e Napolitano, 2007). Adunanza Digitale è un'assemblea distribuita fra diverse città. Adunanza Digitale si svolge utilizzando software libero e mettendo in relazione diverse associazioni riunite in diverse città d'Italia. Ciascuna assemblea è dedicata ad un tema diverso. Nel 2007, Hacakserta si rende conto che non è sostenibile il continuo invio di propri membri in tutte le città che decidono di partecipare ad Adunanza Digitale. Approfittando di un concorso del ministero della gioventù (Giovani idee cambiano l'Italia) si decide di presentare il progetto di un software innovativo per riunioni digitali. Il risultato è un successo, il progetto presentato risulta vincitore del concorso nazionale per la categoria ICT. A partire da Hackaserta si 81100 costituisce un gruppo il cui scopo è portare avanti il nuovo progetto.
La motivazione portante del gruppo è quella di dare alla comunità del Software Libero uno strumento per realizzare le riunioni on line. Ciascuno dei partecipanti del gruppo sente di aver sempre preso dal repertorio del Software Libero. Quello che si vuole fare adesso è ricambiare la comunità offrendo il proprio lavoro. Ovviamente offrire il proprio contributo alla comunità è anche un'occasione di riscatto simbolico e professionale. Realizzare un progetto libero richiede inoltre una vasta serie di competenze pratiche che vanno oltre quelle padroneggiate dai singoli membri. Si tratta quindi di un'occasione di crescita e di una sfida. 3 QUADRO DELLA RICERCA
Scopo del progetto è realizzare uno strumento libero per tenere Adunanze Digitali. Con Adunanza Digitale si intende una serie di riunioni di cittadini che si sono tenute in Italia a partire dal 2006 (http://it.wikipedia.org/wiki/Adunanza_digitale). L'esperienza di Adunanza Digitale ha fatto maturare la convinzione secondo cui l'ecosistema del software libero contiene e mantiene tutto il software necessario a realizzare efficaci riunioni on line.
Pagina 61
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
La totalità dei programmi per riunioni digitali sono concepiti secondo un'impostazione adatta al sistema del software privativo. In questo ecosistema il software deve essere autosufficiente, esso deve includere tutti i moduli necessari. In ambito privativo un software è un'opera individuale, la collaborazione fra software è potenziale fonte di problemi di affidabilità o di proprietà.
D'altra parte l'ecosistema che garantisce le quattro libertà (Stallman, 1996 e 1999) dell'utente è assolutamente favorevole alla collaborazione e alla coesistenza fra software diversi. Questo garantisce, fra l'altro, la compatibilità delle licenze e la collaborazione fra gli applicativi. La nostra scelta, è stata di realizzare un software concepito in modo da poter approfittare dei vantaggi offerti da questo ecosistema.
Riunioni Digitali (RD) integra le componenti base di un sistema di videoconferenza (videostream, desktop sharing, VoIP, chat, etc), non è scopo di questo progetto offrire l'ennesima implementazione di queste funzionalità. Del resto, già nel 1968 Doug Engelbart, con la famosa presentazione del sistema NLS all'Augmentation Research Center dello Stanford Research Institute, ne ha mostrato la fattibilità tecnica. Ciò che si intende realizzare è l'equivalente di un sistema di Package Management (PM) applicato al contesto di una riunione on line vedi Donato (2009).
I PM sono senza dubbio fra le più importanti innovazioni software introdotta grazie all'iniziativa della comunità del Software Libero. Una distribuzione GNU Linux consiste in una decina di migliaia di componenti software, compito dell'amministratore è mantenere costantemente coerente lo stato di questo insieme di programmi. Il PM consiste in una collezione di strumenti per assistere l'utente nella gestione e nella manutenzione del software presente sul proprio computer. In particolare, lo scopo del PM è automatizzare (o almeno assistere) l'utente nel processo di installazione, configurazione, rimozione e upgrade del software presente sul suo computer.
Amministrare una riunione è cosa diversa dall'amministrare un singolo computer. Amministrare un singolo computer consiste nel gestire le dipendenze fra i pacchetti, amministrare una riunione implica: (a) prendere il controllo di diversi computer dislocati in una rete geografica, (b) implementare servizi in modo coerente sui diversi nodi.
In primo luogo, un PM per riunioni, a differenza di un PM per installazioni, deve quindi essere articolato in diverse parti che devono assumere il controllo di diverse macchine e coordinarsi fra di loro. A questo scopo, il sistema da noi realizzato consiste in una parte server (Web Based) e una client desktop based. Il nome del client è Sacks (Sacks And Common Knowledge Say), si tratta di un acronimo ricorsivo (in omaggio alla tradizione Pagina 62
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Hacker) ma anche come tributo a Harvey Sacks (1935­1974) padre fondatore dell'Analisi della Conversazione (AC). Obiettivo della parte web based è offrire servizi comuni, obiettivo del client invece è gestire i servizi sui computer degli utenti, gestendo i servizi come un PM gestirebbe i pacchetti.
In secondo luogo, la gestione di una riunione pone dei problemi di gestione delle prerogative che la gestione di un'installazione non pone. Nel caso di un'installazione l'amministratore di sistema deve avere in permanenza il controllo totale della macchina e non deve rendere conto delle operazioni che compie. Nel caso della riunione la gestione delle macchine dei partecipanti può essere delegata solo secondo modalità pre­definite, in un quadro temporale ristretto e rispettando delle politiche di trasparenza.
4 METODOLOGIA
Nel quadro delle ricerche sull'innovazione ascendente in ambito del software libero, il carattere diffuso del processo di innovazione e di utilizzo pone due tipi di problemi. Il primo tipo concerne il carattere diffuso delle attività. Il secondo è l'insieme delle difficoltà poste al ricercatore per l'impossibilità di avere accesso ad osservazioni dirette, non sostenute da registrazioni audio­video. Ciò si traduce nelle domande seguenti. (a) Come osservare il processo di concezione, disperso nello spazio e nel tempo? (b) Come osservare gli strumenti utilizzati nelle attività di formazione e di scambio a distanza? Come rendere conto dell'orientazione dei partecipanti, progettisti o semplici utilizzatori?
L’ethnografia utilizzata in questa ricerca, è stata sviluppata nelle indagini dell'asse «Interactions et Environnements Technologisés» del laboratorio Praxiling, declinata in maniera specifica per questo progetto. Si tratta di una particolare applicazione dell'etnografia volta a prendere in conto e risolvere i problemi su accennati. I dati sono stati sfruttati mediante una nuova metodologia di ricerca che si fonde prima sull'osservazione delle sequenze di attività registrate in contesto. Il contesto è l'ambiente, in senso ampio, della produzione e della recezione delle attività. Questa metodologia non si limita all'analisi della produzione testuale (come nel caso dei messaggi scambiati via chat) ma analizza anche lo schermo, come ambiente di significato, e lo spazio fisico, occupato dai partecipanti e dagli artefatti, che circondano i partecipanti nella situazione. Il dispositivo di ricerca è stato quindi adattato con la cattura dello schermo e la registrazione audiovideo dell'ambiente. Ciò è stato fatto sia durante le attività di concezione che di uso. Ciò è quanto distingue radicalmente, la Pagina 63
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
metodologia da noi adottata, da altre etnografie “digitali”. Infatti, caratteristica dell’approccio etnografico in scienze del linguaggio è l'essere caratterizzato per l'esame delle risorse linguistiche e interazionali nella situazione. Gli strumenti dell’Analisi della Conversazione sono qui utilizzati, al fine di identificare le strategie, le traiettorie e le eventuali difficoltà nella produzione e nella ricezione di queste attività in esame. Ciò mette in evidenza gli elementi costitutivi, le possibilità esplicative e i vincoli d'espressione quando gli scambi interazionali riguardano le diverse utilizzazioni. In questo senso le pratica della ricerca in Analisi della Conversazione sono messe in relazione con la teoria dell’Azione Situata e gli studi in ambito del Work Place Studies. L'approccio etnografico multidimensionale qui presentato è quindi innovativo.
Innovativo. L’innovazione è nella metodologia, nell'oggetto di ricerca e nelle modalità stesse del trattamento del corpus di innovazione. Primo, il processo di innovazione è seguito nel tempo, dalla fase di «prototipazione» a quella delle dimostrazioni che saranno oggetto di analisi nell'inserimento in una situazione reale e specifica. Inoltre, la fase di concezione e «prototipazione» sarà messa in prospettiva con le situazioni di di uso tipiche rilevanti, ci sarà quindi un passaggio dall'una all'altra fase del processo di innovazione. Informatico. La dimensione digitale è presente a due livelli. Primo all'interno dell'oggetto, le registrazioni sono basate sull'ambiente e sulle attività di concezione e di utilizzo del dispositivo informatico. Inoltre per quanto riguarda l'analisi, questa è supportata dai partecipanti mediante registrazioni audiovideo. Ciò implica l'osservazione di sequenze video e di altri documenti oltre che la trascrizione mediante delle convenzioni specifiche, degli episodi esaminati.
Interazionale. L'obiettivo di analizzare il processo di innovazione spesso trascura la dimensione, per noi fondamentale, dell'organizzazione degli scambi situati. Analizzare l'interazione nel suo sviluppo temporale sequenziale, implica la registrazione della azioni svolte e delle risorse a disposizione dei partecipanti alla situazione. Le risorse interazionali utilizzate dagli utenti per condurre bene la loro partecipazione nelle situazioni in esame sono di differente natura: sonore (verbali e vocali), visuali (corporali, gestuali, posturali concernenti la direzione dello sguardo e il posizionamento del corpo), «artefattuali» (prodotte da una «fonte» analogica o digitale, testuale o da una o diverse immagini, fisse o in movimento) a disposizione dei partecipanti in situazioni determinate.
Pagina 64
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Intersituazionali. Le risorse interazionali sono utilizzate dagli utilizzatori non solo nel quadro delle contingenze locali e globali degli scambi (aperture, chiusure, o implicanti trattamenti tematici), ma i partecipanti tengono anche conto dei vincoli che si esercitano nella temporalità di più lunga portata (relazioni fra gli individui, storia del gruppo, processo di innovazione, ecc...). In breve, la dimensione organizzativa è presente nell'insieme dei comportamenti degli utenti, nelle loro conoscenze, nei loro ragionamenti concernenti il funzionamento del gruppo e la sua organizzazione e sopratutto nelle loro azioni. Il punto di vista corrente ammette comunemente l'importanza della dimensione organizzativa e la prende in conto, ma in questo caso i fenomeni dell'organizzazione studiati nella situazione esaminata. Più esattamente, noi osserviamo allo stesso modo sia l'organizzazione delle interazioni che i legami tra le situazioni. In questo senso, questa etnografia è Strutturata (Heath et Luff 1995). La ricerca sul processo di innovazione deve poter rendere conto del legame pratico in situazione tra individui e esperienze se vuole esaminare le proposizioni, disaccordi, tentativi, sconfitte e riuscite che costituiscono la traiettoria dello strumento «Riunioni Digitali». Interdisciplinare. Quest'analisi richiede l'apporto di più sotto discipline di Scienze del Linguaggio ma anche più ampiamente di orientamenti scientifici appartenenti alle Scienze Umane e Sociali per l'analisi delle dimensioni multiple delle risorse necessarie agli individui per portare avanti e nel migliore dei modi la loro partecipazione competente alle diverse situazioni. Il comportamento e la conoscenza degli attori si sviluppa nelle azioni prodotte. Se si vuole salvaguardare il punto di vista dei partecipanti (infra) e analizzare pienamente le conoscenze utilizzate nell'interazione, è necessario affiancare all'osservazione strumentale (mediante il mezzo audiovisuale) l'osservazione diretta non registrata dell'interazione e all'intervista. Queste pratiche sono utilizzate per accedere a delle informazioni complementari. Gli scambi, più specificamente sono esaminati come una forma di interazione (Bonu 2004). Inoltre, è necessario associare gli attori allo scopo della ricerca. Così uno dei concettori, attraverso la sua doppia competenza di informatico e di etnografo, è anche uno dei responsabili del gruppo di ricerca (Donato 2007).
Concomitante. La ricerca accompagna le diverse fasi del processo di innovazione (decisione, concezione, presentazione, uso) e di conseguenza, lo sviluppo dello strumento tecnologico. Il processo d'innovazione è seguito nel tempo e nella sua elaborazione. Le differenti tappe sono l'oggetto di un esame che tiene conto del loro inserimento nella storia del processo.
Pagina 65
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Costitutiva. L'etnografia deve essere in grado di trattare il comportamento e la comprensione umana come la relazione fra parola e azione, l'uso dello spazio e del tempo, l’attività di categorizzazione delle persone. Per esaminare questi domini noi adottiamo un orientamento di ricerca che può essere definito «Etnografia Costitutiva» (Mehan 1978). Questa si declina in quattro punti:
1. disponibilità dei dati. I dati (registrazioni e trascrizioni), in altre parole, le rappresentazioni delle situazioni osservate, devono essere rese disponibili per i lettori e gli ascoltatori. Queste possono essere discusse e osservate non solamente dal ricercatore;
2. esaustività del trattamento dei dati. Le trascrizioni devono essere esaminate in tutti i dettagli. La pertinenza delle ipotesi dell'etnografo deve essere controllata in base al punto seguente;
3. convergenza sulla visione degli eventi tra ricercatore e partecipanti (assumendo il punto di vista dei partecipanti). L'etnografo deve assicurarsi che nei dati sia presente la focalizzazione su degli elementi della situazione assunta dai partecipanti;
4. analisi interazionale. Più specificamente, l'analisi audiovisuale delle interazioni è un approccio metodologico dedicato all'analisi dei dettagli di un caso singolo o di una serie di casi. L'analisi inizia con la discussione di un frammento particolare dell'interazione e con l'esame di un comportamento o di un ragionamento pratico che mette in relazione attività specifiche. L'identificazione di un fenomeno particolare e la caratterizzazione della sua organizzazione legata all'analisi del dettaglio di un frammento specifico dei dati. L'esame è focalizzato sull'orientazione reciproca dei partecipanti e del loro comportamento. La spiegazione è basata sulle procedure e sul ragionamento dei partecipanti che realizzano la produzione e l'interpretazione di un'attività (Heath et Luff 1995).
4.1
Riunioni di concezione nel FLOSS
L'esame delle riunioni di concezione del gruppo informale nel quadro del progetto "Sacks" permette di evidenziare degli interrogativi sulla relazione tra lo svolgimento delle attività di creazione nel dominio più generale del Software Libero e l'organizzazione dell'interazione 74. Questo tema è stato già sviluppato in Analisi Conversazionale mediante gli studi sui colloqui di lavoro profes­
sionale in diversi settori di attività (DREW et HERITAGE, 1992). Abbiamo sviluppato una presentazione della te­
matica delle riunioni, attraverso una diversa prospettiva argomentativa in Bonu (2007). Per SCHWARTZMAN
(1989) le riunioni « preparate » includono gli incontri formali e informali. Esse sono caratterizzata dal livello della
formalità delle procedure utilizzate per l'attribuzione, l'ordine e la lunghezza dei turni. D'altra parte, le riunioni «
non preparate » implicano un modello di turni di parola prossimo alla conversazione ordinaria, con delle caratteristiche « formali » a proposito di certe responsabilità, chi apre, chiude e dirige la riunione. Sul tema della formalità
in generale, di interesse è il lavoro di ATKINSON (1982).
74
Pagina 66
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
La strutturazione dei tempi e dello spazio nel processo di innovazione è in gran parte frutto delle caratteristiche dell'organizzazione, l’agenda, l'ordine del giorno, l'animazione, l'ordine di presentazione e le azioni svolte, effettuate nell'incontro, o da venire. In questo senso, la partecipazione è orientata verso la performance e implica una "virtuosità, quasi artistica". L’interazione si sviluppa nel quadro della partecipazione multipla 75 e nelle attività convenzionali complesse come la spiegazione delle azioni, l’argomentazione la risoluzione dei problemi76. Da un punto di vista generale, anche se le riunioni in esame sono molto differenti da quelle che hanno luogo in azienda e in generale nel processo discendente dell'innovazione, le riunioni possono essere definite con Boden (1994, p. 83­89) come « un incontro pianificato, interno o esterno ad un'organizzazione [qui, un processo di innovazione] nel quale i partecipanti hanno una percezione dei ruoli 77 [anche se qui questi non sono garantiti e particolarmente fluttuanti] e le attese riguardano l'ambiente (a lungo o a breve termine). Le riunioni hanno uno scopo, una « ragione », un orario, un luogo in senso generale, una funzione organizzazionale ». In effetti, il flusso discontinuo della parola (alternato a delle fasi di lavoro individuale al computer) di questa forma di interazioni sono situate all'interno del ritmo e dei presupposti (infra) del processo di innovazione ascendente. La partecipazione a un progetto «politico e associativo» si ritrova nello svolgimento della riunione, con una tensione constante verso lo sviluppo del progetto e il ruolo predominante giocato nel progetto dai membri più attivi, da una parte, così come l'interazione fra pari, dall'altra. Il contributo conversazionale rappresenta quindi « la modalità fondamentale di trasmissione e di trasformazione dell'agenda organizzativa, delle decisioni, degli scopi del progetto e di strutturazione delle riunioni… » Boden (1994, p. 85). Inoltre, le entità incomplete, vaghe e flessibili rappresentate dalle azioni di integrazione dei diversi strumenti, sono l'oggetto di un continuo lavoro di chiarificazione, da parte dei membri più attivi, in ciò che concerne principalmente lo stato attuale del progetto, le nuove focalizzazioni, la definizione mediante la parola e l'interazione, prima di essere stabilizzate. Questo lavoro si fonda principalmente sulla preparazione delle riunioni (con delle azioni pratiche effettuate prima dell'incontro), elaborazione dei diversi tipi di testi, ricapitolazione delle attività e scrittura informatica nella programmazione, realizzazione concreta del processo di innovazione ascendente (infra). Le decisioni sono discusse, prese e diffuse in un continuo lavoro che si sviluppa sostanzialmente nelle riunioni.
ATKINSON, CUFF e LEE, 1978, p. 146.
SCHMITT, 2006.
77
Sul problema del ruolo interazionale e di categorizzazione vedere anche Bonu, Mondada e Relieu (1994), Enfield
e Stivers (2007), HOUSLEY, 1999. .
75
76
Pagina 67
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Questo processo può essere sviluppato efficacemente attraverso l'osservazione della produzione da parte degli interlocutori dei turni di parola e delle sequenze. Lo strutturarsi degli interventi costituisce l’ossatura interazionale delle riunioni. I partecipanti stabiliscono e abbandonano il focus del discorso, sviluppano e controllano i temi, costituiscono le forme di partecipazione e le identità interazionali, producono dei contributi e li piazzano nel corso dell'interazione, compiono attività tipiche (argomentazione e discussione) e producono delle azioni78. Formano anche delle sequenze costituite da domande o richieste di risposte corrispondenti, osservazioni e suggerimenti espliciti. Queste azioni rappresentano un luogo di azione dell'attività di creazione nel FLOSS, attraverso la negoziazione tra « le agende locali e gli scopi più generali » (BODEN, 1994, p. 128). Il funzionamento del gruppo informale è particolarmente sensibile in certe fasi dell'interazione, alla fine del punto sullo stato del progetto, il passaggio al primo tema, il passaggio di parola al primo locutore dopo l'introduzione, il ritorno dell'iniziativa interazionale ai membri più attivi 79. Di conseguenza, le riunioni rappresentano, nei fatti, un terreno di osservazione del funzionamento dei gruppi, del processo di circolazione dell'informazione, di presa di decisione e di evoluzione del lavoro collaborativo.
5 CONCLUSIONI
La parola innovazione è una parola vaga che può avere diversi significati ma che in ultima analisi, spogliata del valore semantico positivo, è equivalente a cambiamento. Per il suo forte connotato positivo il termine innovazione è stato sicuramente molto abusato. La ricerca è volta sostanzialmente a dare una descrizione sia del processo di innovazione, concezione e realizzazione di un nuovo software che delle pratiche di uso. Per quanto riguarda la progettazione del nuovo software attenzione sarà data alla parte organizzativa, in particolare oltre all'analisi del tipo di interazione, sarà studiato il codice sorgente del software prodotto come sarebbe analizzato un qualsiasi testo linguistico. Il ritorno che ci aspettiamo da quest'indagine è duplice. In primo luogo, una maggiore consapevolezza delle pratiche organizzative. Inoltre ci aspettiamo che possano emergere suggerimenti per miglioramento la concezione e l'interfaccia del software.
78
79
MEIER, 1998.
In particolare, l'eventuale "tour de table" regola un accesso « democratico » alla parola. Nelle riunioni in azien-
da, esso è tuttavia limitato a fasi specifiche (CUFF e SHARROCK, 1985).
Pagina 68
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
6 BIBLIOGRAFIA
Albero, B.,Linard, M., Robin J., (2008), Petite fabrique de l'innovation à l'université: Quatre parcours de pionniers, L'Harmattan
Atkinson, M.A., E.C. Cuff, J.R.E. Lee (1978) 'The recommencement of a meeting as a member's accomplishment'. In: J.N. Schenkein, ed., Studies in the organization of conversational interaction. New York: Academic Press: 133­53
Atkinson, J.M., (1982), “Understanding formality: The categorization and production of ‘formal’ interaction”, British Journal of Sociology, 33, p. 86­117.
Boden, D., (1994), The business of talk: organizations in action, Cambridge, Polity Press.
Bonu, B., (2007). Connexion continue et interaction ouverte en visiophonie, Réseaux, Vol. 25, n° 144, 25­57.
Bonu, B., (2005). Les apprenants dans la mise en place des Espaces Numériques de Travail (ENT), Colloque SIF "Les institutions éducatives face au numérique", organisé par la Maison des Sciences de l’Homme Paris Nord avec le soutien du Ministère délégué à la Recherche, Carré des Sciences, Paris 12 et 13 décembre 2005 http://sif2005.mshparisnord.net/2007
Bonu, B., Charnet, C., (2007). Deployment of a Digital Worspace in Universities : an Innovation Process, Qwerty, vol.2, 5­20.
Cuff E.C., Sharrock W.W. (1985), “Meetings”, Handbook of discourse analysis, T.A. van Dijk, ed, London, Academic Press, vol. III, p. 149­59.
Donato, D., (2007). Adunanza Digitale: la nascita di un movimento, in « TECNOLOGIE EMERGENTI E COSTRUZIONE DI CONOSCENZA », (a cura di M. B., Ligorio e S., Smiraglia), Script Web, ISBN:978­88;89543;80;1.
Donato, D., Napolitano, F., (2007). Modellodel Software Libero e partecipazione civile, in Attidella Conferenza Italiana sul Software Libero, p 126 ‐133, Cosenza, 11 ‐12 ‐13 Maggio.
Donato, D., (2009), Il progetto Sacks, in Atti della Conferenza Italiana sul Software Libero, p 208­213, Bologna, 12­13 Giugno 2009
Drew P., Heritage J. (1992), Talk at work: interaction in institutional settings, Cambridge, Cambridge University Press.
Enfield N. J., Stivers, T. eds. (2007) Person Reference in Interaction: Linguistic, Cultural and Social Perspectives. Cambridge: Cambridge University Press
Free Software Foundation, (1991), GNU General Public License, Version 2,0, http://www.gnu.org/licenses/gpl.txt.
Pagina 69
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Heath, C. C. et Luff. K., (1995). Coopération et crises: technologies multimédia dans les salles de commande du métro de Londres, Sociologie du Travail 4/04, XXXVI, pp. 523­
545.
Hussley, W., (1999), “Role as an Interactional Device and Resource in Multidisciplinary Team Meetings”, Sociological Research Online, vol. 4, n° 3, www.socresonline. org.uk /socresonline/4/3/housley.html
Mehan, H., (1978), Structuring school structure. Harvard Educational Review 48:32­ 64.
Meier C. (1998), “In search of the virtual interaction order: investigating conduct in video­
mediated work meetings”, (Arbeitsbericht Nr. 4), http://www.unibielefeld.de/soz/personen /bergmann/telekooperation.htm
Raymond, E., (1998). La cattedrale e il bazaar, http://www.apogeonline.com/openpress/cathedral
Schmitt, R., (2006), “Interaction in work meetings”, Revue Française de Linguistique Appliquée, 11/2, p. 69­84
Schwartzman H. B. (1989), The Meeting. Gathering in Organizations and Communities, New York, Londres, Plenum Press.
Stallman, R., (1999), The GNU Operating System and the Free Software Movement, Speech http://www.umsec.umn.edu/events/Richard­Stallman­Free­Software­Movement­and­
GNULin
Stallman R., (1996), The free Software Definition, Free Software Foundation, http://www.gnu.org/philosophy/free­sw.html
Pagina 70
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
FAME, A METHODOLOGY FOR ASSESSING SOFTWARE
MATURITY
Pani F. E., Concas G., DIEE - Università di Cagliari, p.zza d'Armi, 09123 Cagliari,
IT,
{filippo.pani, concas}@diee.unica.it
Sanna D., FlossLab srl, v.le Elmas 142, 09122 Cagliari, IT, daniele.sanna@flosslab.it
Abstract
Una soluzione software è costituita da singole componenti, ciascuna con caratteristiche peculiari, che
influiscono in modo determinante sulla sua qualità. La scelta ottimale di tali componenti costituisce,
quindi, una fase cruciale, in quanto un'eventuale scelta errata potrebbe comportare delle gravi
conseguenze: inefficienza, perdita di informazioni, possibile blocco delle attività operative, costi di
manutenzione e di riprogettazione.
Una delle principali problematiche è costituita dall'immenso panorama di applicazioni che si presenta
agli occhi di chi deve effettuare una scelta valutando la soluzione FLOSS più adeguata alle proprie
esigenze. Da tale considerazione bisogna partire, dunque, per comprendere lo sviluppo negli ultimi
anni di metodologie di valutazione per questo tipo di soluzioni. In tali metodologie, l'efficacia è il
primo obiettivo da perseguire, ma tale aspetto porta ad un aumento di complessità difficilmente
governabile sia dal punto di vista dei costi che delle competenze.
Gran parte dei framework presenti in letteratura è stata studiata e realizzata mediante un approccio
di ricerca, o comunque cercando di analizzare un elevato numero di fattori di valutazione, e non
sempre tali framework si sono rivelati adatti ad ambiti produttivi reali, a causa di una certa
“pesantezza” nella fase di analisi e di valutazione che non sempre è sostenibile, soprattutto da piccole
realtà produttive, siano esse pubbliche o private.
Il lavoro proposto intende indirizzare le problematiche di valutazione della maturità e dell'affidabilità
degli applicativi mediante una metodologia che riduca il grado di complessità di valutazione e che sia
pertanto declinabile in contesti quali quelli delle PP.AA. e delle PMI, puntando a massimizzare
l'efficienza della soluzione da trovare. Tale metodologia, denominata FAME (acronimo di Filter,
Analyze, Measure, Evaluate, ossia le quattro fasi principali di cui si compone), tiene conto delle reali
necessità di un'organizzazione senza l'utilizzo di sistemi di punteggio fissi e predefiniti, e fornisce un
valido supporto nella scelta di soluzioni di elevata qualità e con un’elevata probabilità di essere
sostenibili nel tempo.
Il principio alla base della scelta delle linee guida è basato sulla rispondenza ai requisiti di
completezza, semplicità, adattabilità e consistenza, propri di una valida metodologia che possa
effettivamente rappresentare un efficiente supporto nella fase decisionale.
L'approccio proposto è stato utilizzato con ottimi risultati da FlossLab srl, il primo spin-off
dell'Università di Cagliari.
Parole Chiave: Open Source software, software evaluation, technology transfer, software
quality, assessment model.
Pagina 71
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 INTRODUZIONE
Il software è alla base dell'automazione di ogni produzione tecnologicamente avanzata e di
tutta la moderna industria che tramite i sistemi informatici può gestire efficacemente ed
efficientemente le informazioni. Alla luce di ciò, la giusta scelta di un sistema informatico e
di ogni sua componente è fondamentale per il successo di tutti i processi di business, mentre
una scelta errata può portare a gravi conseguenze per gli obiettivi aziendali, quali
inefficienze, perdita di informazioni, costi di manutenzione, costi di riprogettazione e
inevitabili blocchi delle attività operative.
Negli ultimi anni, il Free/Libre/Open Source Software (FLOSS) si sta affermando come una
valida soluzione per le applicazioni software [1][2]. L'interesse crescente verso questo tipo di
approccio è evidente in tanti contesti differenti, come le comunità di singoli utenti, le aziende
private e le istituzioni pubbliche. Le ragioni di questo successo sono molteplici e non sempre
basate su aspetti prettamente tecnici, ma talvolta anche su elementi da ricercare nell'ambito
etico del mondo della produzione del software. È tuttavia possibile individuare alcuni
vantaggi di carattere tecnico-economico che riguardano il fenomeno dell'Open Source. Tra
questi, citiamo i seguenti:
I.
Costo. Solitamente, i prodotti FLOSS sono disponibili gratuitamente.
II.
Accesso al codice. E' possibile accedere e modificare il codice sorgente; ciò
comporta un continuo miglioramento del prodotto durante tutto il suo ciclo di vita.
III.
Architettura aperta e decentralizzata. Il FLOSS è sviluppato presso comunità virtuali,
decentralizzate dal punto di vista geografico; ne consegue uno sviluppo modulare più
semplice da gestire e da testare.
IV.
Qualità. Deriva direttamente dalle due caratteristiche precedenti, che permettono
un'evoluzione qualitativa notevole dei prodotti [3-7]. La Commissione Europea ha
finanziato diversi progetti di ricerca legati alla qualità del FLOSS: per esempio,
QualOSS [8], FLOSSMetrics [9], SQO-OSS [10] e QUALIPSO [11].
Una delle maggiori problematiche dovute alla notevole diffusione del FLOSS è rappresentata
dal vasto panorama di soluzioni software che si presenta davanti ai decisori, e che va,
dunque, adeguatamente studiato ed interpretato. Alcuni prodotti hanno il proprio sito web
come principale meccanismo di distribuzione per il software; tuttavia, gran parte delle
soluzioni FLOSS sono disponibili attraverso portali che fungono da repository dei progetti.
Su SourceForge, uno dei repository più importanti, sono circa duecentomila i progetti
ospitati. La miriade di prodotti FLOSS esistenti comporta, dunque, la necessità di disporre di
un metodo di valutazione e selezione adatto alle caratteristiche del FLOSS, mediante il quale
sia possibile esaminare con precisione i vincoli ed i rischi specifici relativi all'adozione di un
determinato software [12-17].
Per un'organizzazione, la valutazione del software da scegliere come componente del proprio
sistema informativo è un processo critico. Tale scelta si basa sull'analisi dei bisogni e dei
requisiti tecnici, funzionali, strategici ed economici, e sull'adeguatezza e soddisfacimento di
tali requisiti e bisogni da parte del software. La valutazione deve essere al tempo stesso un
processo facile, valido ma soprattutto attendibile, che permetta di prendere delle decisioni
Pagina 72
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
importanti sul futuro dello sviluppo aziendale. Nella pratica non esiste, però, un modello
standard e ampiamente utilizzato: ciò complica l'adozione del FLOSS.
Negli ultimi anni sono state definite diverse metodologie per il supporto alla selezione di
prodotti FLOSS: alcuni di questi modelli sono basati sulla valutazione soggettiva di un certo
numero di parametri e sull'attribuzione di un valore peso in relazione all'importanza di
ciascun parametro. La valutazione ottenuta tramite il punteggio finale non è, quindi,
universale ma utile solo ad aziende di tipo omogeneo [18-22].
Una metodologia di valutazione della maturità e affidabilità del software va implementata
pensando alla sua flessibilità e alla sua applicabilità sia a grandi che a piccole entità; tale
valutazione deve tenere conto non solo delle caratteristiche tecniche del prodotto e della
qualità della comunità di sviluppo coinvolta, ma anche dell'analisi costi-benefici specifici
dell'organizzazione coinvolta. In questo senso, il lavoro proposto intende indirizzare lo studio
da un ambito più propriamente di ricerca verso un ambito produttivo e reale, mediante una
metodologia, FAME, in grado di ridurre il grado di complessità di valutazione.
2 METODOLOGIE DI VALUTAZIONE DEL SOFTWARE
In questa sezione presentiamo gli esempi più rappresentativi di quanto offerto dalla letteratura
scientifica relativamente alla valutazione di prodotti FLOSS. Durante il lavoro di studio di
tali modelli, si è cercato di individuare vantaggi e svantaggi in modo da trarne elementi utili
alla costruzione di un valido framework decisionale.
2.1
OSSM di Capgemini
Il metodo OSMM (Open Source Maturity Model), sviluppato da Capgemini nel 2003, utilizza
sei passi per cercare di determinare quale prodotto risponda meglio alle esigenze di
un'organizzazione [23].
Per Capgemini uno dei fattori più importanti è quello della maturità del prodotto; infatti,
quanto più un progetto è maturo più è stabile e solido. OSMM non permette di paragonare i
prodotti commerciali con quelli open ed è bene precisare che questa non è una limitazione del
metodo, ma una ferma convinzione degli autori.
Il metodo si compone dei seguenti sei passi:

ricerca dei prodotti;

calcolo del punteggio dello specifico prodotto;

intervista con il cliente volta all’attribuzione dei pesi;

applicazione dei pesi da parte del cliente in collaborazione con Capgemini;

determinazione del punteggio finale e selezione del prodotto;

valutazione.
Pagina 73
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
2.2
OSSM di Navica
Tale metodologia è stata sviluppata nel 2004 [24] e si compone di tre fasi fondamentali:

valutazione della maturità degli elementi e assegnazione di un punteggio;

definizione di un fattore peso in base ai requisiti organizzativi;

calcolo del punteggio complessivo di maturità del prodotto.
La valutazione di un software che basa il proprio metodo sull'OSMM assume che la validità e
la solidità di un prodotto Open Source siano direttamente proporzionali alla maturità di un
progetto. Secondo la definizione proposta, un prodotto può essere considerato maturo quando
possiede le caratteristiche di completezza, livello di qualità elevato, longevità, aggiornabilità
e robustezza. La maturità di un prodotto è la chiave per capire il grado di soddisfazione
offerto dal prodotto stesso. Un software è considerato maturo quando il team di sviluppo è
attento alle funzionalità del prodotto ma anche quando progetta una rigorosa attività di
rilascio e di supporto.
2.3
QSOS
Il metodo QSOS (Qualification and Selection of Software Open Source), definito nel 2004
dalla Atos Origin e distribuito con licenza GPL, suddivide il proprio template in due tipologie
di sezione: una generica e una specifica [21]. La sezione specifica è relativa ad una
particolare famiglia di applicazioni (database, Content Management System, ecc.).
Questo metodo si compone di quattro fasi indipendenti ed iterative per valutare un prodotto:

Definition: definizione dei fattori di valutazione da utilizzare nei passi successivi.

Evaluation: valutazione del software su tre assi funzionali: copertura funzionale, rischio
per l'utente e rischio per il fornitore. Ogni asse contiene più criteri.

Qualification: qualificazione di uno specifico contesto dell'utente (azienda o individuo)
per la pesatura dei criteri precedenti.

Selection: selezione e comparazione dei prodotti software, applicando il filtro preparato
al terzo passaggio sui dati forniti dai primi due step.
2.4
OpenBRR
OpenBRR (Open Business Readiness Rating) è stato sviluppato da SpikeSource e Intel
Corporation nel 2005; si propone come modello di valutazione open e standard dei software
Open Source e dà particolare enfasi alle caratteristiche riguardanti il business [25].
Questa metodologia è caratterizzata da quattro differenti fasi:
Pagina 74
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 1. Fasi del modello OpenBRR
L'OpenBRR prevede la suddivisione delle metriche in 12 aree differenti (Functionality,
Usability, Quality, Security, Performance, Scalability, Architecture, Support, Documentation,
Adoption, Community, Professonalism). Attraverso un'analisi degli scopi per cui un
determinato software deve essere utilizzato e, dunque, attraverso una raccolta dei requisiti in
base a chi, dove e perché deve utilizzare il software, si determinano delle priorità per le
diverse aree attraverso valori percentuali.
2.5
OpenBQR
Il metodo OpenBQR (Open Business Quality Rating) è stato sviluppato nel 2006 presso
l’Università degli Studi dell’Insubria (Como) e rappresenta una fusione tra le differenti
qualità dei metodi OpenBRR e QSOS, a cui introduce nuove aree di valutazione e modifica la
procedura in modo tale da considerare prima quali siano gli elementi da valutare assegnando
loro un peso, e successivamente, in base all'importanza attribuita, valuta quali elementi
saranno da stimare [26].
Il processo di valutazione si sviluppa in tre fasi:

Quick Assessment Filter;

Data Collection and Processing;

Data Translation.
2.6
QualOSS
L'obiettivo strategico di QualOSS (Quality of Open Source Software) è quello di migliorare la
posizione competitiva dell'industria software europea fornendo metodologie e strumenti per
migliorare la produttività e la qualità dei prodotti software [8]. Per raggiungere questo scopo,
è proposta una metodologia di alto livello da utilizzare nello sviluppo industriale, in modo
tale da abilitare la valutazione delle prestazioni per supportarne lo sviluppo e l'evoluzione.
Un'assunzione centrale e importante nella definizione del modello afferma che la qualità di
un prodotto software non è solo legata al prodotto in sé (codice, documentazione, ecc.), ma
anche al modo in cui il prodotto è sviluppato e distribuito. Per questa ragione, e sin da quando
lo sviluppo di un prodotto Open Source è sotto la responsabilità di una comunità aperta, il
Pagina 75
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
modello QualOSS tiene conto in parti uguali sia dei problemi del prodotto che di quelli legati
alla comunità.
2.7
SQO-OSS
Il modello di qualità SQO-OSS (Software Quality Observatory for Open Source Software),
definito nel 2007, ha l'obiettivo di supportare un sistema automatico di valutazione [10]. Le
sue variabili, quindi, sono principalmente orientate alla valutazione di metriche per cui è
minimo l'intervento umano. Tale modello si propone di valutare tutti gli aspetti dello sviluppo
di un software Open Source, sia dal punto di vista del codice che della comunità.
Il modello di qualità SQO-OSS si distingue dagli altri modelli per diverse ragioni:
principalmente, è stato costruito con l'obiettivo dell'automazione e cerca di differenziarsi dal
resto degli altri modelli che richiedono pesanti interfacce utente e mancano di automazione
nella ricerca delle metriche. SQO-OSS non valuta la funzionalità; si pensa, infatti, che la
valutazione della funzionalità richieda che chi debba valutare il prodotto giochi un ruolo
importante nel processo di valutazione e, dunque, introduca soggettività. Il modello si
focalizza perciò su altri aspetti fondamentali della qualità di un software Open Source, quali
maintainability, reliability e security.
2.8
EFFLOSS
EFFLOSS (Evaluation Framework FLOSS) nasce nel 2007 e ha come obiettivo quello di
effettuare una valutazione utilizzando solo metriche quantitative e non qualitative [22].
Il processo di valutazione è suddiviso in tre step:

nella prima fase si determinano tutti quei fattori che potrebbero influenzare la qualità e il
successo di un progetto Open Source, allo scopo di effettuare una prima analisi del
prodotti software;

nella seconda fase si identificano le metriche di successo, suddivise in tre grandi aree:
caratteristiche di processo, qualità del sistema, misure quantitative di adozione;

nell'ultima fase del framework si valutano le metriche nella loro complessità con
l'assegnazione di un punteggio. Tale punteggio alle volte non è immediatamente
definibile e deve essere trattato con tecniche di normalizzazione.
2.9
NVAF
Il framework NVAF (Needs, Values and Assessment Framework) nasce per fornire delle
linee guida nella scelta delle soluzioni IT da adottare a supporto delle Pubbliche
Amministrazioni [27]. Le differenti soluzioni IT per cui si effettua la comparazione non sono
vincolate alle sole soluzioni FLOSS, ma anche a quelle proprietarie (se è necessario
considerarle). La scelta finale si baserà sul massimo value for money ottenuto,
massimizzando in questo modo i benefici, minimizzando gli svantaggi e tenendo in
considerazione una serie di vincoli dipendenti dall'entità che deve effettuare la valutazione.
Il framework è suddiviso nei seguenti step:

identificazione e valutazione dei bisogni dell'organizzazione;
Pagina 76
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari

identificazione delle priorità per gli obiettivi chiave;

identificazione e valutazione dei vincoli e dei rischi;

definizione di un framework prioritario.
3 FAME: FILTER, ANALYZE, MEASURE AND EVALUATE
APPROACH
FAME (acronimo di Filter, Analyze, Measure, Evaluate, ossia le quattro fasi principali di cui
si compone), può essere considerato un'evoluzione delle metodologie di valutazione.
L'approccio proposto tiene conto delle reali necessità di un'organizzazione e fornisce un
valido supporto nella scelta di soluzioni mature, affidabili e con un’elevata probabilità,
quindi, di essere sostenibili nel tempo.
Il principio nella scelta delle linee guida è rappresentato dalla semplicità dell’applicazione, in
modo da fornire uno strumento il più possibile user friendly che possa effettivamente essere
utilizzato nella fase decisionale e che nasca da un’analisi della fase di valutazione intesa
come bilancio tra costi e benefici (come qualsiasi attività produttiva). L’obiettivo strategico
consiste nell'individuazione di una raccolta di criteri sufficienti e significativi per ogni
tipologia di software, in modo da potere confrontare tutti gli aspetti possibili che possano
avere effetto sui benefici. L'analisi tiene conto sia degli aspetti tecnico-funzionali che di
quelli economico-sociali, al fine di individuare la soluzione migliore sotto questi aspetti,
evitando l'utilizzo massiccio di risorse e mantenendo, pur in un piano di relativa semplicità,
quelle caratteristiche di generalità e completezza che possano rendere la metodologia
proposta un valido strumento di supporto nella fase decisionale per le Pubbliche
Amministrazioni e per i contesti aziendali.
FAME riprende alcuni punti di forza del framework NVAF [28], di cui può essere
considerato una semplificazione; tra questi, l'individuazione esplicita, nell'analisi, di elementi
economico-sociali (non utilizzati in altre metodologie). Inoltre, FAME ripropone il metodo
della normalizzazione delle metriche non omogenee, che permette, al momento della
valutazione, di non vincolare le fasce di valutazione, come avviene in altre metodologie.
Quindi, tali fasce non sono definite a priori, e ciò conferisce al framework una struttura
semplice ed adattabile a diversi contesti. NVAF si basa sul presupposto cardine che la
possibilità di effettuare una valutazione non sia definita a priori ma derivi direttamente da
esigenze, strategie e obiettivi che l'organizzazione si propone: tale approccio potrebbe
comportare una più lunga fase di analisi ed essere, quindi, controproducente per le piccole
organizzazioni. FAME si propone di eliminare questo svantaggio, cercando di snellire e
rendere più immediata tale fase.
La struttura del modello è rappresentata in Figura 2:
Pagina 77
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 2. Fasi del modello FAME
3.1
Filtering
Il primo step di FAME consiste nella scelta dei progetti che soddisfano i requisiti minimi
legati alla particolare esigenza. NVAF non entra, infatti, in merito ai criteri utilizzati per
l'individuazione delle soluzioni candidate alla comparazione, in quanto utilizza informazioni
sulla tipologia del software da comparare, ma non informazioni specifiche sul prodotto. È
impensabile e controproducente procedere alla successiva fase di valutazione su un numero
eccessivo di opzioni, considerando che il panorama del software a disposizione è vasto e
complesso.
In questa prima fase occorre una scrematura che permetta di ridurre in maniera considerevole
il numero di soluzioni candidate; questo è possibile grazie al reperimento di una serie di
informazioni preliminari che si possono trovare nei principali software repositories, e che
permettono di costruire un profilo generale sulla soluzione di interesse. Ovviamente, nel caso
di software proprietario non potranno essere ricavate tutte le informazioni che invece sono
più o meno facilmente reperibili per un software Open Source. Le informazioni raccolte
permetteranno di costruire una carta d'identità del progetto; mediante tale carta, si potrà
effettuare una prima valutazione di filtraggio totalmente qualitativa ma efficace, con
l'identificazione di tutti quei software che possono effettivamente rispondere alle esigenze
strategiche e ai vincoli dell'organizzazione che deve effettuare la valutazione.
3.2
Analysis
Ridotto il numero dei software candidati mediante la fase di filtraggio, si potrà passare a
quella successiva, che consiste nell'identificazione dei bisogni e la definizione delle metriche
associate. Tale fase è quella più critica in una metodologia di valutazione: una corretta
Pagina 78
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
definizione di tali fattori permette alla valutazione di rispecchiare l'effettiva aderenza del
prodotto alle necessità dell'organizzazione valutante.
La metodologia prevede la suddivisione dell'indagine in due macro-aree:
V.
Analisi tecnico-funzionale. Ci si avvale della valutazione della qualità di un prodotto
analizzata dall'ingegneria del software, e si considerano non solo le metriche di
qualità intrinseca ma anche le metriche che valutano la qualità del processo.
VI.
Analisi economico-sociale. Per la natura complessa di questo tipo di analisi, la
singola organizzazione ha la responsabilità della scelta dei principali fattori
economico-sociali in virtù delle specifiche scelte strategiche e del livello di dettaglio
da raggiungere in tale fase.
In questo step, FAME adotta un approccio di tipo aperto, ossia individua le modalità di
identificazione delle metriche senza però definirle in maniera esplicita (nella forma chiusa, è
il modello stesso che definisce integralmente le metriche). La soluzione mediante una forma
aperta permette di capire le effettive necessità dell'organizzazione, rendendosi in questo modo
uno strumento utile in ambito produttivo.
Nella fase di Analysis, inoltre, si introduce l'uso di una scala di priorità per conferire alla
metodologia di valutazione una caratteristica di dinamicità e adattabilità al contesto
considerato. FAME suggerisce al team di valutazione due modalità per la valutazione globale
delle priorità: breve meeting tra le persone coinvolte per raggiungere una definizione
comune, oppure valutazione individuale e successiva mediazione tra i risultati raccolti. Le
definizioni delle priorità servono per due motivi: il primo è quello di ridurre, se possibile, il
numero di bisogni, eliminando eventualmente le metriche legate a dei bisogni aventi una
bassa priorità; il secondo è legato alla possibilità di attribuire successivamente un peso che
rispecchi la valutazione della priorità del bisogno da cui esso deriva.
3.3
Measurement
Nella terza fase, le metriche identificate vengono valutate utilizzando differenti unità di
misura, a seconda della loro specificità. Alcune metriche potranno assumere un valore binario
(sinonimo di caratteristica presente o assente), altre dei punteggi (su una scala da 1 a 5, per
esempio), altre ancora un valore indice di un costo o di un risparmio. In generale, non esiste
una regola precisa: la scala di variazione o il valore da utilizzare dovranno essere
commisurati alla metrica da calcolare.
Poiché i punteggi derivano da metriche non omogenee, occorrerà effettuare preliminarmente
una normalizzazione dei risultati per far sì che tali valori siano confrontabili. In questa fase,
inoltre, viene applicato un coefficiente peso agli elementi valutati in accordo con la rilevanza
dei rispettivi bisogni, stabilita nella precedente fase. La metodologia traccia delle linee guida
per effettuare la normalizzazione.
Nel caso dei costi si dovrà utilizzare la seguente formula:
S=
C minC max −C ij 
C max 
Pagina 79
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
I.
S è il punteggio normalizzato;
II.
C min è il prezzo più basso tra le alternative;
III.
C max è il prezzo più alto tra le alternative;
IV.
C ij è il prezzo della voce da normalizzare.
Nel caso in cui la metrica è tanto più positiva quanto maggiore è il suo valore:
S=
V ij
V max
I.
S è il punteggio normalizzato;
II.
V ij è il valore della metrica da normalizzare;
III.
V max è il valore massimo che la metrica ha assunto tra le soluzioni da comparare.
Nel caso in cui la metrica è tanto più positiva quanto minore è il suo valore:
S =1−
V ij
V max
IV.
S è il punteggio normalizzato;
V.
V ij è il valore della metrica da normalizzare;
VI.
V max è il valore massimo che la metrica ha assunto tra le soluzioni da comparare.
In tutti gli altri casi in cui la formulazione dei bisogni abbia portato alla definizione di una
metrica qualitativa, si dovrà normalizzare dividendo ciascun risultato per il valore massimo
attribuibile nella scala considerata, in modo da ottenere sempre dei valori compresi tra 0 e 1.
3.4
Evaluation
L'ultima fase è quella della valutazione. Effettuate tutte le normalizzazioni, i valori ottenuti
sono moltiplicati per il peso associato alla relativa metrica. Ogni soluzione avrà un punteggio
finale ottenuto dalla somma dei parziali assegnati ad ogni elemento di valutazione. Basta
sommare i risultati parziali per capire qual è il progetto candidato che meglio soddisfa i
requisiti individuati (ossia, il prodotto che avrà ottenuto il punteggio più alto).
In pratica, un punteggio Pij viene assegnato a ogni soluzione proposta Sj, dove 0 <= Pij <=
Wi per ogni elemento Ei basato su metrica Mi associata a tale elemento (Wi è il peso
associato a Ei). Quindi, ogni soluzione avrà un punteggio totale Pjtot. La soluzione col
punteggio Pjtot più alto sarà la soluzione prescelta.
Pagina 80
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
4 CONCLUSIONI
La valutazione per la scelta di un sistema informatico è sicuramente un'attività critica in cui le
organizzazioni devono avvalersi del know-how dei propri esperti IT allo scopo di effettuare
una selezione oculata ed evitare di incappare in successivi problemi che una scelta errata
solitamente comporta. Spesso tali esperti non adottano particolari metodi e si affidano
esclusivamente alla propria esperienza o a quella derivante dal semplice passaparola.
In questo lavoro abbiamo presentato FAME, una metodologia di valutazione della maturità
delle soluzioni FLOSS in grado di adattarsi alle esigenze specifiche di un'organizzazione.
FAME si propone come una metodologia semplificata allo scopo di renderne facile l'utilizzo
anche per piccole realtà produttive. Esso tiene conto delle reali necessità di un'organizzazione
senza l'uso di sistemi di punteggio fissi e predefiniti.
FAME soddisfa i requisiti di completezza, semplicità, adattabilità e consistenza, propri di una
valida metodologia che possa effettivamente rappresentare un efficiente supporto durante la
fase decisionale.
Bibliografia:
[1] Feller, J., Fitzgerald, B., Hissam, S. e Lakhani, K. (2005). Perspectives on Free and Open
Source Software. MIT Press, Cambridge, MA.
[2] Free/Libre and Open Source Software: Survey and Study: Final Report (2003).
Disponibile su: http://FLOSS.infonomics.nl
[3] Senyard, A. e Michlmayr, M. (2004). How to have a successful free software project.
APSEC, IEEE Computer Society, pp. 84–91.
[4] Antoniades, I. P., Stamelos, I., Angelis, L. e Bleris, G. L. (2003). A novel simulation
model for the development process of open source software projects. International Journal
of Software Projects: Improvement and Practice (SPIP), special issue on Software Process
Simulation and Modeling.
[5] Feller, J. e Fitzgerald, B. (2000). A framework analysis of the open source software
development paradigm, ICIS, pp. 58-69.
[6] Gonzalez-Barahona, J. M., Pérez, M. A. O., Quiros, P. d. l. H., Gonzalez, J. C. e Olivera,
V. M. (2001). Counting potatoes: the Size of Debian 2.2, Upgrade - The European Online
Magazine for the IT Professional, Vol. II, No. 6, pp. 61-67.
[7] Mockus, A., Fielding, R. T. e Herbsleb, J. (2000). A case study of open source software
development: the Apache server. ICSE: Proceedings of the 22nd international conference
on Software engineering, ACM Press, New York, NY, USA, pp. 263-272.
[8] QUALOSS (2008). http://www.qualoss.org
[9] FLOSSMetrics (2008). http://flossmetrics.org
[10] SQO-OSS (2008). http://www.sqo-oss.eu
[11] QUALIPSO (2008). http://www.qualipso.org
[12] Michlmayr, M. (2005). Software process maturity and the success of free software
projects, in Zielinski, K. e Szmuc, T. (Eds.), Software Engineering: Evolution and
Emerging Technologies. IOS Press, pp. 3-14.
[13] Stewart, K. J. e Ammeter, T. (2002). An exploration study of factors influencing the
level of vitality and popularity of open source projects, in Applegate, R. L and De Gross,
Pagina 81
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
J. I. (Eds.). Proceedings of the Twenty-Third International Conference on Information
Systems, pp. 853-857.
[14] Weiss, D. (2005). A large crawl and quantitative analysis of open source projects hosted
on sourceforge. Research Report RA-001/05, Institute of Computing Science, Poznań
University of Technology, Poland.
[15] Weiss, D. (2005). Measuring success of open source projects using web search engines.
Proceedings of the The First International Conference on Open Source Systems, pp. 9399.
[16] Crowston, K., Annabi, H. e Howison, J. (2003). Defining open source software project
success. International Conference on Information Systems (ICIS), pp. 327-340.
[17] Crowston, K., Annabi, H., Howison, J. e Masango, C. (2004). Towards a Portfolio of
FLOSS project success measures. Workshop on Open Source Software Engineering,
International Conference on Software Engineering, Edinburgh, Scotland, UK.
[18] Cau, A., Concas, G. e Marchesi, M. (2006). Extending OpenBRR with automated
metrics to measure object oriented open source project success. The Workshop on
Evaluation Frameworks for Open Source Software, The Second International
Conference on Open Source Systems.
[19] Ciolkowski, M. e Soto, M. (2008). Towards a Comprehensive Approach for Assessing
Open Source Projects. Proceedings of the international Conferences on Software Process
and Product Measurement (Munich, Germany), Lecture Notes In Computer Science,
SpringerVerlag, Berlin, Heidelberg, Vol. 5338, pp. 316-330.
[20] Deprez, J. C. e Alexandre, S. (2008). Comparing assessment methodologies for
free/open source software: OpenBRR & QSOS. Lecture Notes in Computer Science,
Springer.
[21] Atos Origin (2006). Method for Qualification and Selection of Open Source software
(QSOS), version 1.6. Disponibile su: http://qsos.org
[22] Cau, A. (2007). EFFLOSS: An Evaluation Framework for Free/Libre Open Source. PhD
Thesis.
[23] Duijnhouwer, F. W. e Widdows, C. (2003). Open Source Maturity Model (Capgemini).
[24] Golden, B. (2004). Succeeding with Open Source. Addison-Wesley Professional.
[25] Business Readiness Rating (2005). A Proposed Open Standard to Facilitate Assessment
and Adoption of Open Source Software. Disponibile su: www.openbrr.org
[26] Taibi, D., Lavazza, L. e Morasca, S. (2007). OpenBQR: a framework for the assessment
of OSS. IFIP International Federation for Information Processing, Springer, Boston,
pp.173-186.
[27] Mannaro, K., Concas, G. e Marchesi, M. (2006). NVAF: un Framework per una valutazione di tipo comparativo delle soluzioni software nelle Pubbliche Amministrazioni. The Second International Conference on Open Source Systems, Esperta Workshop, Como (I).
Pagina 82
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
IMPACT AND ECONOMIC RISK ASSESSMENT OF FLOSS
ADOPTION BY PUBLIC ADMINISTRATIONS
Cocco L., Marchesi M., Pani F. E., DIEE - Università di Cagliari, p.zza d'Armi,
09123 Cagliari, IT, {luisanna.cocco, michele, filippo.pani}@diee.unica.it
Abstract Il fenomeno FLOSS offre grandi opportunità sia dal punto di vista economico sia dal punto di vista
sociale, e il portavoce più credibile di questa grande rivoluzione è la Pubblica Amministrazione, che
dovrebbe assumere il ruolo di principale promotrice del FLOSS per garantire forti risparmi nel medio
e lungo termine e, soprattutto, per sostenere la diffusione di competenze e il rafforzamento di reti
locali di imprese. Dalle recenti relazioni annuali sullo stato dell'ICT nella Pubblica Amministrazione,
ad opera del CNIPA, emerge un quadro di una P.A. caratterizzata da scarsità di risorse umane e
finanziarie. La spesa ICT è gestita da molteplici centri decisionali e le Amministrazioni non
possiedono un quadro completo e aggiornato. Tutto questo è aggravato dal fatto che il fornitore
esterno, a cui la P.A. si rivolge, si occupa sia della progettazione sia della realizzazione degli
interventi; si ricorre all'innovazione sotto la spinta degli operatori di mercato e non dopo un'attenta
analisi dei fabbisogni informativi e funzionali degli utenti. Ciascuna Amministrazione dovrebbe
sviluppare al proprio interno un centro di R&S, che sia in grado di gestire e fornire almeno in parte
alla P.A. l'intero fabbisogno di IT di cui necessita. Le soluzioni FLOSS risultano essere un valido
aiuto per la P.A., grazie alla loro estrema versatilità e adattabilità, e al fatto che permettono di
risparmiare sui costi delle licenze.
Partendo da un modello economico basato sulla teoria della crescita endogena, abbiamo studiato
come gli investimenti in soluzioni FLOSS influenzano l'andamento dei tassi di crescita di alcune
grandezze fondamentali per la crescita di un'organizzazione, rispetto agli incrementi delle stesse
grandezze derivanti da investimenti in software proprietario (PROPS). Le grandezze analizzate sono il
capitale ICT e non ICT, la produttività, il capitale umano e lo sviluppo tecnologico prodotto. In tale
modello riveste un ruolo fondamentale il capitale umano che, sviluppando le proprie abilità e
conoscenze, incrementa la produttività dell'intero sistema, e la ricerca e lo sviluppo (R&S), essenziali
per la crescita aziendale. Abbiamo risolto il modello economico, rappresentato da un complesso
sistema di equazioni, attraverso la costruzione di un dimostratore software in ambiente MatlabSimulink. In particolare, tale solutore studia come variano nel tempo le grandezze in gioco al variare
dei parametri, in un periodo di tempo T pari a 200 mesi e con un passo temporale pari a 1 mese. Le
simulazioni eseguite evidenziano che investire in software FLOSS comporta un incremento maggiore
dei tassi di crescita dei capitali ICT e non ICT, della produttività, del capitale umano e della
tecnologia, rispetto agli incrementi delle stesse grandezze derivanti però da investimenti in software
proprietario. Per valutare il rischio economico ed operativo legato all'adozione di FLOSS, abbiamo
proposto un secondo dimostratore software, realizzato anche in questo caso in ambiente MatlabSimulink, che implementa il metodo Monte Carlo, effettuando un elevato numero di simulazioni del
modello economico di crescita endogena. Ad ogni simulazione, il dimostratore estrae i valori delle
variabili in input dalle corrispondenti distribuzioni statistiche, e calcola una serie di parametri
statistici dei dati in output, necessari per eseguire accurate analisi del rischio relative ad investimenti
in software FLOSS. E' stato, infine, realizzato un solutore in codice Matlab che implementa sempre il
metodo Monte Carlo, ma ci permette di effettuare un numero ancora più elevato di simulazioni del
modello economico. I risultati ottenuti hanno dimostrato come l'introduzione di soluzioni FLOSS non
comporta alcun rischio significativo. L'introduzione dell'aleatorietà nelle variabili in input comporta,
Pagina 83
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
infatti, soltanto una diminuzione dei tassi di crescita delle grandezze, ma non una diminuzione tale da
causare rischi economici ed operativi.
Parole Chiave: software libero, Pubbliche Amministrazioni, investimenti IT, modelli
economici.
1 INTRODUZIONE
L'avvento di Internet ha dato il via ad una vera e propria rivoluzione in campo informatico.
La progettazione e la realizzazione dei sistemi software basata su soluzioni chiuse è stata
rimpiazzata da modelli di produzione che puntano all'interoperabilità e alla cooperazione tra
sistemi. Questo ha reso possibile l'accesso da remoto ad applicazioni e basi dati, facilitando
così la cooperazione tra enti pubblici e cittadini, tra enti pubblici e aziende e tra sedi aziendali
dislocate in diverse parti del territorio nazionale o mondiale. La nascita di Internet ha
permesso, inoltre, lo sviluppo del FLOSS, un processo di produzione del software che si
differenzia sostanzialmente dalla produzione del software proprietario per le sue due
principali caratteristiche: apertura del codice sorgente e libera distribuzione.
Negli ultimi anni il FLOSS ha raggiunto una maturità tale da consentire un'adozione di
massa; tale adozione offrirebbe al mondo intero grandi opportunità di sviluppo, sia sociale
che economico. Liberarsi dai vincoli, propri del sistema di produzione del software
proprietario, consentirebbe di informatizzare e rendere molto più trasparenti ed efficienti le
relazioni e le pratiche tra enti pubblici o tra sedi aziendali; potrebbe portare a forti risparmi
nel medio e nel lungo termine, a una minore dipendenza dai fornitori, alla diffusione di
competenze a al rafforzamento di reti locali d'imprese [1].
Scopo del lavoro proposto è la descrizione dell studio accurato svolto per avanzare lo stato
dell’arte relativamente alle problematiche economiche e pratiche legate all’adozione di
software FLOSS, soprattutto da parte delle PP.AA. [2][3]. Lo sviluppo di competenze,
metodiche e strumenti in tale settore è estremamente importante per un'organizzazione che
non voglia solo curare l'aspetto tecnologico-informatico del FLOSS, ma miri ad assistere e
soddisfare il cittadino.
2 L'ITALIA E IL FLOSS
Il nostro Paese è caratterizzato dalla presenza di un gran numero di piccole software house
[1], che operano come system integrator e sviluppano applicazioni per small business. Tali
imprese sono escluse dal mercato della Pubblica Amministrazione dal momento che un tale
mercato non è compatibile con le loro piccole dimensioni. Il FLOSS può essere un valido
aiuto per tali aziende, dal momento che, grazie alle particolari caratteristiche di produzione
del FLOSS, le aziende possono consorziarsi fra loro al fine di produrre un solo prodotto
software, collaborando così alla realizzazione di grandi progetti; al contrario di quanto accade
nella produzione di software proprietario, dove le aziende operano ognuna
Pagina 84
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
indipendentemente dalle altre e impegnano talvolta investimenti enormi. Inoltre, il FLOSS
costituisce una spinta all'uso delle tecnologie più moderne: un progetto FLOSS si sviluppa,
infatti, a partire dalle esigenze di un individuo o di un gruppo, e mirando a massimizzare il
beneficio dell'individuo e non il profitto di un'azienda. Esso punterà, quindi, all'utilizzo di
tecnologie sempre più avanzate.
Sulla base delle osservazioni riportate, si può concludere che il fenomeno FLOSS offre
grandi opportunità sia dal punto di vista economico sia dal punto di vista sociale, e il
portavoce più credibile di questa grande rivoluzione è la Pubblica Amministrazione, che
dovrebbe assumere il ruolo di principale promotrice del FLOSS per garantire forti risparmi
nel medio e lungo termine e, soprattutto, per sostenere la diffusione di competenze e il
rafforzamento di reti locali di imprese. Se tutte le PP.AA. italiane investissero in soluzioni
FLOSS, si assisterebbe ad uno sviluppo dell'industria del software su tutto il territorio
nazionale, ad un maggior riuso delle soluzioni software sviluppate fra tutte le PP.AA., ad un
potenziale risparmio nei costi di sviluppo e ad una minore dipendenza dai fornitori
(fenomeno del lock-in).
2.1
Panoramica sullo stato dell'ICT nella P.A. italiana
Dalla relazione annuale sullo stato dell'ICT nella Pubblica Amministrazione Centrale, ad
opera del CNIPA [4], emerge un quadro di una P.A. caratterizzata da scarsità di risorse
umane e finanziarie, che produce cambiamenti a piccoli passi, conseguendo leggeri ma non
sostanziali miglioramenti rispetto a quanto rilevato in passato.
Gli ostacoli presenti nella P.A. continuano a restare immutati e toccano diversi aspetti:
gestionali, organizzativi ed economici. La spesa ICT di una P.A. è gestita da molteplici centri
decisionali e le Amministrazioni non possiedono un quadro completo e aggiornato; non ci
sono analisi o valutazioni che permettono all'organizzazione di adottare strumenti che
riducano la spesa preventivata, le ridondanze o la non interoperabilità; il riuso delle soluzioni
software fra PP.AA. è molto ridotto; il personale informatico è nella maggior parte dei casi di
età elevata e il livello di competenza tecnico-gestionale non è sempre adeguato, per cui il
ricorso a fornitori esterni per l'analisi dei fabbisogni, per l'individuazione delle soluzioni e per
il governo dei progetti è nella maggior parte dei casi una scelta obbligata; il fornitore esterno
a cui la P.A. si rivolge si occupa sia della progettazione sia della realizzazione degli
interventi; non esiste un ente che definisce gli obiettivi del progetto e mette a disposizione i
mezzi necessari, considerando le finalità complessive di servizio di tutte le PP.AA.; si
continua a privilegiare il supporto ai procedimenti amministrativi e al funzionamento a
scapito della domanda esterna di servizi e di semplificazione amministrativa; non sono ancora
pienamente disponibili e accessibili le basi dati e di informazioni di importanza rilevante per
il funzionamento di una P.A., come anagrafi sulla popolazione esistente, imprese o catasto; è
presente una produzione di banche dati spesso ridondanti e non collegate fra loro, a causa
della scarsa cooperazione tra PP.AA; si ricorre all'innovazione sotto la spinta degli operatori
di mercato e non dopo un'attenta analisi dei fabbisogni informativi e funzionali degli utenti; i
servizi on-line aumentano ma non si ha un effettivo riscontro della soddisfazione del cliente;
la condivisione dei patrimoni informativi e l'avvio di investimenti ICT per la cooperazione
applicativa è ancora un traguardo lontano; i diversi contesti culturali nel governo
amministrativo delle ICT non facilitano l'ottimizzazione delle spese e la condivisione di
soluzioni per la gestione contabile, per il controllo di gestione o per la gestione del personale.
Comuni e province non svolgono sufficienti attività di studio, progettazione e sviluppo
Pagina 85
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
software; infatti, nei comuni di grandi dimensioni, il 44% della spesa IT è relativa all'acquisto
di servizi, il 31% al software e il 25% all'hardware [5][6]. Tale spesa è rivolta sia all'acquisto
di soluzioni FLOSS sia all'acquisto di soluzioni proprietarie. Le soluzioni FLOSS sono però
adottate prevalentemente lato server, e l'uso di applicazioni desktop FLOSS risulta ancora
molto basso. Inoltre, solo i centri di ricerca pubblica, come l'ISTAT e il CNR, gestiscono i
propri sistemi FLOSS con personale interno.
Ciascuna Amministrazione dovrebbe mirare alla massimizzazione del benessere collettivo,
sviluppando al proprio interno le competenze necessarie a svolgere attività di analisi dei
fabbisogni, di individuazione delle soluzioni, di realizzazione e gestione dei progetti
software. Essa dovrebbe sviluppare al proprio interno un centro di R&S, che sia in grado di
gestire e fornire almeno in parte alla P.A. l'intero fabbisogno di IT di cui necessita, o almeno
di supervisionare efficacemente le forniture esterne.
2.2
Benefici prodotti da un investimento in soluzioni FLOSS da parte di PP.AA.
Elenchiamo brevemente i benefici prodotti da un ipotetico investimento in soluzioni FLOSS
da parte delle PP.AA. italiane.
Il controllo della spesa pubblica. Il FLOSS permette alle PP.AA. di salvaguardare gli
investimenti fatti in termini di hardware e software senza essere esposti alle scelte strategiche
del fornitore, e di mantenere una maggiore autonomia decisionale nel pianificare gli
aggiornamenti.
Miglioramento dei prodotti proprietari. Di solito, il FLOSS è sviluppato da programmatori
sparsi per il mondo, ognuno dotato di propria esperienza, e questo processo di
implementazione stimola l’innovazione e permette spesso di raggiungere obiettivi superiori a
quelli raggiungibili in un mondo chiuso. Come conseguenza di questo fatto, le aziende
proprietarie sono spinte ad investire continuamente nuove fonti e nuove risorse nel
miglioramento dei propri prodotti, per mantenere le proprie quote di mercato.
Garanzia del pluralismo informatico. Mentre alcuni governi combattono le posizioni
monopolistiche a favore di un mercato ampio, altri fanno accordi esclusivi con produttori
privati per fornire strumenti informatici alle PP.AA. Esiste una via per ostacolare i regimi di
monopolio e contribuire così allo sviluppo del pluralismo informatico: è quella del software
libero, che permette minori costi e migliore utilizzo dei computer a disposizione dell'intera
collettività.
Competitività e trasparenza del mercato. L’ingresso dei prodotti FLOSS ha portato dei
cambiamenti sulla struttura del mercato, e tali cambiamenti saranno tanto più accentuati tanto
più grande sarà lo sviluppo del software FLOSS. La situazione generale di monopolio è stata
sostituita da una competizione tra diversi modelli di business, quello proprietario e quello
FLOSS, e l'ingresso di quest'ultimo sembra in grado di contrastare i monopoli esistenti.
Scelte di sviluppo tecnologico compatibili con l’ambiente. Uno dei principi dell'etica hacker è
quello di non sprecare tempo per cominciare ogni volta a reinventare la ruota, ma utilizzare
quanto già fatto da altri. Ogni nuova release di molti sistemi proprietari richiede, invece, un
nuovo hardware, la cui costruzione utilizza risorse non deperibili, ma ancor di più il suo
smaltimento è causa di danni ambientali.
Pagina 86
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Occupazione. Il FLOSS permette di creare nuovi posti di lavoro. L’utilizzo sistematico di
FLOSS nelle PP.AA. porta allo sviluppo di competenze informatiche locali, favorendo
un’occupazione altamente tecnologica locale vicino alla P.A. Non si tratta di un modello
inefficiente, ma del superamento di monopoli con un modello tecnologico a rete locale più
moderno ed efficiente.
Valorizzazione del patrimonio di dati pubblici. Poiché con il FLOSS si possiede il codice
sorgente, è più facile garantire la persistenza, la tracciabilità e la fruibilità dei dati: il cittadino
ha la garanzia che potrà sempre leggere e modificare il file.
Sviluppo economico e sociale del territorio. Il software libero permette la condivisione della
conoscenza e la libertà di copia, permettendo così una crescita culturale e formativa.
L'esperienza delle generazioni precedenti può essere utilizzata dalle nuove, per risolvere
nuovi problemi.
Diminuzione del divario digitale fra cittadini. Diffondere il FLOSS nelle PP.AA.
consentirebbe la riduzione del divario digitale, permettendo a tutti i cittadini di avvicinarsi al
mondo informatico in modo graduale e gratuito.
Nel seguente capitolo sono illustrati i solutori realizzati in ambiente Matlab-Simulink, che
permettono di evidenziare come gli investimenti in IT e in R&S, da parte delle PP.AA,
finalizzati allo sviluppo di soluzioni FLOSS, contribuiscono effettivamente alla crescita e alla
valorizzazione di tali effetti.
3 MODELLO ECONOMICO BASATO SULLA TEORIA DELLA
CRESCITA ENDOGENA
Per valutare l'impatto economico dei prodotti FLOSS sull'innovazione e lo sviluppo del
nostro Paese, partiamo da un modello estratto da un recente studio pubblicato dall'Unione
Europea [7]. Tale modello si rifa alle teorie economiche della crescita endogena [8] e ai
contributi di Romer [9][10]. Esso considera, quindi, il progresso tecnologico endogeno al
sistema economico, e si basa sulle seguenti ipotesi:

ruolo fondamentale del capitale umano che, sviluppando le proprie abilità e conoscenze,
incrementa la produttività dell'intero sistema;

grande importanza per la ricerca e lo sviluppo (R&S);

presenza di rendimenti di scala crescenti derivanti dall'attività di R&S e dall'incremento
di conoscenza.
Riportiamo per maggior chiarezza in Figura 1 il modello proposto da UNU-MERIT [7]. Nella
sezione successiva sono descritte le variabili in gioco.
Pagina 87
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
dK i
i
=Rt − ⋅K i t 
dt
dK y
=I t − y⋅K y t 
dt
Rt =s R⋅Y t 
I t =sI⋅Y t 
dh
=u⋅h t  ⋅⋅K i t 1−
dt
−
−
1
−
K e t =k y t ⋅[q 1−  / A F tq 1− ⋅AP t ∗A P t q⋅ AF t q 1−⋅A P t −1∗A F t] 
F
  1F  KFi t −h t − Lt
  2F
AF t = 0 t  h t  Lt
P 
P
P
  P
A t =  ht
 L t   K t −h t − Lt
P
0
1
i
2
F
K i t =1−W 1− K i t 
K Pi t =W 1− K i t 
Y t =B⋅1−u⋅ht ⋅Lt 1− ⋅ K e t 
Figura 1. Sistema di equazioni che modellano il sistema economico basato sulla teoria della
crescita endogena.
3.1
Dimostratore software per la valutazione dell'impatto economico dell'adozione di
FLOSS nelle PP.AA.
A partire dal complesso sistema di equazioni sopra riportato, abbiamo costruito un modello in
ambiente Matlab-Simulink per studiare come variano nel tempo le grandezze in gioco al
variare dei parametri. In particolare, abbiamo studiato le diverse grandezze in un periodo di
tempo T pari a 200 e con un passo temporale pari a 1; abbiamo assunto che l'unità di misura
del passo temporale sia pari ad 1 mese e, quindi, che il periodo T sia pari a 200 mesi.
Abbiamo risolto tre equazioni differenziali e studiato come variano nel tempo K i , K y e
h , ossia rispettivamente il capitale ICT, il capitale fisico ed il capitale umano.
Parallelamente alla risoluzione delle equazioni differenziali, abbiamo calcolato ad ogni passo
temporale anche altre grandezze: il capitale effettivo dell'organizzazione, K e , e A F con
A P che rappresentano il numero totale di beni esistenti e possono essere interpretati come
una forma di sviluppo tecnologico associato rispettivamente alle attività FLOSS e alle attività
proprietarie; infine, abbiamo calcolato la funzione di produzione Y. L'obiettivo delle
simulazioni effettuate è conoscere gli ordini di grandezza dei segnali coinvolti nello sviluppo
della produttività, relativamente all'introduzione di prodotti FLOSS piuttosto che proprietari;
in particolare, abbiamo studiato i tassi di crescita delle diverse grandezze sopra riportate.
Nella Figura 2 è riportato lo schema Simulink del modello:
Pagina 88
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 2 :34
t
T a s s o d i c r e s c it a d i A F a ll a fin e d e l p e r io d o d i s im u la z io n e
D i g i t a l C lo c k
7
ta s s o _ A F _ in T
A n d a m e n to n e l te m p o
d e l ta s s o _ A F
ky 0
T a s s o d i c r e s c it a d i A P a lla fin e d e l p e r io d o d i s i m u la z io n e
k y0
1
ta s s o _ A P _ in T
k i0
k i0
A n d a m e n to n e l te m p o
d el tas s o _ A P
0 .9
gam m a
T a s s o d i c re s c it a d i h a l la fin e d e l p e r io d o d i s im u la z io n e
G am m a
ta s s o _ h _ in T
0 .8
w
A n d a m e n to n e l te m p o
d e l ta s s o _ h
w
c re s c _ e n d _ S im u lin k
1
q
T a s s o d i c re s c i t a d i k e a lla fi n e d e l p e r io d o d i s i m u la z io n e
q
1
ta s s o _ k e _ i n T
A n da m en to n e l te m p o
d e l ta s s o _ k e
p s i0 F
p s i0 F
0 .1
ta s s o _ k i _ in T
p s i1 F
T a s s o d i c re s c it a k i a lla fi n e d e l p e rio d o d i s im u la z i o n e
p s i1 F
1
A n da m en to n e l te m p o
d el tas s o _ k i
p s i0 P
p s i0 P
T a s s o d i c r e s c it a d i y a l la fin e d e l p e ri o d o d i s im u la z io n e
ta s s o _ y _ i n T
0 .1
p s i1 P
p s i1 P
A n d a m e n to n e l te m p o
d e l ta s s o _ y
E m bedded
M A T L A B F u n c t io n 1
Figura 2. Schema Simulink per la simulazione del modello economico di crescita endogena.
Analizziamo brevemente le variabili input/output dello schema Simulink sopra riportato,
iniziando dalle variabili in ingresso. Le variabili di input sono le seguenti: K  y ,0  (stock
iniziale di capitale ICT), K i ,0 (stock iniziale di capitale non ICT),  (variabile che
pesa l'influenza del capitale umano e del capitale ICT nella funzione di produzione del
capitale umano), w (frazione di capitale ICT utilizzato nella produzione del prodotto
finale, relativo alle soluzioni PROPS); 1−w (relativo invece ai prodotti FLOSS), q
(differenza del rapporto qualità/prezzo tra soluzioni FLOSS e proprietarie), (parametro che
, P
pesa la forza lavoro nel calcolo delle attività FLOSS o proprietarie),  F
(parametro che
1
pesa l'intensità di capitale ICT nel calcolo delle attività FLOSS o proprietarie).
A partire dalle variabili d'ingresso, il solutore risolve il complesso sistema di equazioni che
rappresenta il modello di crescita economica, fornendo in output il comportamento di diverse
grandezze. Gli output sono i tassi di crescita calcolati alla fine del periodo di simulazione, T,
e relativi alle seguenti grandezze: A F è il numero della varietà di prodotti FLOSS; A P è
il numero della varietà di prodotti PROPS; h è il capitale umano; k e è il capitale
effettivo; k i è il capitale ICT; infine, y è la funzione di produzione, ossia la produttività
dell'organizzazione in esame.
Pagina 89
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Riportiamo nella Tabella 1 i risultati ottenuti nella simulazione di riferimento ed in alcune
delle diverse simulazioni eseguite:
Parametri
Simulazione
di
riferimento
Simulazion
e1
Simulazione
2
Simulazion
e3
Simulazione
4
Simulazione
5
Simulazion
e6
Simulazion
e 7
Simulazion
e8
Simulazion
e9
Simulazion
e 10
w
0.8
0.7
0.6
0.7
0.6
0.7
0.7
0.7
0.7
0.7
0.7

0.9
0.9
0.9
0.9
0.9
0.9
0.8
0.8
0.9
0.8
0.8
q
1
1.0
1.0
1.1
1.1
1.0
1.0
1.1
1.1
1.0
1.1
1F 
0.1
0.1
0.1
0.1
0.1
0.2
0.1
0.1
0.2
0.2
0.2
Output
AF
0.89
0.15
0.26
0.3
0.44
1.16
0.7
0.96
1.57
2.17
2.86
AP
1.39
-0.04
-0.09
0.12
0.09
0.68
0.7
0.86
1.09
1.69
2.38
h
0.37
0
0
0
0
0.01
0.19
0.21
0.02
0.25
0.29
ke
3.04
0
0
0.3
0.36
1.59
1.28
1.8
2.39
3.64
4.97
ki
1.81
0
0
0.14
0.17
0.76
0.68
0.93
1.15
1.8
2.44
y
1.97
0
0
0.18
0.22
0.96
0.85
1.17
1.44
2.28
3.1
Tabella 1. Risultati delle simulazioni.
Nella 1° colonna sono riportati i tassi di crescita relativi alla “Simulazione di riferimento”,
nelle altre colonne riportiamo, invece, le variazioni dei tassi di crescita delle diverse
simulazioni rispetto alla “Simulazione di riferimento”, calcolate in T, ed espresse in punti
percentuali. Si noti che i valori dei tassi di crescita riportati nella tabella precedente sono
piccoli ma non per questo insignificanti. Le simulazioni sono state eseguite considerando la
produttività pro capite e, di conseguenza, bassi investimenti in software. Gli ordini di
grandezza diventano, quindi, significativi qualora si considerino gli investimenti complessivi
che una P.A. sostiene. Le simulazioni eseguite hanno evidenziato il maggior contributo che i
prodotti FLOSS danno allo sviluppo economico e sociale di un paese rispetto al contributo
dei prodotti proprietari. Infatti, i prodotti FLOSS contribuiscono maggiormente alla crescita
del capitale fisico, del capitale umano, della produttività e della varietà di prodotti, rispetto ai
prodotti proprietari. Si noti, che per essere il più oggettivi possibile, in tutte le simulazioni
eseguite si è sempree dato maggior importanza al contributo che gli investimenti ICT danno
alla varietà di prodotti proprietari. Infatti, abbiamo impostato il parametro w ad un valore non
inferiore a 0.6, assegnando così il 60% delle risorse ICT ai prodotti proprietari e il 40% ai
prodotti FLOSS.
3.2
Dimostratore software per la valutazione del rischio economico dell'adozione di
FLOSS nelle PP.AA.
Per effettuare l'analisi del rischio economico ed operativo [11], relativo all'adozione di
soluzioni software FLOSS, è stato realizzato un solutore in ambiente Matlab-Simulink e uno
in codice Matlab; i due solutori implementano il metodo Monte Carlo [12][13], uno dei
metodi più semplici e diffusi di simulazione stocastica. Per procedere con la simulazione
Pagina 90
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Monte Carlo, bisogna innanzitutto definire ogni variabile d'ingresso in termini di
distribuzione statistica; si procede, quindi, ad effettuare n simulazioni estraendo ogni volta i
valori dalle corrispondenti distribuzioni. Al termine delle n simulazioni si fa una valutazione
complessiva e si ottengono n valori indipendenti delle variabili d'output, n campioni, che
potranno essere analizzati con tecniche statistiche per stimarne i parametri descrittivi [14].
Nella Tabella 2 elenchiamo le variabili rilevanti ai fini delle nostre analisi e assegniamo ad
ogni variabile aleatoria la propria distribuzione statistica gaussiana e ad ogni variabile
deterministica il proprio valore. Si è assunto, inoltre, che il 99% dei valori delle variabili
aleatorie gaussiane cada in un dato intervallo, come indicato in Tabella 2.
1° Blocco simulazioni
2° Blocco simulazioni
3° Blocco simulazioni
4° Blocco Simulazioni
K i ,0
1
1
3
3
K y,0
7
7
9
9

[0.8,0.9]
[0.8,0.9]
[0.8,0.9]
[0.8,0.9]
w

0.8
0.7
0.7
[0.5,0.7]
q
[1,1.1]
[1,1.1]
[1,1.1]
[1,1.1]
 0F 
[0.9,1]
[0.9,1]
[0.9,1]
[0.9,1]
 1F 
[0.1,0.3]
[0.1,0.3]
[0.1,0.3]
[0.1,0.3]
 0P
[0.9,1]
[0.9,1]
[0.9,1]
[0.9,1]
 1P
[0.1,0.2]
[0.1,0.2]
[0.1,0.2]
[0.1,0.2]
Tabella 2. Valori deterministici e/o aleatori delle variabili d'ingresso del modello in esame,
relative ai diversi blocchi di simulazione.
In Figura 3 è riportato lo schema Simulink del modello:
Pagina 91
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
A F _ M o n te C a rlo
O u t1
Il ve t t o r e A F _ M o n t e C a r l o c o n t i e n e i va l o r i
d e l t a s s o d i c r e s c it a d i A F , o t t e n u t i c o n l e
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c re s c it a d i A F
O u t2
A P _ M o n t e C a rlo
Il ve t t o r e A P _ M o n t e C a r l o c o n t i e n e i va l o r i
d e l t a s s o d i c re s c it a d i A F , o t t e n u t i c o n le
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c re s c it a d i A P
h _ M o n t e C a rl o
O u t3
fo r { . . . }
Il ve t t o r e h _ M o n t e C a r l o c o n t i e n e i va l o r i
d e l t a s s o d i c re s c it a d i A F , o t t e n u t i c o n le
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c re s c it a d i h
O u t4
k e _ M o n t e C a rlo
Il v e t t o r e k e _ M o n t e C a rl o c o n t ie n e i va l o ri
d e l t a s s o d i c re s c it a d i A F , o t t e n u t i c o n le
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c re s c ita d i k e
O u t5
k i_ M o n t e C a r l o
Il ve t t o r e k i _ M o n t e C a r l o c o n t i e n e i va l o r i
d e l t a s s o d i c re s c it a d i A F , o t t e n u t i c o n le
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c re s c it a d i k i
y _ M o n te C a rlo
O u t6
Il ve t t o r e y _ M o n t e C a rl o c o n t ie n e i va l o ri
d e l t a s s o d i c r e s c it a d i A F , o t t e n u t i c o n l e
1 0 0 0 0 s im u la z io n i .
A n d a m e n to n e l te m p o
d e l t a s s o d i c r e s c it a d i y
F o r It e r a t o r
S u b s y s te m
Figura 3. Schema Simulink per la simulazione del metodo
Monte Carlo.
Riportiamo nelle seguenti figure i risultati ottenuti risolvendo il metodo Monte Carlo con il
solutore in codice Matlab, e impostando le varibili d'ingresso come riportato nell'ultima
colonna della Tabella 2.
5
x 10
4
5
4
4
3 .5
3 .5
3
F re q u e n z e
3
F re q u e n z e
4
4 .5
4 .5
2 .5
2
2 .5
2
1 .5
1 .5
1
1
0 .5
0 .5
0
x 10
0
0.0 5
0.1
0 .1 5
0.2
Is to g ra m m a d e l ta s s o d i c re s c it a d i A F
0
0 .2 5
Figura 4. Istogramma del tasso
di crescita di AF in
T=200 (4° blocco di
simulazioni)
0
0 .0 5
0 .1
0 .1 5
0 .2
Is to g ra m m a d e l t a s s o d i c re s c it a d i A P
0 .2 5
Figura 5. Istogramma del tasso
di crescita di AP in
T=200 (4° blocco di
simulazioni)
Pagina 92
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
5
x 10
4
5
4 .5
4
3 .5
3 .5
3
3
2 .5
F re q u e n z e
F re q u e n z e
4
4 .5
4
2
1 .5
2 .5
2
1 .5
1
1
0 .5
0 .5
0
x 10
2
4
6
8
10
12
Is to g ra m m a d e l ta s s o d i c re s c ita d i h
14
0
16
x 10
-3
Figura 6. Istogramma del tasso
di crescita di h in
T=200 (4° blocco di
simulazioni)
0
0 .05
0.1
0 .1 5
0.2
0 .2 5
Is to g ra m m a d e l t a s s o d i c re s c it a d i y
0 .3
0 .3 5
Figura 7. Istogramma del tasso
di crescita di y in
T=200 (4° blocco di
simulazioni)
Gli istogrammi evidenziano che l'introduzione di soluzioni FLOSS comporta un rischio
economico ed operativo trascurabile, e favorisce lo sviluppo della produttività e lo sviluppo
di tecnologie sempre più moderne.
4 CONCLUSIONI
FLOSS significa disponibilità dei sorgenti, occasione di crescita formativa e di
personalizzazione del software secondo le proprie reali necessità. L'aderenza agli standard e
la disponibilità dei sorgenti garantisce totale accessibilità ai dati da parte dell'utente. Il
FLOSS permette la crescita aziendale senza costi aggiuntivi e nessuna restrizione, quindi, sul
numero di installazioni. Il fenomeno FLOSS offre grandi opportunità, sia dal punto di vista
economico sia dal punto di vista sociale, e la Pubblica Amministrazione dovrebbe assumere il
ruolo di principale promotrice del FLOSS per garantire al Paese forti risparmi nel medio e
lungo termine, una minore dipendenza dai fornitori e, soprattutto, per sostenere la diffusione
di competenze e il rafforzamento di reti locali di imprese.
Alla luce dei risultati ottenuti con i due modelli proposti per l'analisi dell'adozione di FLOSS,
riportiamo alcune considerazioni. Con il 1° modello illustrato, abbiamo valutato l'impatto
economico relativo all'adozione del FLOSS, e abbiamo visto come i prodotti FLOSS diano
una spinta maggiore allo sviluppo economico e sociale di un Paese. Essi contribuiscono
maggiormente alla formazione del capitale umano, alla crescita del capitale fisico e ICT. Con
il 2° modello, invece, abbiamo valutato il rischio economico relativo all'adozione FLOSS
rispetto ai prodotti PROPS, e si è visto come l'adozione di soluzioni FLOSS contribuisca allo
sviluppo sociale ed economico, garantendo guadagni nel medio e nel lungo termine, e
contribuendo allo sviluppo di tecnologie sempre più moderne.
I solutori in ambiente Matlab-Simulink proposti sono facilmente configurabili su casi
specifici, settando opportunamente i valori delle diverse variabili d'ingresso. Essi
Pagina 93
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
rappresentano, quindi, un utile strumento per tutte le PP.AA. che si trovano dinanzi alla
formulazione di un giudizio di convenienza circa l'adozione di FLOSS. Nel caso di PP.AA.,
trattandosi di investimenti pubblici, l'operatore che deve decidere sulla convenienza di un
investimento formulerà il suo giudizio rispetto ad un obiettivo di massimizzazione del
benessere collettivo, dando così maggior peso allo sviluppo del capitale umano, allo sviluppo
della produttività e allo sviluppo di ogni forma di progresso tecnologico. Di conseguenza, si
tenderà a privilegiare quei progetti IT che contribuiscono maggiormente alla crescita di tali
grandezze.
Bibliografia
[1] Marchesi, M., Concas, G., De Petra, G., Marzano F. e Zanarini, P. (2008). Finalmente
Libero!McGraw-Hill.
[2] Open Source Observatory and Repository (2009). The French Gendarmerie goes for
Ubuntu.
[3] Open Source Observatory and Repository (2009). The Swedish National Police.
[ 4] CNIPA (2008). Relazione annuale sullo stato dell’ICT nella Pubblica Amministrazione
Centrale.
[5] Netics (2006). La spesa in licenze d’uso per prodotti software Sistemi Operativi PC Client
e Office Automation nella Pubblica Amministrazione Locale italiana.
[6] Netics (2008). Le ICT nelle Regioni e Province Autonome.
[7] Ghosh, R. A. (2006). Study on the Economic impact of open source software on
innovation and the competitiveness of the Information and Communication Technologies
(ICT) sector in the EU.
[8] Aghion, P. e Howitt, P. (1998). Endogenous growth theory. Cambridge and London, MIT
Press.
[9] Barro, R. J. (1999). Notes on Growth Accounting, Journal of Economic Growth.
[10] Barro, R. J. e Sala-i-Martin, X. (1995). Economic Growth. McGraw-Hill.
[11] Hertz, D. e Thomas, H. (1983). Risk analysis and its applications. John Wiley & Sons,
Chichester.
[12] Robert, C. P. e Casella, G. (2004). Monte Carlo Statistical Methods. Springer-Verlag.
[13] Vose, D. (1996). Risk analysis : a quantitative guide to Monte Carlo simulation
modeling. Elsevier, Amsterdam.
[14] Carlson, A B. e Crilly, P. B. (2000). Communication Systems, an introduction to signals and noise in electrical communication. McGraw Hill.
Pagina 94
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
DESKTOP-AS-A-SERVICE FACILE CON VIRTUAL
DISTRO DISPATCHER
Lamanna, Davide, Binario Etico Soc. Coop., via del Forte Tiburtino, 98/100 Roma,
IT, davide.lamanna@binarioetico.org
Nasti, Fabrizio, Binario Etico Soc. Coop., via del Forte Tiburtino, 98/100 Roma, IT,
fabrizio.nasti@binarioetico.org
Abstract
Virtual Distro Dispatcher (VDD) è un sistema distribuito che ha lo scopo di proiettare multiple istanze
virtuali di sistema operativo, pienamente usabili come desktop attraverso terminali in una rete. I
terminali possono essere PC obsoleti o thin client a basso consumo, tipo mini-ITX, tutti gestiti da un
potente sistema centrale multiprocessore e clusterizzato. Si può parlare di soluzione Desktop-as-aService (DaaS), derivandone il significato da Software-as-a-Service: i desktop possono essere
trasformati in un servizio a sottoscrizione, comodo, economico e scalabile. In VDD, macchine virtuali
desktop vengono istanziate su un server e quindi fornite ai client nella loro interezza, su richiesta,
attraverso una rete.
Parole Chiave: Cloud Computing, XEN, LTSP, Xorg, Trashware, Thin client, VDD-Project
1 INTRODUZIONE
Richard Stallman ha probabilmente ragione quando definisce il Cloud Computing l'ennesima
campagna di marketing modaiola, priva di un reale contenuto tecnologico innovativo e ricca,
invece, di insidie per la libertà e la privacy degli utenti. Ad ogni modo, è egualmente vero che
lavorare sui temi caldi del Cloud Computing ci dà la possibilità di fare passi avanti nello
studio e nello sviluppo dei sistemi distribuiti, della computazione su vasta scala, della
virtualizzazione, della programmazione parallela e dell'ottimizzazione delle risorse. In
quest'ottica, il progetto Virtual Distro Dispatcher (VDD) intende esplorare alcuni aspetti
specifici del Cloud Computing e proporre una soluzione software basata su sistemi aperti e
liberi e che tenga in considerazione anche le problematiche di privacy. L'idea di base del
Cloud Computing è la fornitura di capacità computazionali le più varie in forma di servizio,
ovvero "as-a-service". Servizi che puntano sull'affidabilità, vengono configurati in data center
di nuova generazione, basati su tecnologie di virtualizzazione, per essere erogati in modo
trasparente e standard agli utenti di una rete, nonostante l'insieme eterogeneo e distribuito
delle risorse hardware e software che li compongono. E' il concetto di Utility computing, in
Pagina 95
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
base al quale risorse computazionali fisiche vengono impacchettate ed erogate, in modo non
dissimile a quanto avviene per altri servizi pubblici, come l'elettricità o l'acqua. Questo può
avvenire a diversi livelli. Nel caso delle applicazioni si parla di Software-as-a-Service (SaaS).
Se si tratta di sistemi, è possibile derivare il concetto di Desktop-as-a-Service (DaaS). Le
risorse fisiche degli host (memoria, spazio disco, cicli di processore, ecc.) vengono
quantizzate in macchine virtuali multiple, per poi rendere disponibili da remoto queste
macchine virtuali, da usarsi come desktop, attraverso la rete. In tal modo i desktop vengono
trasformati in un servizio a sottoscrizione economicamente vantaggioso, scalabile e comodo.
Un'altra espressione utilizzata in questo contesto è Virtualized Client Computing (VCC).
Virtual Distro Dispatcher è un sistema distribuito che ha lo scopo di proiettare on-demand
istanze di sistema operativo (unix-like e non solo) pienamente funzionanti, su terminali di una
rete.
2 ARCHITETTURA DI VDD
In VDD, la virtualizzazione è utilizzata per disaccoppiare l'ambiente del client (sistema
operativo, applicazioni e dati) dal suo hardware host e isolarlo da altri software o sistemi che
eventualmente girano sul client. VDD fa uso di un sistema di virtualizzazione di desktop per
ospitare, a bordo di un server (o un gruppo di server in cluster tra loro), istanze di ambienti
client completi e isolati; l'interazione con questi desktop virtuali remoti avviene attraverso
sessioni utente (grafiche) virtuali. VDD sfrutta la trasparenza di rete di X-Window-System, in
base alla quale la macchina dove gira un programma applicativo (l'applicazione client) può
differire dalla macchina locale dell'utente (il display server). I client X-Window-System
girano su macchine virtuali lato server, dove vengono create sessioni utente multiple
all'interno di ambienti virtuali multipli. Il display server di X-Window-System gira sui thin
client (terminali). Per i sistemi operativi privi del server X11 (come Windows e ReactOS), è
possibile usare il protocollo VNC.
L'architettura di VDD viene illustrata in Figura 1. I terminali possono essere PC obsoleti o
thin client a basso consumo, come i mini-ITX, che accedono ad un sistema centrale
multiprocessore e clusterizzato. I terminali sono interfacce a vere e proprie macchine isolate,
che possono essere create su misura per qualunque necessità, tipo, numero e quantità di
risorse, nei limiti delle risorse del sistema centrale, ovviamente. Questo è possibile grazie ad
un sistema di virtualizzazione basato su XEN. L'infrastruttura su cui gira questo sistema è un
cluster è ad High Availability, che garantisce continuità operativa. In particolare, è stato
implementato un sistema di Live Migration, grazie al quale è possibile la migrazione di
macchine virtuali da un host fisico ad un altro all'interno del cluster in caso di guasti.
Pagina 96
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 1.
L'architettura di VDD.
Il meccanismo in base al quale funziona VDD è trasparente all'utente, che, persino da un PC
obsoleto, può comodamente selezionare una determinata macchina, con determinate
caratteristiche, sistema operativo, ambiente grafico e configurazioni, e lavorare su di essa
come se fosse fisica, locale, dotata di quelle risorse e delle relative performance. Si noti,
infine, che è possibile far funzionare VDD su Internet, anche se le prestazioni sono molto
dipendenti dalla disponibilità di banda in upload e ancora scadenti.
3 SCHEMA DI FUNZIONAMENTO
La Figura 2 mostra il modo in cui le macchine fisiche e virtuali, i loro servizi, le loro
applicazioni, i terminali e i display, entrano in relazione tra loro, in base a quali comandi e
realizzando quali funzioni. La macchina fisica VDD (grande, in verde) ospita al suo interno le
macchine virtuali da "dispatchare" (piccole, in giallo), che nell'esempio della figura 2 sono
tre, Debian, Ubuntu e Fedora. Le macchine fisiche e virtuali sono equipaggiate con server
ssh, per poter accedere ad esse dall'esterno, sia per scopi di manutenzione, che di
funzionamento di VDD. La macchina fisica (il server VDD), che, come detto, è in un cluster
ad High Availability, è dotata anche di servizi per l'accesso da remoto. In questo modo è
possibile configurare VDD da stazioni di amministrazione, sia con la riga di comando che
attraverso interfaccia grafica. Nell'esempio, due macchine, Foo e Bar, assolvono allo scopo.
La soluzione web è stata progressivamente abbandonata in favore della più efficiente e
completa GUI via ssh.
Pagina 97
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 2.
Schema di funzionamento.
Tre thin clients (Terminal 1, Terminal 2 e Terminal 3) sono connessi a VDD attraverso LTSP
(Linux Terminal Server Project). Con LTSP è possibile avviare terminali, senza che su di essi
sia installato un sistema operativo. Le prestazioni a cui lavorano i terminali sono prossime a
quelle del server centrale, anche in presenza di hardware molto datato. Quando i terminali si
accendono, eseguono il boot da rete e mostrano (dopo il login) un menu che è parte
dell'interfaccia grafica e che consente all'utente di selezionare la distro (o in generale il
sistema operativo) su cui intende lavorare. In quel momento, l'utente si trova nell'ambiente
del server LTSP e quindi sul server VDD.
La variabile DISPLAY dell'utente su una determinata macchina virtuale, viene impostata per
puntare ad un canale del server X che gira sul server VDD. Nell'esempio, i canali 1, 2 e 3,
uno per ognuna delle tre macchine.
Dai terminali, che attraverso LTSP mostrano l'ambiente grafico del server VDD, si lancia
Xephyr. Xephyr è un server X minimale eseguito in una finestra all'interno della sessione X
corrente. Xephyr è contemporaneamente un client X e un server X. E' client del server X
reale, e server dei propri client, che nel caso di VDD, lo invocano dai thin client. Xephyr è
basato su KDrive, un server X minuscolo, progettato per ambienti con poca memoria a
disposizione. KDrive evita allocazione di memoria a runtime e prova ad eseguire le
operazioni "on the fly", ogni volta che ciò è possibile. Xephyr rappresenta, di fatto, un
rimpiazzo per Xnest, che consente di eseguire un server grafico X11 come client di sé stesso,
all'interno di una finestra autonoma. Rispetto ad Xnest, Xephyr offre prestazioni migliori e
supporto per le estensioni più avanzate (quali Composite, Damage, randr, ecc.).
Nell'esempio di figura 2, Xephyr viene lanciato in ascolto sul canale 2, per poter utilizzare la
macchina Ubuntu.
Pagina 98
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Dopo aver avviato il display remoto di Xephyr, è possibile lanciare sessioni grafiche delle
macchine virtuali utilizzando gestori di sessioni X11 (startkde, gnome-session, xfce4session).
Si noti che è perfettamente possibile usare più canali dallo stesso thin client. Questa è una
delle features di VDD, che consente di proiettare su ogni terminale uno o più sistemi
operativi, passando comodamente dall'uno all'altro attraverso il menu grafico.
Una delle caratteristiche di Xephyr più interessanti per VDD è la modalità a tutto schermo,
che rende il sistema completamente trasparente all'utente.
Tutto queste funzioni vengono assolte da script appositi, a cui è collegata l'interfaccia grafica.
4 PRIVACY
Una delle più importanti criticità delle soluzioni Cloud Computing è l'esposizione degli utenti
a possibili violazioni della propria privacy, in quanto i dati personali sono in possesso di chi
eroga il servizio.
VDD integra al suo interno una soluzione che risolve, almeno in parte, questo genere di
problematiche. Gli utenti di VDD possono avere a propria disposizione un volume cifrato su
ognuna delle Virtual Machine a cui hanno accesso. Il volume cifrato, un volume logico LVM,
è montato sul filesystem del server e condiviso tramite Samba sulle Virtual Machine. Per la
cifratura viene usato un sistema basato su dmcrypt-LUKS.
Su un sistema debian-based è necessario installare i pacchetti dmsetup, cryptsetup e,
naturalmente samba, e verificare la presenza dei moduli "aes" e "crypt". Si procede quindi
alla creazione del volume logico e alla sua cifratura (tramite passphrase) con il programma
cryptsetup. Lo stesso programma si occupa poi di decifrare il volume, previo inserimento
della corretta passhrase, mappandolo su un dispositivo logico, sul quale è quindi possibile
creare il filesystem adeguato tramite le diverse istanze del progrmma mkfs. Sempre tramite
cryptsetup si procede infine alla "chiusura" del volume cifrato, la cui preparazione è a questo
punto completata.
Il pacchetto libpam-mount consente poi di utilizzare il comando mount.crypt per decifrare e
montare il dispositivo sul filesystem del server. Per l'automazione di queste procedure nel
contesto VDD si fa uso delle funzionalità messe a disposizione dal comando "sudo",
opportunamente configurato per definirne funzionalità e limitazioni (utenti e comandi
autorizzati, richiesta o meno di password, ecc.)
Ciascun utente può infine attivare la condivisione del punto di mount del proprio volume
cifrato, sfruttando la funzionalità di "usershare" fornita da samba3. A tale scopo, oltre ad
attivare e configurare tale funzionalità nel file di configurazione di samba, è necessario che
l'utente sia membro del gruppo sambashare. Naturalmente l'utente deve essere aggiunto tra gli
utenti samba tramite il comando smbpasswd, con il quale si imposta anche la relativa
password. L'utente può quindi attivare la condivisione che sarà accessibile previo inserimento
delle credenziali impostate.
L'utilizzo di volumi crittati dà agli utenti la possibilità di tenere i propri dati privati e in
sicurezza rispetto ad intrusi. Potrebbe esserci sempre il rischio, però, che vengano sniffati i
dati in fase di trasferimento dal thin client al volume cifrato (vedi TEMPEST attack). Mentre
in un ambiente LAN controllato questo rappresenta un problema poco rilevante, non è invece
Pagina 99
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
da sottovalutare nel momento in cui VDD entra in funzione “in the cloud”, dove certamente il
rischio è più alto. In questi casi, bisogna ricorrere ad SSL.
Ad ogni modo, la soluzione proposta non risolve del tutto il problema di privacy dei sistemi
basati sul Cloud Computing, in quanto è sempre possibile monitorare le attività degli utenti e
profilarli a scopi pubblicitari o di altro tipo.
5 INTERFACCIA GRAFICA
L'ossatura della GUI è costituita da script, disponibili sul sito insieme a tutta la
documentazione, integrati nella GUI attraverso Zenity. Gli screenshots di Figura 3 e 4
mostrano alcune delle scelte presentate all'utente.
Figura 3.
Selezione del Sistema Operativo della macchina da dispatchare.
Pagina 100
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 4.
Selezione del Desktop Environment (solo per GNU/Linux).
Per quanto riguarda l'amministrazione, VDD integra al suo interno virt-manager. Per essere
gestite, le macchine virtuali devono essere "importate" nello xenstore, in modo che la libreria
libvirt possa riconoscerle e gestirle. Ogni volta che si modifica la configurazione, la virtual
machine deve essere cancellata dallo xenstore e poi riaggiunta. Una volta inserite nello
xenstore, le virtual machine possono essere avviate (e spente) sia da linea di comando che
attraverso l'interfaccia grafica.
Figura 5.
Pannello di controllo delle macchine virtuali.
Pagina 101
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 6.
Una fase della creazione di una nuova macchina virtuale.
Sono previste 2 modalità di utilizzo del gestore: in locale (sull'host xen) e da remoto (da un
client qualunque). In modalità locale è attiva la funzionalità di creazione di nuove macchine
virtuali, sia da linea di comando che da interfaccia grafica. Sia da locale che da remoto, il
programma ci consente di visualizzare lo stato delle virtual machine, i relativi dettagli e l'uso
di risorse e ci consente inoltre di spegnerle, avviarle, rebootarle (vedi figura 5). Figura 6 e 7
mostrano l'allocazione di spazio, cpu e memoria per una nuova macchina da creare (modalità
locale).
Figura 7.
Un'altra fase della creazione di una nuova macchina virtuale.
Pagina 102
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
6 TO DO LIST E COMMUNITY
Grazie al finanziamento della fondazione NLNet , VDD ha avuto una nuova fase di sviluppo.
Sono stati completati l'interfaccia grafica, l'analisi delle performance e i test di usabilità. La
documentazione, gli how-to e il codice sono disponibili sul sito www.vdd-project.org
Virtual Distro Dispatcher usa software Open Source/GPL e protocolli di comunicazione liberi
ed è naturalmente rilasciata come Software Libero. L'infrastruttura consente di far girare
sistemi operativi proprietari come macchine guest e questo è regolato da specifiche licenze,
costi e limitazioni, che dovrebbero essere presi in considerazione dagli utenti di VDD.
Gli sviluppatori cercano persone e/o organizzazioni che vogliano collaborare, promuovere,
sviluppare, discutere. Sul sito è possibile iscriversi alla newsletter, al forum di discussione, e
si può richiedere di essere inseriti nella lista del team di sviluppo e poter quindi accedere agli
strumenti di lavoro collaborativi presenti nell'area riservata.
Stiamo in questa fase ridefinendo la roadmap. La nuova to_do list conterrà di sicuro uno
sviluppo delle feature di clustering; dopo aver implementato l'High Availability, potremmo
sperimentare il Load Balancing. Dovremmo lavorare anche su un event log facilmente
fruibile. Rispetto all'accounting, stiamo per ora usando quello standard di LTSP, mentre
invece si potrebbe pensare di introdurre qualcosa di più configurabile e granulare, integrando
OpenLDAP. Abbiamo poi altre idee su possibili sviluppi, che potrete scoprire ed
incrementare contattandoci e portando le vostre! :-)
Bibliografia
1.Flavio Bertini, Davide Lamanna and Roberto Baldoni – “Virtual Distro Dispatcher: A
costless
distributed virtual environment from Trashware” - ISPA '07: Proceedings of the 5th
international
symposium on Parallel and Distributed Processing and Applications, pages 223—234
2.Jeff Dike – “User Mode Linux” (Bruce Perens' Open Source Series), Prentice Hall PTR
(April 22,
2006), 352 pages
3.David Chisnall – “The Definitive Guide to the XEN Hypervisor” - Prentice Hall PTR; 1
edition
(November 19, 2007), 320 pages
4.Linux Terminal Server Project – http://www.ltsp.org
5.Gerald J. Popek and Robert P. Goldberg – “Formal Requirements for Virtualizable Third
Generation
Architectures” - Communications of the ACM, Volume 17, Issue 7, Pages: 412 – 421
6.Michael Rose (Industry Developments and Model) - “Virtualized Client Computing: A
Taxonomy” -
Pagina 103
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Dec 2007, http://www.idc.com/getdoc.jsp?containerId=209671
7.C. Hewitt - “ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing” IEEE Internet
Computing, Sept./Oct. 2008, pp. 96-99
8.Ruggero Russo, Davide Lamanna and Roberto Baldoni – “Distributed software platforms
for
rehabilitating obsolete hardware” - OSS '05: Proceedings of The First International
Conference on
Open Source Systems, pp. 220-224
9.Brendan Cully, Geoffrey Lefebvre, Dutch Meyer, Mike Feeley, and Norm
Hutchinson - “Remus: High Availability via Asynchronous Virtual Machine Replication” - In
proceedings of the 5th USENIX Symposium on Networked System design and
implementation, pp.
161–174 – Awarded Best Paper
10. Salvatore Cristofaro, Flavio Bertini, Davide Lamanna and Roberto Baldoni – “Virtual
Distro Dispatcher: a light-weight Desktop-as-a-Service solution ” - First International
Conference on Cloud Computing October 19 - 21, 2009, Munich, Germany,
CLOUDCOMP 2009, ICST, 2009
La versione completa di quest'articolo è stata pubblicata, sempre con licenza Creative Commons
Attribution, Non-Commercial, Share-Alike, su CP/Computer Programming Volume XVII n. 5
Pagina 104
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
UNA SUITE INTEGRATA DI SERVIZI PER PA E IMPRESE
AN INTEGRATED SERVICE SUITE FOR PUBLIC
ADMINISTRATIONS AND ENTERPRISES
Marchesi, Michele, DIEE - Università di Cagliari, piazza d'armi, 09123 Cagliari, IT,
michele@diee.unica.it
Melis, Marco, Flosslab srl, viale Elmas 142, 09122 Cagliari, IT,
marco.melis@flosslab.it
Manca Dino, Flosslab srl, viale Elmas 142, 09122 Cagliari, IT,
dino.manca@flosslab.it
Antonio Ariu, Flosslab srl, viale Elmas 142, 09122 Cagliari, IT,
antonio.ariu@flosslab.it
Abstract
Le odierne esigenze di Pubbliche Amministrazioni e imprese in termini tecnologici nell'automazione
dei processi, monitoraggio e controllo dei costi e risultati sono notevoli. Per soddisfare tali esigenze,
il mercato offre tutta una serie di applicativi software specializzati per risolvere le singole
problematiche e migliorare la produttività aziendale.
Il massiccio utilizzo di sistemi informatici, gestiti per lo più da sistemi “legacy”, ha portato ad un in cremento esponenziale dei dati immagazzinati. Queste informazioni rappresentano la base della conoscenza che ogni organizzazione ha maturato nel corso del tempo. D'altra parte, è noto che solo una
piccola parte (10-15%) di tutti i dati viene strutturato in sistemi di memorizzazione dell’informazione,
rappresentando quindi una fonte di informazione e conoscenza strutturata e facilmente accessibile,
mentre il restante 85-90% dei dati potenzialmente utili rimane memorizzato in forma non strutturata,
e quindi molto più difficilmente utilizzabile. Proprio questi dati, che costituiscono un patrimonio
inestimabile di ogni organizzazione, necessitano di una riorganizzazione e di un’integrazione in modo
da poter essere valorizzati al meglio.
Il presente lavoro è orientato all'analisi di un possibile modello che consenta l'integrazione e
l'interoperabilità tra sistemi informatici utilizzando esclusivamente componenti software a codice
aperto e standard riconosciuti.
L’approccio più adeguato è risultato essere quello basato su un'architettura orientata ai servizi con
un sistema centrale di integrazione cui si interfacciano i vari applicativi attivi nello specifico con testo.
Il sistema centrale si occupa di gestire e risolvere le specifiche problematiche di integrazione, ed
esporre infine una Suite di servizi orientati all'utente finale, disponibile per le particolari esigenze.
L'utilizzo di un'architettura del genere permette un'integrazione dei vari applicativi minimizzando la
necessità di intervenire a livello implementativo su ciascuno di essi, oltre che permettere di monitor are e gestire da un unico punto l'elevato flusso informativo in gioco.
La particolare soluzione adottata permette di aprire vari altri scenari: la rappresentazione
dell'informazione in un contesto di integrazione e interscambio tra più applicativi e contesti non può
prescindere dal considerare il contenuto semantico che i dati stessi trasportano. Per garantire piena
interoperabilità, al livello tecnologico è necessario affiancare un livello di interoperabilità di tipo semantico. L'obiettivo è che le informazioni scambiate siano immediatamente e mutuamente
comprensibili.
Pagina 105
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Parole Chiave: SOA, Web Services, Cooperazione applicativa, Pubblica Amministrazione, Imprese,
Portale, Ontologie
1 INTRODUZIONE
Le odierne esigenze di Pubbliche Amministrazioni (PPAA) e imprese in termini tecnologici
nell'automazione dei processi, monitoraggio e controllo dei costi e risultati sono notevoli. Per
soddisfare tali esigenze, il mercato offre tutta una serie di applicativi software specializzati
per risolvere le singole problematiche e migliorare la produttività aziendale.
Il massiccio utilizzo di sistemi informatici, gestiti per lo più da sistemi “legacy”, ha portato
ad un incremento esponenziale dei dati immagazzinati. Queste informazioni rappresentano la
base della conoscenza che le organizzazioni hanno maturato nel corso del tempo. D'altra
parte, è noto che solo una piccola parte (10-15%) di tutti i dati viene strutturato in sistemi di
memorizzazione dell’informazione, rappresentando quindi una fonte di informazione e
conoscenza strutturata e facilmente accessibile, mentre il restante 85-90% dei dati
potenzialmente utili rimane memorizzato in forma non strutturata, e quindi molto più
difficilmente utilizzabile. Proprio questi dati, che costituiscono un patrimonio inestimabile di
ogni organizzazione, necessitano di una riorganizzazione e di un’integrazione in modo da
poter essere valorizzati al meglio.
Le pubbliche amministrazioni gestiscono una mole di dati che sono per la maggior parte
strettamente correlati tra loro, e per questioni normative devono essere sempre allineati. Si
pensi ad esempio a quanto i dati tributari siano fortemente dipendenti dai semplici dati
anagrafici piuttosto che dai più complessi dati catastali.
In un contesto di forti necessità di allineamento, un grosso ostacolo all'ottimizzazione di
questi processi è dato dal fatto che le varie applicazioni software specializzate nella gestione
dei singoli procedimenti, paradossalmente, troppo spesso non comunicano tra di loro. La
porzione di dati su cui una applicazione lavora e i risultati delle elaborazioni effettuate,
spesso non vengono poi resi disponibili ad altri applicativi che gestiscono dati correlati.
Inoltre, questa mancanza di comunicazione porta all'inefficienza, in quanto gli stessi dati sono
memorizzati in diversi punti, portando a ridondanza o addirittura incoerenza nelle
informazioni.
Il concetto di estraneità reciproca degli applicativi viene ben espresso con i termini “islands
of automation” o “information silos”, attraverso i quali ci si riferisce alle applicazioni che non
sono integrate con le restanti parti del processo di business.
Le problematiche relative all'integrazione sono differenti a seconda del contesto specifico che
si considera. Nel contesto della PA, sono state definite una serie di normative e regole
tecniche per favorire l'interoperabilità e integrazione applicativa, in particolare nell'ambito del
Sistema Pubblico di Cooperazione (SPCoop) [SPCoop]. Queste regole definiscono le
specifiche tramite le quali più organizzazioni possono interagire vicendevolmente
condividendo i propri sistemi informativi. Ogni organizzazione viene qui identificata con il
termine Dominio. Il sistema SPCoop regolamenta le comunicazioni tra Domini diversi (inter-
Pagina 106
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
dominio). Possiamo distinguere quindi le problematiche di integrazione inter-dominio da
quelle intra-dominio e si possono evidenziare diverse esigenze e soluzioni.
Le esigenze a livello intra-dominio riguardano l'implementazione di un'infrastruttura interna
che permetta di costruire un sistema informativo digitale unitario e coerente. Tale sistema
informativo ha come obiettivo primario quello di rendere possibile l'accesso e la gestione
della mole di dati in possesso della specifica organizzazione, secondo quanto disposto dal
Codice dell'Amministrazione Digitale. Questo dovrebbe essere un prerequisito necessario alla
realizzazione di un sistema di comunicazione con domini esterni. Tale esigenza si scontra con
una serie di problematiche legate ai sistemi software in uso presso gran parte delle PPAA, e
ai limiti che questi impongono sotto vari aspetti, quali:
 assenza di interfaccia applicativa verso sistemi terzi
 sistemi proprietari con codice non accessibile
 tecnologie obsolete
 elevati costi di sostituzione  elevati costi di aggiornamento  limitata scalabilità e flessibilità delle applicazioni in uso Queste problematiche si ripresentano pressoché identiche anche nell'ambito del privato, essendo generalmente imputabili alla carenza di progettazione orientata alla interoperabilità applicativa.
Le esigenze e le problematiche specifiche nello scambio dei dati a livello inter-dominio,
ampiamente indirizzate e risolte con la definizione del sistema SPCoop, riguardano in breve i
seguenti aspetti:
 Definizione e approntamento dell'infrastruttura tecnologica.
 Definizione di regole tecniche per lo sviluppo, la condivisione, l’integrazione e la diffusione del patrimonio informativo e dei dati della pubblica amministrazione.  Definizione di standard per assicurare l’interoperabilità di base ed evoluta e la cooperazione applicativa dei sistemi informatici e dei flussi informativi.
 Garanzia della sicurezza e della riservatezza delle informazioni.
 Salvaguardia e autonomia del patrimonio informativo di ciascuna P.A.
1.1
Il Contesto Normativo nell'Ambito delle PPAA
Il contesto normativo nazionale di riferimento nell'ambito della Pubblica Amministrazione è
quello del Codice dell'Amministrazione Digitale, emanato con Decreto legislativo del 7
marzo 2005, n. 82, entrato in vigore il 1 gennaio 2006 e successivamente integrato e
modificato in vari passaggi, arrivando all'attuale versione con la Legge n. 2/2009. Esso ha lo
scopo di assicurare e regolare la disponibilità, la gestione, l’accesso, la trasmissione, la
conservazione e la fruibilità dell’informazione in modalità digitale utilizzando, con le
modalità più appropriate, le tecnologie dell’informazione e della comunicazione all'interno
della pubblica amministrazione, nei rapporti tra amministrazione e privati. In alcuni limitati
casi, disciplina anche l'uso del documento informatico nei rapporti tra privati.
La novità più sostanziale apportata dal Codice dell'Amministrazione Digitale riguarda il fatto
che diventa obbligatorio garantire, in forma vicendevole, l’accesso alla consultazione, alla
circolazione e allo scambio di dati e informazioni, nonché l’interoperabilità dei sistemi e
Pagina 107
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
l’integrazione dei processi di servizio fra le diverse amministrazioni, anche per assicurare
l’uniformità e la graduale integrazione delle modalità di fruizione dei rispettivi servizi on
line. Questo implica che tutte le amministrazioni pubbliche devono dotarsi di un'infrastruttura
applicativa in grado di gestire le richieste di dati e servizi provenienti dall'esterno, ossia da
altri enti della PA nonché da imprese e privati cittadini. A sua volta, la singola
amministrazione può usufruire dei servizi erogati dalle altre amministrazioni, permettendo di
rendere più efficiente la gestione amministrativa in termini sia di velocità di risposta che di
costi globali, oltre a minimizzare l'impatto ambientale che trasporti e produzione di carta
avrebbero nel caso di comunicazioni per via tradizionale.
Per poter rispettare tali principi, la singola PA dovrà agire su due fronti:
 implementare un'infrastruttura interna che permetta di costruire un sistema informativo digitale con lo scopo di garantire l'accesso e la gestione della mole di dati in suo possesso;  realizzare un sistema di interfaccia verso l'esterno in grado di esporre i propri dati e servizi e a sua volta fruire dei servizi e dati resi disponibili dagli altri enti della PA. Al fine di elaborare specifiche di alto livello il Codice dell'Amministrazione Digitale
definisce obiettivi quali: Efficacia, Efficienza, Flessibilità, Trasparenza, Economicità,
Imparzialità, Semplificazione e Partecipazione. Tra l'altro tali obiettivi sono stati codificati
dal diritto amministrativo ben prima della stesura suddetto Codice.
Anche a livello europeo, nell'ambito dell'IDABC80 [IDABC], sono state definite allo stesso
scopo raccomandazioni contenenti principi quali accessibilità, multilinguismo, sicurezza,
privacy, sussidiarietà, uso di standard aperti, uso di soluzioni multilaterali, valutazione dei
benefici del software OpenSource.
Inoltre, secondo quanto esposto anche dal CNIPA81 (recentemente ridenominato DigitPA)
nell'ambito del Sistema Pubblico di Cooperazione [SPCoop], la cooperazione tra differenti
soggetti pubblici richiede la definizione di un modello che sia:
 indipendente dagli assetti organizzativi dei soggetti cooperanti;  indipendente dai sistemi informatici interni dei soggetti cooperanti;  progettato in maniera rigorosa e sostenibile, tale che la sua evoluzione sul medio termine sia già pensata sin dall’inizio, con passi ben delineati. In breve si possono individuare quattro esigenze fondamentali alla base di qualsiasi azione
atta a risolvere le problematiche di cui sopra:
 Facilitare l'interoperabilità verso l'esterno
 Facilitare l'accesso ai servizi per il cittadino
 Partire dallo stato dell'arte
 Usare standard riconosciuti e diffusi
IDABC: Interoperable Delivery of European eGovernment Services to public Administrations, Businesses and Citizens
81
CNIPA: Centro Nazionale per l’Informatica nella Pubblica Amministrazione ­ http://www.cnipa.gov.it
80
Pagina 108
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
2 LA SOLUZIONE ADOTTATA
La soluzione esposta propone un possibile modello architetturale che consenta la
comunicazione/ integrazione tra applicativi. Questa nasce basandosi su un'architettura
orientata ai servizi che integra e rende attuabile la comunicazione tra applicativi, realizzata
attraverso opportune tecnologie di riferimento e con un'adeguata e completa politica di
sicurezza.
Figura 2.1: Modello architetturale di una Suite di Servizi
L’approccio più adeguato è risultato essere quello basato sull'integrazione eseguita attraverso
un nucleo centrale che coordini e renda disponibili una gamma di funzionalità, come fosse
una suite di servizi che ha il fine di offrire una soluzione soddisfacente per le esigenze delle
Piccole e Medie Imprese (PMI) e delle Pubbliche Amministrazioni (PPAA).
In una prima macro-visione dell'architettura possiamo scomporre il sistema in tre elementi
fondamentali:
Pagina 109
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari



Il Documento: è il nucleo del sistema in una visione documento­centrica dell'ar­
chitettura (vedi
Figura 2.2). “Documento” va inteso in senso lato, quale contenuto informativo, elemento fondamentale e mezzo di scambio del flusso di dati nella interazione tra i vari applicativi software. La visione documento­centrica nasce dalla analisi delle varie soluzioni tecnologiche degli applicativi che permettono la fruizione immediata dei documenti e delle informazioni in essi contenute. Il documento viene gestito in modo accurato ed efficiente, e integrandosi in Figura 2.2: Visione documento-centrica
modo efficace nel processo in maniera dell'architettura
da porre al centro la produttività dell'utente.
Elementi applicativi: Tutti gli applicativi software che possono fornire servizi utili alle PMI e delle PPAA e che sono stati identificati in base alle esigenze ivi raccolte. Un insieme sostanzialmente generico che copre gran parte delle esigenze specifiche per le imprese è il seguente: DMS, CMS, ERP, suite di Office Automation (OAS), soluzione per la reportistica, soluzione di Business Intelligence e CRM. Per quanto riguarda le PPAA, le esigenze sono più specifiche e legate ad aspetti derivanti da obblighi normativi quali il sistema per il protocollo informatico, la gestione dell'albo pretorio, l'uso della firma digitale e della posta elettronica certificata e, non ultimo, l'esistenza di un portale internet istituzionale rivolto ad offrire i servizi della PA ai cittadini e alle imprese.
Sistema d'integrazione: Ossia il nucleo centrale del sistema che permette di creare e gestire un'architettura di servizi con le opportune tecnologie e gli standard necessari a concretizzarne il funzionamento e attraverso una congrua e solida gestione dei correlati aspetti di sicurezza.
Tra le possibili strategie architetturali utili all’integrazione degli elementi applicativi si è
scelto di trattare e modellare l'architettura usando i concetti e i principi delle Architetture
Orientate ai Servizi (SOA). Essa è infatti la naturale configurazione che ne consegue per la
tipologia stessa di problematiche che si affrontano e le specificità dei vari elementi
architetturali. Inoltre, l'utilizzo di un'architettura del genere permette un'integrazione dei vari
applicativi minimizzando la necessità di intervenire a livello implementativo su ciascuno di
essi.
In questa struttura l'uso di un sistema di integrazione permette di centralizzare alcune
operazioni e non fare ricadere l'onere della comunicazione sui i singoli applicativi e inoltre
permette a ogni singolo applicativo di interagire con gli altri avvalendosi di funzionalità
aggiuntive. A livello centrale, sono gestite anche le problematiche relative alla sicurezza, la
messaggistica e a tutti gli altri aspetti comuni alle varie applicazioni.
Pagina 110
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Un altro aspetto dell'integrazione tra applicativi è che questi ultimi devono puntare a esporre
delle interfacce che agevolino l'interazione mediante diverse modalità e protocolli di
comunicazione. In questi casi lo strumento che meglio gestisce questo scenario è un
Enterprise Service Bus (ESB). La struttura sinora descritta può perciò essere implementata
appoggiandosi su tale sistema.
L'ESB è un componente che facilita l'integrazione applicativa con un modello basato su bus,
sul quale i vari applicativi si “affacciano” per poter cooperare con gli altri. Il bus fornisce una
infrastruttura di servizi continua che permette altre funzionalità, quali la mediazione delle
richieste di servizio, la trasformazione e l'instradamento dei dati, e il controllo dei servizi
dell'ambiente.
Nella progettazione dei servizi ci si orienta verso una prospettiva utente-centrica. Per
rispettare tale visione si punta a realizzare e fornire interfacce che permettano di semplificare
l'utilizzo di un applicativo da parte di un utente esterno, nascondendo l'eventuale complessità
intrinseca nell'implementazione. Questo si può ottenere attraverso tecniche di composizione
ed orchestrazione di servizi.
La composizione di servizi, nelle SOA, fornisce la base per il supporto di processi di business
in modo flessibile e relativamente semplice. I servizi sono composti in un ordine preciso e
introducono una serie di regole e un ordine di esecuzione dal quale nasce il processo di
business. Quest’ultimo è quindi una composizione di invocazioni di servizi in un certo
ordine, con regole che influenzano l'esecuzione, come invocazioni in parallelo,
trasformazioni dei dati, dipendenze e correlazioni.
Tra i benefici della composizione aggiungiamo anche la possibilità di poter modificare i
processi di business in modo rapido e, pertanto, di fornire un sostegno più veloce e con meno
sforzi alle esigenze di cambiamenti. Si parla in queste circostanze di servizi di business, ossia
di quelle attività che sono svolte al fine di soddisfare una richiesta, sia essa interna o esterna.
Sono una risposta alle richieste dei clienti. Le attività che non sono state richieste dai clienti
non sono considerati servizi di business.
2.1
Il Ruolo del Portale nell'Erogazione dei Servizi
Il portale di un'organizzazione, sia essa un'impresa o un ente pubblico, svolge un ruolo
fondamentale per la presentazione verso un pubblico esterno della propria immagine e delle
informazioni che si vogliono mostrare. Nel caso specifico della Suite di servizi di cui
trattiamo, il portale ha il ruolo fondamentale utile all'erogazione di questi servizi verso gli
utenti destinatari.
Nell'ambito delle imprese, è importante offrire al pubblico un'immagine di sé quanto più
possibile accattivante e fornire messaggi d'interesse, così da catturare possibili nuovi clienti e
comunque fidelizzare quelli già acquisiti. Ma il portale deve poter anche offrire servizi
evoluti, che permettano l'interazione con l'organizzazione, si pensi ad esempio ai partner o
enti affiliati che hanno la necessità di interagire con l'azienda di riferimento e di richiedere
eventuali servizi. Mediante l'esposizione di servizi, accessibili facilmente tramite un portale, i
flussi comunicativi possono essere resi più continui ed efficienti, facendo risparmiare tempo e
risorse ad entrambe le parti.
Nel caso di un ente pubblico, la presenza di un portale istituzionale diventa un obiettivo
fortemente rimarcato dal Codice dell'Amministrazione Digitale per raggiungere gli obiettivi
Pagina 111
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
di pubblicità e trasparenza verso i cittadini. Oltre a questo, l'erogazione di servizi di
interazione diretta con gli utenti – siano essi cittadini, imprese, o dipendenti di altri enti
pubblici – se adeguatamente progettati e configurati con una visione utente-centrica, vanno
nella direzione della maggiore efficacia ed efficienza richieste dalle normative vigenti.
Un tale portale permette al cittadino di accedere ai servizi forniti dall'ente facilmente da casa
propria. I vantaggi di tale soluzione sono molteplici:
 raggruppamento in un unico sportello virtuale di sportelli fisicamente dislocati
 eliminazione delle code allo sportello
 servizio sempre disponibile
 riduzione dei tempi di attesa
 migliore trasparenza nelle procedure e atti della PA verso gli utenti
 in generale, soddisfazione degli utenti.
Queste tipologie di portali sono chiamate generalmente Enterprise Information Portal (EIP).
Gli EIP sono, in sostanza, dei siti web che vanno a visualizzare in modo organico semplici
contenuti o componenti interattivi, fungendo da punto unico d'accesso al sistema informativo
e all'insieme di applicativi e servizi specializzati necessari al funzionamento di
un'organizzazione complessa.
3 L'INTEGRAZIONE SEMANTICA
La rappresentazione dell'informazione in un contesto di integrazione e interscambio tra più
applicativi e domini non può prescindere dal considerare il contenuto semantico che i dati
stessi trasportano. Per garantire piena interoperabilità è necessario affiancare al livello
tecnologico un livello di interoperabilità di tipo semantico, come anche previsto nelle
specifiche SPCoop definite dal CNIPA.
L'obiettivo è che le informazioni scambiate siano immediatamente e automaticamente
comprensibili per gli applicativi e gli enti fruitori delle stesse, che spesso utilizzano
terminologie differenti per descrivere concetti analoghi. Una possibile soluzione delle
ambiguità nella rappresentazione dell'informazione e dei concetti può essere fornita dalle
Ontologie.
Il termine “Ontologia” deriva dalla filosofia e si riferisce alla scienza che descrive i tipi di
entità nel mondo e le loro relazioni. La base di partenza su cui si fonda un'ontologia è la
definizione della tassonomia relativa allo specifico contesto, ossia l'identificazione di una
serie di classi di entità che definiscono i concetti in gioco e le relazioni di specializzazione tra
di essi. La tassonomia è appunto la scienza della classificazione. Attraverso tale
classificazione gerarchica si arriva a una rappresentazione che contiene tutte le entità
rilevanti, le relazioni esistenti fra di esse, le regole, gli assiomi ed i vincoli specifici del
contesto. Si parla quindi di ontologia, la quale permette di definire delle regole di inferenza, e
costruire asserzioni nella forma “soggetto” - “predicato” - “oggetto” relativamente alle varie
entità, in modo da consentire a sistemi software di operare in modo “intelligente” sulla
struttura dati rappresentata, favorendo i cosiddetti ragionamenti induttivi.
Con le ontologie si intende quindi gestire le informazioni tramite delle annotazioni
semantiche che permettano di poter poi presentare lo stesso significato con termini presenti
nel “vocabolario” del singolo attore coinvolto nell'interazione.
Pagina 112
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Considerando il contesto della pubblica amministrazione, gli attori in gioco sono l'operatore
interno, il cittadino, l'impresa o un altro ente. Ciascuno di essi fa uso di termini, e relativi
significati, in generale diversi, più facilmente comprensibili e vicini al proprio linguaggio. E'
quindi necessario raccogliere le ontologie che raggruppano tutti i significati e i relativi legami
nei contesti in cui ognuno di questi attori si muove. Nelle pubbliche amministrazioni, infatti,
entrano in gioco diverse terminologie a seconda del contesto di riferimento.
Quando si ha a che fare con diverse ontologie si possono eseguire diversi tipi di elaborazioni
che hanno come fine quello di uniformarle in un'unica ontologia di riferimento. Questa
uniformità può essere raggiunta o adottando un'ontologia intermedia e asettica rispetto ai vari
contesti di dominio, o un'ontologia che sia un raggruppamento delle diverse ontologie o
ancora, un'ontologia che estende una delle ontologie sorgenti al fine di aggiungere i concetti
mancanti per la descrizione del contesto globale. In tutti questi casi si dovranno prevedere ed
esplicitare dei mapping (ciò che serve per eseguire una mappatura di un ontologia su un'altra
e viceversa) che permettano di eseguire le opportune trasformazioni all'informazione in modo
da esporla con il linguaggio proprio dell'attore a cui è destinata.
In un'ottica utente-centrica, nel presente lavoro ci si è posti l'obiettivo di presentare tutte le
informazioni provenienti dai vari servizi della Suite con la terminologia propria dell'utente
fruitore finale. Tutti i servizi, compresa anche l'organizzazione dei contenuti mostrati sul
portale, vengono preliminarmente convertiti sull'ontologia di destinazione. In questo modo il
focus viene incentrato sull'utente, il quale riesce a ottenere le informazioni desiderate in modo
più immediato e comprensibile.
4 L'ARCHITETTURA DEL FRAMEWORK DI INTEGRAZIONE
Il framework d'integrazione, basato sul componente centrale ESB, deve quindi orchestrare il
flusso di informazioni provenienti dai vari applicativi, e realizzare la logica adatta ad esporre
un insieme di servizi fruibili con interfacce uniformi e coerenti. Questi servizi sono in
generale utilizzati dagli applicativi stessi: si pensi ad esempio al caso dell'applicativo di office
Figura 4.1: Architettura generale del framework nel caso specifico di PPAA.
Pagina 113
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
automation che offre una vista sulle cartelle del repository del sistema di gestione
documentale centrale, permettendo di effettuare operazioni quali la visione di uno specifico
documento, la modifica, il relativo salvataggio su DMS, e similari.
In generale, alcuni servizi sono proprio studiati e progettati per risolvere richieste specifiche
provenienti da utenti esterni all'organizzazione. Questi possono essere esposti verso l'esterno,
eventualmente per tramite del sistema di cooperazione applicativa nel caso di PA, per una
fruizione mediante altri sistemi informatici; oppure possono essere direttamente erogati sul
portale dell'organizzazione stessa. In Figura 4.1 viene mostrata l'architettura di massima del
sistema nel caso di ente della PA.
Figura 4.2: Dettaglio dell'architettura : integration framework
Nella Figura 4.2 viene mostrato in maggiore dettaglio la composizione del sistema di
integrazione centrale, in cui il ruolo centrale viene svolto dal sistema ESB e dalla logica di
integrazione che viene implementata.
Affinché il framework possa esporre facilmente la Suite di Servizi sviluppata su un portale, è
stato necessario risolvere alcune problematiche relative alla presentazione verso
un'interfaccia utente web. In modo particolare, è stato necessario definire il sistema di
trasformazione dei contenuti Content Transformer. La necessità di avere questo componente
è legata al fatto che i contenuti provenienti da servizi erogati da applicativi e domini diversi
sono in generale eterogenei. Inoltre, è necessario che i concetti e la terminologia utilizzati
vengano uniformati all'ontologia di dominio. Altra necessità è legata al fatto che i contenuti
che vengono restituiti al portale devono poter essere visualizzati su un browser web, quindi
serve aggiungere informazioni relative alle modalità con cui questi contenuti dovranno essere
rappresentati.
L'obiettivo di questo componente, i cui dettagli di massima sono esposti in Figura 4.3, è
quello di ottenere un formato uniforme che contenga, oltre al contenuto informativo vero e
proprio, dettagli relativi alla classificazione semantica dell'informazione e alle modalità di
rappresentazione sul client web.
Pagina 114
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 4.3: Dettaglio del modulo Content transformer
4.1
Servizi specifici esposti dalla Suite
All'interno della Suite sono stati sviluppati una serie di servizi specifici orientati alle
organizzazioni della PA. Questi servizi sono comunque utili anche per le aziende private che
vogliano perseguire gli obiettivi di digitalizzazione e dematerializzazione per perseguire
maggiore efficienza organizzativa.
4.1.1
Autenticazione con CNS e CIE
La Suite d'Integrazione permette l'autenticazione di un utente con CNS (Carta Nazionale dei
Servizi) o CIE (Carta d'Identità Elettronica). Gli utenti che dispongono di una tale smartcard
e relativo lettore correttamente installato e configurato sulla postazione dalla quale si accede
al portale, vengono riconosciuti dal sistema senza la necessità di inserire manualmente le
credenziali.
4.1.2
La Firma Digitale
Tra i servizi forniti dalla Suite d'Integrazione, è di grande interesse il servizio per la firma
digitale dei documenti, la cui validità ai fini giuridico probatori è riconosciuta come
equivalente a quella della firma autografa [FirmaDigitale].
Si è predisposto il sistema d'integrazione in modo che, attraverso il portale, sia possibile il
caricamento di documenti e l'apposizione su di essi della firma digitale. Questa operazione
richiede che l'utente fruitore del servizio sia in possesso di una smartcard rilasciata da un Ente
Certificatore (dispositivo di firma), e dell'apposito lettore, così come per il servizio descritto
in sezione 4.1.1.
4.1.3
Il Notifier e la Posta Elettronica Certificata
La Suite d'Integrazione fornisce il servizio di notifica attraverso il modulo Notifier (vedi
Figura 4.2). Questo modulo riceve delle richieste di notifica da parte del Sistema di
Integrazione e, a seconda del tipo di richiesta ricevuta, predispone la notifica al destinatario.
Come esempio concreto si pensi alle notifiche automatiche in seguito alle operazioni di
registrazione dell'account, notifiche sulle scadenze impostate dall'utente, notifiche su
Pagina 115
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
aggiornamenti delle sezioni del portale, notifiche di avviso di chiusura di una pratica
personale.
Le notifiche possono essere inoltrate attraverso diversi diversi mezzi, quali email ordinaria,
sms o PEC. Con il termine PEC ci si riferisce al sistema di posta elettronica attraverso il
quale viene fornita al mittente documentazione elettronica, con valenza legale al pari delle
raccomandate A/R per documenti cartacei, attestante l'invio e la consegna di documenti
informatici [PEC].
5 CONCLUSIONI
La soluzione architetturale presentata riguarda la realizzazione di un framework utile a
risolvere una serie di problematiche comuni presenti all'interno di organizzazioni complesse,
che necessitano di ottimizzare i propri processi e migliorare l'efficienza mediante l'uso
appropriato di strumenti software, il tutto realizzabile con tecnologie e standard aperti.
Nell'ambito industriale, è stato realizzato in Flosslab un sistema che implementa l'architettura
qui presentata, facendo uso di applicativi e componenti interamente FLOSS. Nello specifico,
è stato realizzato un portale informativo generico per un ente della PA italiana che si
“poggia” sul sistema di integrazione, il quale espone una serie di servizi per gli utenti, frutto
della composizione e integrazione di servizi elementari provenienti da vari applicativi interni.
Questi servizi vengono erogati tramite le pagine del portale, in base alla tipologia di cui
l'utente fa parte (Cittadino, Impresa, Operatore dell'amministrazione).
In questo modo, un utente del portale potrà richiedere facilmente l'apertura di una specifica
pratica (es. richiesta carta d'identità, pratica edilizia, ...) in modo del tutto automatico, senza
doversi recare allo sportello dell'ente. La richiesta da lui effettuata viene quindi ricevuta dal
sistema di integrazione, il quale si occupa di smistarla, nel caso più generale, al sistema di
protocollo informatico, il quale restituisce il numero di protocollo della pratica e una ricevuta
con i dettagli della stessa richiesta. In ogni momento l'utente potrà verificare lo stato di
avanzamento delle sue pratiche con vari dettagli, tra cui l'ufficio che, in quello specifico
momento, risulta assegnatario della pratica.
In questo lavoro sono state affrontate le problematiche di integrazione tra sistemi informativi
eterogenei sia dal punto di vista architetturale che semantico, proponendo delle soluzioni
integrate basate su componenti FLOSS. Si è giunti a definire un vero e proprio framework di
integrazione capace di adeguarsi alle singole realtà aziendali o amministrative. Tale
framework di integrazione considera esplicitamente la rappresentazione semantica
dell'informazione, e consente l'erogazione di servizi semplici verso utenti esterni,
nascondendo la complessità intrinseca di determinate procedure. Nel caso di enti legati alla
pubblica amministrazione, un tale framework consente di poter agevolmente realizzare
portali di erogazione di servizi e contenuti con alti livelli di interazione con l'utente, secondo
le specifiche definite dal DigitPA.
Bibliografia
1: AA.VV., IDABC, , http://ec.europa.eu/idabc
2: Link.it, Sistema Pubblico di Cooperazione, , www.spcoop.it
Pagina 116
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3: CNIPA, Guida alla Firma Digitale, 2009, http://www.cnipa.gov.it/html/docs/GuidaFirmaDigitale2009_a.pdf
4: Presidenza Consiglio dei Ministri, Posta Elettronica Certificata, 2010, https://www.postacertificata.gov.it
Pagina 117
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
SOFTWARE LIBERO E RADIO 2.0: ANB WEB RADIO, UN
ESPERIMENTO SOCIALE
Ambrosecchia, Domenico, ANB Web Radio, info@anbwebradio.com
Marzano, Flavia, Università di Roma – La Sapienza, Facoltà di Scienze della
Comunicazione, via Salaria 113, 00198 Roma, IT, Flavia.Marzano@uniroma1.it
Olivieri, Alfonso, Avitis Srl, via Ticino 30/G, 20064 Gorgonzola (MI), IT,
alfonso.olivieri@avitis.it
Pani, Fabio, Avitis Srl, via Ticino 30/G, 20064 Gorgonzola (MI), IT,
fabio.pani@avitis.it
Abstract
Il progetto di ANB Web Radio consiste in una diretta radio in streaming, via web, della durata record
di cento giorni: dal 5 marzo 2010 Nico Benz, musicista e ideatore del progetto, si è rinchiuso in uno
studio radiofonico per condurre ininterrottamente questo evento. Con quale scopo? La creazione in
diretta, e in maniera totalmente partecipata, di una piattaforma per la diffusione e la condivisione di
contenuti radiofonici, pubblicata come software libero con licenza GNU/GPL v3.
L'esperimento consta di un laboratorio, aperto e in diretta, dove si intrecciano fra loro diversi temi,
competenze e professionalità, user-generated content: radio, comunicazione, sviluppo software, video,
licenze libere e proprietà intellettuale. Un'alchimia di anime molto diverse tra loro, ma catalizzate
grazie al linguaggio universale della musica, per creare una community probabilmente unica nel suo
genere.
Dati alla mano, i nuovi modi di comunicare non stanno uccidendo la radio, le stanno dando invece
nuova linfa vitale. Rispetto agli altri mezzi di comunicazione, la radio è l'unico a manifestare un
aumento di interesse e di diffusione da quando internet si sta affermando come strumento principale
per la comunicazione multimediale fra le persone: forse è un buon momento per ridefinire nuove
forme comunicative anche per lo strumento principe della telecomunicazione, la radio.
E nonostante la crescita della diffusione di internet sia continua ma lenta (almeno qui in Italia), si
registra invece un'esplosione nell'uso dei social network. Il progetto di ANB Web Radio si
interconnette con i principali social network (Facebook, Twitter, FriendFeed, Youtube, Flickr, ...),
luoghi di discussione per la community e di promozione degli eventi collegati.
Si tratta di una radio che si può vedere come una televisione, che non è televisione e che offre il suo
spazio a interventi di persone diverse, che offrono il proprio contributo divulgativo su temi importanti,
come ad esempio l'uso di licenze libere come Creative Commons, per la tutela e la diffusione delle
proprie opere musicali e artistiche. Grazie al progetto di ANB Web Radio, la SIAE ha accettato
finalmente di discutere pubblicamente, in diretta webradio, dei rapporti con Creative Commons sul
tema della gestione dei diritti dell'autore, al fine di migliorare il difficile rapporto tra le due realtà. La
discussione giova anche alla diffusione della cultura del copyleft, affinché molti artisti emergenti
possano scegliere, se lo desiderano, modi alternativi per la distribuzione delle proprie opere.
Questo esperimento fa ben sperare. I dati statistici che stiamo misurando, dall'inizio dell'evento,
mostrano una partecipazione di molte persone, provenienti da esperienze diverse. I dati mostrano
inoltre una buona affezione al progetto e il clima è collaborativo e propositivo; clima da community,
insomma.
Pagina 118
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
L'evoluzione della piattaforma servirà a creare nuove radio, ad aggregarle tra loro, a dare a nuovi
artisti nuovi strumenti di creazione di contenuti e opere. Va da sé che i campi applicativi potranno in
futuro discostarsi da quello iniziale della radio e che pertanto la piattaforma potrà essere riutilizzata
per applicazioni diverse; per esempio, per fare formazione e didattica interattiva e a distanza.
Oggi abbiamo a disposizione tutte le tecnologie che ci servono per far evolvere positivamente questo
progetto. Alla fine, fermi restando interesse e partecipazione, farà la differenza poter accedere alla
rete in modo semplice e veloce, come ci si aspetta in un Paese europeo e tecnologicamente avanzato.
Parole Chiave: radio, webradio, streaming, cms, social network, web 2.0, software libero, Creative
Commons, SIAE, community, user generated content.
Pagina 119
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 IL PROGETTO DI ANB WEB RADIO
Dal 5 marzo 2010 il musicista Nico Benz sta tentando di battere un record mondiale:
condurre ininterrottamente una trasmissione della durata di cento giorni in diretta web.
Musica, interviste in diretta, webcam in studio e webcam degli "ascoltatori".
Durante questa prova è consentito a Nico di abbandonare lo studio per brevi periodi; gli è
consentito, inoltre, dormire e lo fa in studio, sotto l'occhio vigile di una webcam.
Che cosa c'entra il software libero in questa iniziativa?
L'idea di Nico Benz è finalizzata alla realizzazione di una piattaforma web (rilasciata come
software libero con licenza GNU/GPL) che consenta, a chiunque, di replicare in modo
semplice una esperienza radiofonica come questa.
La motivazione di tutto ciò nasce dalla convinzione dell'ideatore (e di tutti coloro che hanno
supportato il progetto fin dall'inizio e di coloro che si sono aggiunti nel tempo) che, oggi,
siano disponibili a costi molto bassi tutte le tecnologie necessarie per la creazione di opere
artistiche di ottima qualità e per la realizzazione di sistemi di comunicazione integrati per la
diffusione delle opere stesse.
La piattaforma del progetto ANB Web Radio (http://www.anbwebradio.com) vuole facilitare
l'adozione di strumenti liberi anche da quelle persone (artisti e non solo) che hanno scarsa
dimestichezza con le tecnologie avanzate e guidarle alla scoperta delle alternative efficaci per
la tutela e la diffusione delle opere.
1.1
Internet non ha ucciso la radio, anzi
La radio si è subito integrata con internet, durante la sua evoluzione, e non ne è stata divorata.
Non solo: la diffusione delle stazioni radio commerciali o radioamatoriali, dopo l'avvento di
internet, risulta in crescita mentre altrettanto non si può dire per altri mezzi di comunicazione.
Il rapporto CENSIS 2009 riporta interessanti dati a riguardo.
Ad esempio, il pubblico della radio è aumentato dal 68,8% del 2001 all’81,2% nel 2009, con
nuovi ascoltatori anche attraverso lettori mp3 (18,6%), internet (8,3%) o dal telefonino
(8,1%). D'altra parte, i dati relativi alla diffusione della televisione risultano poco significativi
perché confermano un sostanziale radicamento del mezzo, con un pubblico che nel 2001
raggiungeva già il 95,8% degli italiani, nel 2009 si attesta al 97,8%.
Recentemente la diffusione della carta stampata è calata. La lettura dei quotidiani a
pagamento, almeno una volta alla settimana, è scesa dal 67% del 2007 al 54,8% 2009,
segnando un'inversione di tendenza rispetto al periodo immediatamente precedente.
La diffusione di internet negli anni dal 2007 al 2009 è cresciuta ben poco (dal 45,3% al 47%).
In compenso, per gli utenti internet è negli ultimi due anni è esploso l'uso dei social network,
primi fra tutti Facebook e YouTube.
Pagina 120
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 8.
Figura 9.
Utenti internet in Italia 1997-2009 (fonte:
http://www.gandalf.it/dati/dati3.htm)
Utenti internet per età (in Italia, in percentuale) (fonte:
http://www.gandalf.it/dati/dati3.htm)
Pagina 121
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 10.
Figura 11.
Uso di risorse di informazione e comunicazione in Italia, per genere
(percentuale sul totale per ciascuna categoria) (fonte:
http://www.gandalf.it/dati/dati3.htm)
Uso di risorse di informazione e comunicazione in Italia per età (percentuali
sul totale in ciascuna categoria) (fonte: http://www.gandalf.it/dati/dati3.htm)
Pagina 122
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Usare il protocollo TCP/IP invece delle onde hertziane ha dei vantaggi: semplifica
enormemente la fattibilità tecnica di una radio broadcast, ne abbatte drasticamente i costi,
raggiunge più facilmente le aree del globo indipendentemente dalla propagazione ionosferica
del segnale. E, naturalmente, interagisce in modo immediato con le altre applicazioni del
web; ad esempio realizzando una comunicazione bidirezionale tra chi fa la radio e chi la
ascolta.
1.2
Le nuove radio libere
Il fenomeno delle webradio ricorda quello della nascita e la diffusione delle radio libere degli
anni '70, inizialmente considerate radio pirata e, pertanto, illegali. Ma sulla base della libertà
di espressione, sancita non solo dalla Dichiarazione universale dei diritti dell'uomo ma anche
dalla nostra stessa Costituzione, esse furono legalmente riconosciute nel 1976.
Così come la liberalizzazione delle radio libere comportò una positiva ricaduta
(miglioramento e innovazione dei contenuti grazie alla competizione con il servizio pubblico,
sperimentazione di nuove tecnologie come ad es. la stereofonia), la diffusione delle webradio
comporterà la nascita di nuove idee di comunicazione, che potranno arricchire anche la radio
tradizionale.
Da alcuni anni le webradio hanno un riconoscimento ufficiale anche in Italia, ma per questo
occorre pagare un tributo annuale a SIAE e SCF. Niente burocrazia né tributi nel caso in cui
le licenze d'uso delle opere ne consentano invece la libera diffusione radiofonica.
Vale la pena citare la nascita, in Svezia, nel 2006, del Piratpartiet (in italiano, Partito
Pirata), un vero e proprio partito politico creato dal basso con lo scopo di modificare il
copyright e il diritto d'autore, in quanto ritenuto troppo sbilanciato a favore dello
sfruttamento economico a scapito dello sviluppo culturale della società (fonte:
http://it.wikipedia.org/wiki/Partito_Pirata_(Svezia)). Questo movimento ha avuto seguito,
nello stesso anno, in altri paesi europei (inclusa l'Italia) e negli Stati Uniti, sempre con le
stesse finalità.
2 LA PIATTAFORMA SOFTWARE
Il progetto di ANB Web Radio ha dato vita a Streammix, software libero rilasciato
pubblicamente con licenza GNU/GPL v3 (https://launchpad.net/streammix). La scelta ricade
su questa licenza in quanto, a nostro avviso, è quella che garantisce la migliore diffusione del
software stesso e la più ampia partecipazione di persone interessate al progetto.
L'architettura generale del software deriva da un precedente lavoro di Fabio Pani, CMSKey
(un CMS82 libero rilasciato con licenza GNU/GPL v2): scritto in linguaggio PHP e supportato
da un database MySQL. Alfonso Olivieri ha curato l'implementazione dell'ambiente di test
iniziale e l'integrazione con i social network e le sorgenti streaming esterni.
La piattaforma per la collaborazione allo sviluppo è Launchpad (la stessa che ospita svariati
progetti di software libero, tra i quali lo stesso sistema operativo Linux Ubuntu): tale
piattaforma è dotata di tutti i principali strumenti per la gestione di un progetto software
condiviso, come ad es. il repository del software, un bugtracker, un wiki e strumenti per la
localizzazione linguistica del software.
82
Content Management System, sistema per la gestione dei contenuti.
Pagina 123
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
2.1
Motore iniziale del progetto
Per la realizzazione del sito iniziale del progetto è stato utilizzato Wordpress, un CMS libero.
La piattaforma, ancora in fieri, permette già diverse attività con un ottimo livello di
interazione utente. In particolare, in una sola pagina oggi è già possibile:
 ascoltare e vedere in streaming audio/video la trasmissione in diretta (via Livestream ­ la regia audio e video è a cura di Nico Benz);
 comunicare attraverso la chat Livestream fra gli utenti collegati;
 comunicare attraverso una videochat esterna – la videochat può essere ritrasmessa in video da studio;
 mandare in onda brani musicali in modo automatico, tra quelli proposti in un database;
 assistere a spettacoli musicali dal vivo dal bLevel di Milano, incluse jam session tra musicisti sul palco e con lo stesso Nico Benz in studio, oppure collegamenti crossover con altre radio, web o terrestri;
 collegarsi automaticamente ai principali social network (Facebook, Twitter ecc.), discutere e pubblicare automaticamente su questi riguardo agli eventi che sono proposti in diretta web;
 accedere a diverse risorse esterne correlate.
2.2
Funzionalità del software e caratteristiche
La piattaforma Streammix, in fase di sviluppo, consente agli utenti registrati di ottenere una
pagina simile a quella dell'attuale progetto ANB Web Radio, personalizzabile.
La registrazione è libera e gratuita e richiede la specifica di un nome-utente e un indirizzo di
posta elettronica. In alternativa, l'utente può accreditarsi autenticandosi una prima volta ad
uno dei social network che preferisce e al quale è già iscritto (per adesso, Facebook oppure
Twitter ma prossimamente anche su altre piattaforme di social network). Alla conferma
dell'iscrizione l'utente avrà un'area web referenziata come sottodirectory dell'indirizzo
internet (es. http://www.anbwebradio.com/user/nome_utente).
La personalizzazione della pagina consente di impostare le proprie preferenze (ad es.,
modificando la sorgente dello streaming da riprodurre) o agevolare la creazione di una nuova
webradio.
Nella pagina personale (così come nella pagina principale del progetto) sarà possibile
visualizzare una lista di link che puntano alle rispettive pagine degli utenti registrati.
Ovviamente, il software può essere installato in un server diverso da quello che attualmente
ospita il progetto, allo scopo di replicare l'esperienza, per ragioni sperimentali o per la
realizzazione di community alternative, non necessariamente correlate con lo streaming di
trasmissioni radio musicali.
3 SOCIAL NETWORK
L'interazione attraverso i social network è ormai di ampia diffusione presso gli utenti della
Rete. La piattaforma consente di interagire con i principali social network: è possibile
pubblicare messaggi verso tali piattaforme esterne direttamente dalla pagina del progetto; è
Pagina 124
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
possibile partecipare a discussioni commentando in diretta gli eventi trasmessi nella
webradio estendendo la comunicazione su Facebook, Twitter ecc.
La piattaforma consente di visualizzare, all'interno della pagina della webradio, messaggi
provenienti da social network esterni e sui quali l'utente può autenticarsi in modo semplice e
sicuro.
Gruppi di ascoltatori hanno la possibilità di interagire in audio e video, in modo indipendente
dallo svolgimento della trasmissione radio e comunque all'interno della pagina della
webradio, avvalendosi di una piattaforma di videochat esterna (Tinychat). Se la regia lo
ritiene opportuno, può decidere di mandare in onda la videochat e/o di partecipare essa stessa
alla discussione.
4 CONTENUTI E DINAMICHE SOCIALI
4.1
Una piattaforma usata per definire se stessa
ANB Web Radio è una radio a contenuti prettamente musicali, ma il progetto ha fatto sì che
essa diventasse, fra l'altro, il luogo di discussione per la community che contribuisce alla
fisionomia futura di questo strumento, partecipando alla sviluppo: non solo user-generated
content, quindi, ma partecipazione dal basso anche nella definizione della piattaforma stessa,
proprio come nelle comunità del mondo del software libero e in piena modalità 2.0!
Per noi, questa è la user-generated radio!
La discussione stessa, tra chi di volta in volta partecipa al dibattito, ha valenza divulgativa sui
temi della condivisione della conoscenza, sull'uso del software libero, sull'uso delle licenze di
tipo copyleft per la diffusione del software, delle opere artistiche e la tutela della proprietà
intellettuale; molti sono già stati gli interventi in quest'ottica e molti altri ne sono previsti.
L'utilizzo di un linguaggio universale come quello della musica applicato alla divulgazione
dei temi suddetti è molto innovativo, non solo perché ciò consente di rivolgersi in modo
trasversale a una audience molto diversificata, ma anche per le modalità con cui è nata e si è
sviluppata anche grazie alla collaborazione attiva dei singoli ascoltatori.
Come in una jam session, come in un barcamp, i contenuti dipendono dagli attori del
momento, da chi sta partecipando, e soprattutto evolvono nel tempo in funzione di chi
collabora attivamente. Lo abbiamo sperimentato direttamente, attirando persone provenienti
da altre comunità attive nel mondo del sapere libero, con un apporto concreto di competenza
in materia di Software Libero, di licenze Creative Commons e di reti sociali del web 2.0;
questa è stata in particolare l'attività di Flavia Marzano.
4.2
Interventi in diretta
Grazie all'uso di applicazioni esterne per videoconferenza, videochat o telefonia VoIP (come
ad es. Ekiga, ma anche Skype nel mondo del software chiuso e proprietario, proprio perché
dobbiamo e vogliamo essere aperti il più possibile a interventi di chiunque) è possibile
partecipare in diretta webradio, in audio e video, su discussioni e interviste. Questo dà modo
a molte persone che partecipano al progetto di contribuire concretamente alla diffusione di
Pagina 125
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
idee e conoscenza presso gli utenti collegati, in particolare alla diffusione del software libero
e dei liberi saperi basati su licenze aperte.
A ConfSL2010 trasmetteremo in streaming da ANB Web Radio gli interventi più
significativi.
4.3
Creative Commons vs SIAE
Non poteva mancare, nella discussione, il tema relativo alla proprietà intellettuale e ai diritti
d'autore delle opere musicali. Grazie al progetto, il dibattito sulle problematiche connesse al
diritto d'autore e la SIAE sta acquistando nuova forza.
La divulgazione sull'uso di licenze libere quali Creative Commons è informazione preziosa
presso molti gruppi di giovani artisti che vogliano usare canali alternativi per la diffusione
della propria musica.
Un interessante effetto di questo esperimento sociale riguarda la SIAE, che ha accettato di
confrontarsi in diretta webradio con Creative Commons, sul tema specifico dei loro rapporti
rapporti reciproci come, ad es., l'inadeguatezza della legge n. 633 risalente al 22 aprile 1941
("Protezione del Diritto d'Autore e di altri diritti connessi al suo esercizio"). Di fatto, si
delinea un possibile avvicinamento tra questi due mondi a livello di legislazione italiana,
anche grazie all'intervento di ANB Web Radio.
4.4
Ulteriori risorse
Durante la trasmissione sono state segnalate dagli utenti/ascoltatori risorse sul web che
diffondono musica con licenze libere, come ad es. OnClassical.com, Jamendo, BuskerLabel,
GNU Funk, dimostrando così, se mai ce ne fosse stato bisogno, l'importanza della comunità e
della partecipazione dal basso nei processi di produzione e diffusione dell'informazione e
della conoscenza!
5 CONCLUSIONI – SVILUPPI FUTURI
5.1
Convergenza dei media
L'esperienza di ANB Web Radio è un ulteriore esempio di convergenza dei media. La radio
diventa anche televisione; le radio si ritrasmettono in diretta tra loro (crossover), via web o
radiofrequenza; l'utente è pure disc-jockey, gli utenti comunicano tra loro (testo, voce e
immagine) ed estendono i propri commenti sui rispettivi network sociali di appartenenza.
Col passaggio dall'informazione analogica a quella digitale, l'infrastruttura della Rete
trasforma gli oggetti del passato a più moderne applicazioni interconnesse, capaci di
comunicare tra loro in modo naturale, sfruttando una piattaforma di comunicazione comune.
5.2
Interesse e partecipazione
Fin dall'inizio del progetto e l'inaugurazione del sito di ANB Web Radio (5 marzo 2010) la
partecipazione è stata discretamente alta. Una valutazione in tempo reale del livello di
Pagina 126
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
partecipazione è fornita dallo stesso player di Livestream, che indica il numero di utenti
collegati in ogni momento. Questo valore oscilla tipicamente tra venti e quaranta utenti.
Per mezzo di Awstats (un software libero per la realizzazione delle statistiche legate alle
visite dei siti web) sono disponibili misure sul livello di partecipazione. La pagina del
progetto ANB Web Radio riceve in media 300 visite uniche ogni giorno, prevalentemente
dall'Italia83. La media delle pagine viste per visita è di oltre 300 (trecento), in costante
leggero aumento.
La lettura del dato relativo alle visite ricevute attraverso i motori di ricerca non è
significativa, data la conformazione della pagina di progetto che non contiene in sé contenuti
testuali aggiornati e facilmente indicizzabili.
5.3
Sviluppi futuri
La piattaforma può essere utilizzata per applicazioni diverse, ove sia concepibile una
community che fruisca di streaming audio e video di vario tipo; un esempio cui abbiamo
accennato è la possibilità di usare questa piattaforma per realizzare un sistema interattivo per
la formazione a distanza (aula scolastica virtuale), ma anche per convegni, seminari e attività
di comunicazione.
Il codice sorgente per lo streaming fino ad ora usato proviene da sistemi (proprietari) esterni.
Il funzionamento in sé è indipendente dal sistema che genera i contenuti multimediali, ma è
nostro interesse promuovere l'utilizzo di software libero anche per la generazione dello
stream audio/video (ad es. VLC, Icecast).
Pur disponendo di tutte le tecnologie necessarie, oggi, in Italia, il vero limite allo sviluppo di
sistemi come quello usato per il progetto ANB Web Radio è l'arretratezza della nostra
infrastruttura di rete, che si traduce purtroppo in velocità e banda a volte insufficienti, carenza
di punti di accesso, costo ancora elevato della connessione.
Infine, l'abbattimento del digital divide non può che apportare vantaggi allo sviluppo di
tecnologie come quella qui presentata, favorendo l'allargamento della comunità e la
condivisione del progetto e dei suoi contenuti.
83
Il dato è aggiornato al periodo della stesura di questo documento.
Pagina 127
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Bibliografia
Concas, G.; De Petra, G.; Marzano, F.; Zanarini, P. (2007). Finalmente libero! McGraw-Hill.
Concas, G.; De Petra, G.; Gallus, G. B.; Ginesu, G.; Marchesi, M.; Marzano, F. (2009).
Contenuti aperti, beni comuni. McGraw-Hill.
Marika de Acetis, “Il Web 2.0”:
http://www.torinoscienza.it/img/pdf/it/s10/00/002c/00002c8a.pdf
Tim O'Reilly, “What Is Web 2.0, Design Patterns and Business Models for the Next
Generation of Software”: http://oreilly.com/web2/archive/what-is-web-20.html?page=1
Enrico Fedi, “Web and radio”: http://sibaese.unisalento.it/index.php/quadcom/article/view/5029/4399
Mattia Miani, “Nuove tecnologie per la comunicazione e l'informazione. Il web 2.0 nella
pubblica amministrazione”:
http://www.tsm.tn.it/documenti/pa/2010/mat_supporto_Nuove_tecnologie_mod.pdf
Tesi di laurea di Sara Piazzalunga, "Il podcasting: la radio fai da te sul web":
http://www.tesionline.com/intl/thesis.jsp?idt=12109
Tesi di laurea di Alba Rizzo: "L'ibridazione mediatica. La radio in rete":
http://www.tesionline.it/default/tesi.asp?idt=13617
Raffaella Natale, "Convergenza dei media: uno studio Ofcom per valutare l’impatto. Italia tra
i primi per IPTV e downloading di musica e podcast":
http://www.key4biz.it/News/2008/02/28/Tecnologie/Convergenza_Ofcom_contenuti_audiovi
sivi_VoIP_video_on_demand_download_to_own_IPTV.html
"Trends in USA Amateur Radio License Classes Over Three Years":
http://www.eham.net/articles/22842
"Ham Radio Growing In The Age Of Twitter": http://www.npr.org/templates/story/story.php?
storyId=125586086&ft=1&f=1019
Questo articolo, nelle sue parti originali, è coperto da licenza
Creative Commons: Attribuzione, Non commerciale, Condividi allo stesso modo.
http://creativecommons.org/licenses/by-nc-sa/2.5/it/legalcode
Pagina 128
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
LE CARATTERISTICHE DELLE IMPRESE SOFTWARE IN
EMILIA-ROMAGNA: TRE MODELLI DI IMPRESA A
CONFRONTO
Grassano, Nicola, Università di Bologna, strada Maggiore 45, 40125 Bologna, IT,
nicola.grassano2@unibo.it
Rentocchini, Francesco, Università di Trento, via Inama 5, 38122 Trento, IT,
francesco.rentocchini@economia.unitn.it
Tartari, Dimitri, Regione Emilia-Romagna, v.le Aldo Moro 18, 40127, Bologna, IT,
dtartari@regione.emilia-romagna.it
Il presente contributo rappresenta un'anteprima di un più ampio studio denominato “Indagine sulle
caratteristiche e la capacità innovativa delle imprese IT in Emilia-Romagna”, nato all’interno del
gruppo di lavoro Emilia-Romagna Open Source Survey (EROSS), che costituisce il naturale
proseguimento dei diversi progetti aventi ad oggetto la Pubblica Amministrazione (EROSS-PA),
riguardanti l'adozione di software a codice sorgente aperto da parte della pubblica amministrazione
locale.
Nello specifico, nelle pagine che seguono, ci si concentrerà sulle imprese localizzate in EmiliaRomagna appartenenti al settore software, su alcune delle loro caratteristiche strutturali e sul modello
di business che queste adottano (più o meno basato su software open source), al fine di trarne alcune
indicazioni preliminari che fungano da base per futuri approfondimenti.
Lo scopo dunque è di proporre alcuni dei principali risultati descrittivi fin qui ottenuti dall'indagine
con riferimento alle sole imprese software, differenziandole in base al modello di business adottato.
Quest'anteprima dell'indagine sulle caratteristiche e la capacità innovativa delle imprese IT in EmiliaRomagna fornisce un primo contributo importante alla quantificazione delle imprese che a livello
regionale offrono prodotti e servizi basati in tutto o in parte su software open source. Infatti, tale dato
è stato per la prima volta stimato con un’indagine condotta su larga scala e statisticamente robusta.
L'aspetto più interessante che emerge è che le imprese che nel loro modello di business includono il
software open sembrerebbero presentare una migliore performance innovativa (misurata come la
percentuale di fatturato 2008 derivante dall'introduzione di nuovi prodotti e/o servizi) rispetto alle
imprese che offrono prodotti e/o servizi basati principalmente o solamente su software proprietario.
Il rapporto dunque tra modello di business adottato e innovatività dell'impresa merita certamente
ulteriore attenzione e sarà una delle direzioni in cui si muoveranno le analisi future.
Parole Chiave: Open source, imprese, indagine empirica, innovazione
Pagina 129
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 INTRODUZIONE
Il presente contributo rappresenta un'anteprima di un più ampio studio denominato “Indagine
sulle caratteristiche e la capacità innovativa delle imprese IT in Emilia-Romagna”1, nato
all’interno del gruppo di lavoro EROSS2 , che costituisce il naturale proseguimento dei
diversi progetti EROSS-PA, riguardanti l'adozione di software a codice sorgente aperto da
parte della pubblica amministrazione locale.
Nello specifico, nelle pagine che seguono, ci si concentrerà sulle imprese localizzate in
Emilia-Romagna appartenenti al settore software, su alcune delle loro caratteristiche
strutturali e sul modello di business che queste adottano (più o meno basato su software open
source), al fine di trarne alcune indicazioni preliminari che fungano da base per futuri
approfondimenti.
Lo scopo dunque è di proporre alcuni dei principali risultati descrittivi fin qui ottenuti
dall'indagine con riferimento alle sole imprese software, differenziandole in base al modello
di business adottato.
2 LE IMPRESE SOFTWARE IN EMILIA-ROMAGNA
Ogni 10 imprese IT presenti in Regione, c’è n’è una che basa il suo modello di business
sull’offerta esclusiva o prevalente di soluzioni open source, mentre ve ne sono altre due che
adottano un modello “ibrido”, che si fonda cioè sia su soluzioni di tipo open sia di tipo
proprietario (Figura 23). Questo dato è di estremo interesse, dato che non esisteva ad oggi
una stima della diffusione dell’open source tra le imprese della Regione che offrono prodotti
e servizi IT basata su una rilevazione così estesa. Inoltre, la rappresentatività del campione
estratto e delle risposte ottenute permette di essere sicuri circa il peso che tale comparto
assume relativamente al settore IT Emiliano-Romagnolo 84.
4,8% 0,3% percentuale delle imprese IT in base al modello di business adottato
Figura 12. 6,2%Distribuzione
20,1%
20,1%
Esclusivamemte
OSS
Prevalentemente
OSS
Ibrido
Prevalentemente
o esclusivamente
proprietario
No software
Non risponde
48,5%
L’indagine ha coinvolto un campione di 512 imprese localizzate sul territorio regionale che operano nel settore software selezionate all'interno di una numerosità regionale complessiva di 7.854 imprese. Il campione e stato ottenuto tramite una doppia stratificazione per provincia e per classe di raggruppamento di codici di attività economica (ATECO). La somministrazione del questionario è avvenuta tramite interviste telefoniche condotte con il metodo CATI. Le risposte ottenute sono state 373. La minore numerosità del campione effettivo non ha inficiato la precisione dell'indagine che rimane sostanzialmente invariata rispetto al valore calcolato con la numerosità stimata nel disegno campionario.
84
Pagina 130
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Concentrandosi solo sulle imprese software e dividendole in tre gruppi in base al modello di
business che adottano (esclusivamente o prevalentemente basato su OSS, ibrido oppure
esclusivamente o prevalentemente basato su software proprietario) è possibile analizzare una
serie di caratteristiche dei diversi gruppi per capire se, e in che misura, si distinguono gli uni
dagli altri.
Le Figure 13 e 14 riportano rispettivamente il numero di addetti ed il numero di tecnici e
sviluppatori per il totale delle imprese software e raggruppate nei tre modelli di business
individuati. Il risultato maggiormente di impatto è che l'11,8 % delle imprese intervistate
sono imprese individuali e che circa sette imprese su dieci (il 70,3 % del totale) hanno al
massimo 5 addetti. Al contrario, solo il 14,1% delle imprese dichiara di avere più di 10
addetti, con quelle che superano i 100 che rappresentano poco più dell'1%.
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
Totale imprese softw are
Nessuno
10-----| 15 addetti
Figura 13.
Open source
1 addetto
15-----| 50 addetti
Ibrido
1-----| 5 addetti
50-----| 100 addetti
Proprietario
5-----| 10 addetti
Oltre 100 addetti
Distribuzione delle imprese per classe di addetti (divise in base al modello di
business adottato)
Nel complesso, quindi, la struttura regionale del comparto software rispecchia la tradizionale
struttura industriale Italiana riscontrabile anche in numerosi altri settori produttivi del Paese,
dato che l'85,9% delle imprese è di piccole e piccolissime dimensioni (meno di 10 addetti).
Non sembra emergere una netta distinzione tra imprese open, miste e non open circa il
numero di addetti, anche se si nota una maggior incidenza delle imprese individuali nei
segmenti open e ibrido rispetto a quello proprietario, che di contro è l'unico nel quale si
registra una presenza significativa di imprese sopra i 15 addetti, pari all'11% del totale
(contro una media dell'intero comparto del 9,1%).
La distribuzione percentuale delle imprese del campione in base alle unità nel ruolo di
sviluppatori/tecnici mostra come il 61,3% delle imprese nel 2008 abbia dichiarato di avere da
1 a 5 addetti nel ruolo di sviluppatori/tecnici, dato molto simile a quello del numero di
imprese quando si considerano di addetti in generale (58,6%). Questo dato riflette e conferma
la forte incidenza del personale tecnico sul numero totale di addetti delle imprese del
comparto IT. Anche guardando la distribuzione percentuale delle imprese software in base
alle unità nel ruolo di sviluppatori/tecnici non paiono significative le diversità tra imprese con
diversi modelli di business, dato che in ogni segmento la percentuale di imprese che dichiara
di avere un numero di sviluppatori/tecnici compreso tra 1 e 5 è di circa il 60%.
Pagina 131
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
Nessuno
10-----| 15 addetti
Figura 14.
Open source
1 addetto
15-----| 50 addetti
Ibrido
Proprietario
1-----| 5 addetti
50-----| 100 addetti
5-----| 10 addetti
Oltre 100 addetti
Distribuzione delle imprese per classe di personale nel ruolo di sviluppatori/tecnici
(divise in base al modello di business adottato)
La Figura 15 riporta il dato circa il fatturato 2008 delle imprese software che conferma
quanto già evidenziato osservando il numero degli addetti circa le dimensioni delle imprese
confermando dunque la preponderanza di imprese di piccole dimensioni. Come in precedenza
non si notano grandi differenze tra le imprese software a seconda del modello di business
adottato e, analogamente a quanto osservato per il numero di addetti e di sviluppatori/tecnici,
l'unica tendenza che emerge è che le imprese più grandi, cioè con un fatturato 2008 più
elevato, sono quelle che si concentrano su di un'offerta proprietaria.
70%
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
0--|500
Figura 15.
500--|1.000
Open source
1.000--|2.000
Ibrido
2.000--|10.000
Proprietario
Oltre 10.000
Non risponde
Distribuzione percentuale delle imprese software per classe di fatturato 2008 in
migliaia di euro(divise in base al modello di business adottato)
Se da un punto di vista di numero di addetti, di sviluppatori/tecnici e di fatturato non è emersa
una differenza netta tra le imprese software in base ai diversi modelli di business adottati, la
situazione cambia quando si considera il fatturato innovativo 2008, cioè la percentuale del
fatturato 2008 dovuta all’introduzione di nuovi prodotti e/o servizi, dato riportato in Figura
16.
Pagina 132
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
Open source
Lo 0% del fatturato
1-----| 5% del fatturato
20-----| 50% del fatturato
50-----| 99% del fatturato
Figura 16.
Ibrido
5-----| 10% del fatturato
Non risposta
Proprietario
10-----| 20% del fatturato
Il 100% del fatturato
Distribuzione delle imprese software per classe percentuale di fatturato derivato
dall'introduzione di nuovi prodotti e/o servizi (divise in base al modello di business
adottato)
Poco meno della metà delle imprese software in Regione (46,8%) dichiara che una frazione
positiva del proprio fatturato nel 2008 derivi dall’introduzione di nuovi prodotti e/o servizi.
Se si guarda alla disaggregazione in base al modello di business adottato, la percentuale di
imprese per le quali una frazione positiva del proprio fatturato nel 2008 deriva
dall’introduzione di nuovi prodotti e/o servizi è il 41,4% nel caso delle imprese proprietarie,
mentre la percentuale sale rispettivamente al 56,0% e al 53,6% nel caso delle imprese del
segmento ibrido e di quello open. Inoltre 2,5 imprese open ogni 10 derivano dal 50% al 100%
del proprio fatturato 2008 dall'introduzione di nuovi prodotti e/o servizi, mentre nel caso delle
imprese software nel loro complesso il numero scende a 1,5 ogni 10 imprese. Sembra dunque
emergere una tendenza interessante, il maggiore impatto dell'innovazione sul fatturato per le
imprese software del segmento open e ibrido rispetto a quelle del segmento proprietario.
Le tipologia di prodotti e servizi offerti dalle imprese software nel loro complesso e divise nei
tre gruppi individuati sono riportate rispettivamente nelle Figure 17 e 18.
Come è ovvio, dato che stiamo considerando le sole imprese software, i software sviluppati o
personalizzati per il cliente sono il prodotto maggiormente offerto (53,2% delle imprese li
offrono). Rivestono una certa importanza anche la vendita di hardware (41,1%) e
componentistica e la realizzazione siti web e/o soluzioni e-commerce (38,7%).
70%
Figura
17.
Distribuzione percentuale delle imprese software (divise secondo il modello di
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
Applicativi gestionali
amministrativi (CRM,
ESP)
Prodotti softw are sviluppati da terzi
Altro: specificare
Open source
Ibrido
Proprietario
Softw are perPagina 133
office
Sviluppo e personaautomation
lizzazione softw are
Prodotti multimediali
Content Management
System (CMS)
Hardw are e componentistica
Nessuno di questi
Realizzazione siti w eb
e/o soluzioni e-commerce
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Interessante notare che, se da un punto di vista di tipologia dei primi tre prodotti offerti non
c'è una significativa differenza tra le imprese open, miste e proprietarie (anche se cambia
l'ordine di importanza tra il secondo ed il terzo), una diversità sembra invece emergere dal
punto di vista della varietà dei prodotti offerti, con le imprese open e miste che sembrano
avere un maggior ventaglio di soluzioni software offerte contemporaneamente. Per ogni
tipologia di prodotto offerto, infatti, la percentuale di imprese proprietarie che lo offrono sul
totale delle imprese del segmento non è mai contemporaneamente più alta dell'analoga
percentuale calcolata per le imprese open o miste, indicando appunto una maggior varietà
d'offerta di prodotti da parte di queste ultime tipologie di imprese.
Per quel che riguarda i servizi offerti, i tre principali risultano essere l'assistenza post vendita
(54,9%), la manutenzione software (54,2%), e la consulenza per l’installazione di software
(50,8%). Come notato per quel che riguarda i prodotti offerti, se per tipologia dei primi tre
servizi offerti non c'è una significativa differenza tra le imprese open, miste e proprietarie, le
imprese open e miste paiono caratterizzate da una maggiore varietà dei servizi offerti
rispetto a quelle del segmento proprietario.
80%
70%
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
Consulenza per l'installazione di softw are
Manutenzione e riparazione sistemi
hardw are
Amministrazione di
banche dati
Altro: specificare
Figura 18.
Open source
Ibrido
Proprietario
Consulenza per l'installazione di sistemi
hardw are
Formazione
Assistenza/servizi
post-vendita
Manutenzione
softw are
Hosting di siti
w eb/banche dati, etc.
Elaborazione dati e/o
data entry
Sistemi di controllo
industriale (SCADA,
DCS, PLC, ...)
Nessuno di questi
Integrazione f ra
componenti softw are
Ricerca e sviluppo
Distribuzione percentuale delle imprese software (divise secondo il modello di
business adottato) in base alla tipologia di servizi offerti (possibili più risposte)
Le Figure 19 e 20 mostrano rispettivamente i canali informativi in “entrata” ed in “uscita”,
quelli cioè che l’impresa utilizza per acquisire informazioni sull’innovazione (entrata) e per
pubblicizzare i nuovi prodotti e/o servizi (uscita).
Per quel che riguarda l'acquisizione delle informazioni sull’innovazione i tre canali principali,
pur con intensità differenti a seconda del modello di business preso in considerazione,
risultano essere: (i) le comunità on line e/o i social network (62,6%); (ii) i fornitori (52,2%);
(iii) le conferenze, i seminari o i convegni (50,5%). Elaborazioni interne all'impresa, così
come mostre e fiere, hanno una certa rilevanza per le imprese open e ibride, che anche in
questo caso mostrano una maggior varietà di canali informativi in entrata.
Pagina 134
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
80%
70%
60%
50%
40%
30%
20%
10%
0%
Totale imprese softw are
Open source
Ibrido
Proprietario
Fornitori
Clienti
Altre imprese
Centri di ricerca pubblici (università, centri
di istruzione superiore,
...)
Associazioni di categoria
Mostre/fiere
Conferenze, seminari,
convegni
Comunità online (anche open-source) e/o
social netw ork
Elaborazioni interne all'impresa
Figura 19.
Centri di ricerca privati
(consulenti, laboratori
privati, ...)
Studi di mercato, pubblicazioni/riviste scientifiche
Canali di acquisizione di informazioni da parte delle imprese software (divise
secondo il modello di business adottato) sulle innovazioni da introdurre
Tale dato è in linea con quanto notato sul fatturato innovativo 2008, che ha già segnalato
come per le imprese open e miste l'impatto dell'innovazione sul fatturato sia percentualmente
maggiore, il che è coerente con un maggior impegno nella ricerca delle informazioni
sull'innovazione da introdurre, ricorrendo a più canali e con maggiore intensità rispetto alle
imprese del segmento proprietario. Per le imprese software nel loro complesso risultano
scarsamente importanti i centri di ricerca, pubblici o privati che siano, pur se con qualche
distinguo in base al modello di business adottato.
Considerando i canali di “uscita”, ovvero le modalità con cui l’impresa rende note le
informazioni circa i nuovi prodotti e servizi introdotti sul mercato, risulta chiaro come siano i
siti internet di settore e blog specialistici (60,3%), newsletter (39,1%) e, infine, conferenze,
seminari e convegni (21,5%) i canali più usati, scarsa rilevanza hanno invece gli spazi delle
associazioni di categoria e le riviste specialistiche. Di nuovo, la differenza tra la imprese open
e miste da un lato e quelle proprietarie dall'altro sembra essere la varietà di canali utilizzati,
maggiore per le prime due tipologie d'impresa.
80,0%
Figura
20.
Canali utilizzati dalle imprese software (divise secondo il modello di business
70,0%
60,0%
50,0%
40,0%
30,0%
20,0%
10,0%
0,0%
Totale imprese softw are
Riviste specialistiche
New sletter
Open source
Ibrido
Siti internet di settore,
Fiere, mostre
blog specialistici
Appositi spazi delle
Meeting informali (tipo
associazioni diPagina 135
cateLUG=Linux User
goria (portali di asGroup, ....)
sociazioni, ...)
Proprietario
Conferenze, seminari,
convegni
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Tra le imprese che hanno adottato un modello di business basato su software open source
(modello ibrido o modello open) la partecipazione a comunità open source risulta
relativamente scarsa e pari al 21,4% (Figura 21). Questo risultato è molto interessante in
quanto potrebbe segnalare un'offerta di software open legato più a vantaggi tecnici ed
economici che ad un’adesione ai valori di libertà del software e condivisione del codice tipici
della comunità open. Un ulteriore fattore che potrebbe contribuire a spiegare il dato fa
riferimento al comportamento delle imprese IT in Regione in materia di sviluppo di nuovi
prodotti che potrebbe risultare improntato a logiche fortemente competitive.
Si
21%
Non so
1%
No
78%
Figura 21.
Partecipazione attiva da parte dell'impresa a progetti
A tutte le imprese campionate (indipendentemente dunque dal modello di business adottato) è
stato poi domandato di fornire il loro punto di vista circa i motivi che possono incentivare o
disincentivare l’offerta di prodotti e/o servizi open source. La Figura 22 riporta i pareri delle
imprese intervistate che hanno indicato un giudizio positivo (coloro che si sono detti
“d'accordo” o “molto d'accordo”) circa le motivazioni proposte a seconda del modello di
business adottato. Come era ragionevole attendersi, le imprese che fanno riferimento ad un
modello basato prevalentemente od esclusivamente su open source si rivelano maggiormente
a favore delle motivazioni che dovrebbero incentivare l'offerta di open source. Allo stesso
modo, le imprese che adottano un modello ibrido, pur raggiungendo un livello di accordo
inferiore rispetto alle precedenti, sono più favorevoli a tali motivazioni rispetto alle imprese
che fanno affidamento su un modello interamente o prevalentemente proprietario.
Ciononostante, percentuali non banali sono raggiunte anche da quest'ultimo modello di
business relativamente ai pareri favorevoli con, in alcuni casi, punte superiori al 50% dei
rispondenti. Questo dimostra comunque un elevato interesse al tema dell'open source anche
da parte di imprese che adottano un modello di business che, almeno sulla carta, dovrebbe
essere antitetico rispetto a quello open.
Guardando nel dettaglio come cambia il parere delle imprese in base al modello di business
adottato si nota che per le imprese che adottano un modello ibrido, la possibilità di sfruttare
standard aperti (pari all'85,3% del totale dei potenziali rispondenti) e il basso costo iniziale
(80 %) risultano essere i motivi principali, in linea con quanto rilevato per le imprese che
adottano un modello open. Anche la possibilità per le piccole e medie imprese di innovare, la
possibilità di sviluppo collaborativo e la condivisione dei valori dell'open source sono
Pagina 136
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
motivazioni che trovano d'accordo o molto d'accordo almeno 3 imprese su 4 tra quelle che
adottano un modello di business ibrido.
Se consideriamo invece le imprese caratterizzate da un modello proprietario, tra le ragioni
che potrebbero incentivare la scelta dell'open, il costo iniziale basso risulta essere il motivo
prevalente, con il 62,4% (113 imprese), seguito dalla condivisione dei valori dell’open source
(100, pari al 55,2%) e dalla possibilità di innovare per le piccole e medie imprese (96, pari al
53,0%). Mentre non stupisce che il basso costo iniziale sia il motivo principale per il quale le
imprese che hanno un modello open potrebbero essere incentivate a farlo, è abbastanza
singolare che un'impresa su due indichi la condivisione dei valori dell'open source.
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
Open Source
Ibrido
Condivisione dei valori
dell'OS
Assenza di prodotti
proprietari concorrenti
Maggiore fruibilità di
specialisti ICT
Modello di testing
Politiche nazionali rivolte all'OS
Basso costo iniziale
Possibilità di modularizzare gli obiettivi
Sfruttare standard e
formati aperti
Possibilità di sviluppo
collaborativo
Maggiore indipendenza dai fornitori
Migliore interoperabilità
dei sistemi
Figura 22.
Proprietario
Possibilità per le PMI di
innovare
Maggiore
sicurezza/affidabilità
del sof tw are
Possibilità di personalizzazioni
Motivi che possono incentivare l'offerta di Open Source a seconda del modello di
business
La Figura 12 indica invece come tra i fattori che possono disincentivare l’offerta di soluzioni
open ci sono, a giudizio delle imprese del settore che del software open fanno una
componente esclusiva o prevalente del loro modello di business, le eventuali problematiche
di interoperabilità con altri prodotti software (51,2%), seguite dal timore della non continuità
nel supporto da parte della comunità open source (43,9%) e dalla percezione, da parte dei
clienti, di poter avere difficoltà di utilizzo dei prodotti e servizi open (39,0%). Dalla stessa
figura, che riporta i pareri anche delle imprese raggruppate secondo gli altri due modelli di
business, emerge come non vi siano particolari differenze nell'individuazione dei fattori che
principalmente possono ostacolare l'offerta di prodotti e/o servizi open source. Le
problematiche di interoperabilità con altri prodotti software (43, pari al 57,3%), il timore
della non continuità nel supporto da parte della comunità open source (41, pari al 54,7%) e
della percezione, da parte dei clienti, di poter avere difficoltà di utilizzo dei prodotti e servizi
open (41, pari al 54,7%) sono anche per le imprese che adottano un modello di business
Pagina 137
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
ibrido i tre fattori maggiormente disincentivanti dell'offerta di soluzioni open. E' interessante
notare come per le imprese che adottano un modello proprietario, oltre ai tre fattori citati, che
sono quelli di maggiore rilevanza, il motivo di disincentivo più indicato è la percezione di
una peggior assistenza post vendita da parte della clientela (95, pari al 52,5%).
60%
50%
40%
30%
20%
10%
0%
Open Source
Figura 23.
Ibrido
Licenze OS poco chiare
No continuità supporto
della comunità
La clientela può temere delle difficoltà nell'utilizzo dei
prodotti/servizi OS
La clientela può temere di avere una peggior assistenza postvendita
Proprietario
No
competenze/risorse
per l'offerta OS
Presenza applicazioni
proprietarie incompatibili con le soluzioni
of ferte
La clientela può temere una minor qualità
del softw are offerto
Motivi che possono disincentivare l'offerta di Open Source a seconda del modello di
business
3 CONCLUSIONI
Quest'anteprima dell'indagine sulle caratteristiche e la capacità innovativa delle imprese IT in
Emilia-Romagna fornisce un primo contributo importante alla quantificazione delle imprese
che a livello regionale offrono prodotti e servizi basati in tutto o in parte su software open
source.
Tale dato è stato per la prima volta stimato con un’indagine condotta su larga scala e
statisticamente robusta.
L'aspetto più interessante fin qui emerso è che le imprese che nel loro modello di business
includono il software open sembrerebbero presentare una migliore performance innovativa
(misurata come la percentuale di fatturato 2008 derivante dall'introduzione di nuovi prodotti
e/o servizi) rispetto alle imprese che offrono prodotti e/o servizi basati principalmente solo su
software proprietario.
Il rapporto dunque tra modello di business adottato e innovatività dell'impresa merita
certamente ulteriore attenzione e sarà una delle direzioni in cui si muoveranno le analisi
future.
Pagina 138
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
UN ECOSISTEMA SOSTENIBILE:
IL MODELLO DI JAPS 2.0
Claudio Ambu, Tzente S.r.l., Viale Elmas 142, 09122 Cagliari, c.ambu@tzente.it
Roberta Quaresima, Tzente S.r.l., Viale Elmas 142, 09122 Cagliari,
r.quaresima@tzente.it
Maria Cadeddu, Agiletec S.r.l., Viale Elmas 142, 09122 Cagliari,
m.cadeddu@agiletec.it
Abstract
Il software libero ed il modello di business ad esso collegato stanno diventando sempre più
protagonisti nel mondo delle imprese, della ricerca ed in particolare delle Pubbliche Amministrazioni,
poiché offrono rilevanti potenzialità di carattere economico, culturale e sociale.
Il software libero è ritenuto un elemento importante per affrontare e risolvere con successo i problemi
legati all'uso e alla valorizzazione dell'ICT nel mondo delle Pubbliche Amministrazioni e favorisce il
rilancio dell'industria informatica nazionale ed internazionale. Infatti in molti casi ormai il software
libero è diventato uno strumento maturo e di qualità che può garantire un adeguato valore sia nel
settore pubblico che privato.
Il progetto jAPS ed il suo modello nascono proprio sulla base di questi presupposti al fine di aiutare
Pubbliche Amministrazioni ed imprese a sviluppare prodotti finiti, progetti e soluzioni che soddisfino
di volta in volta le specifiche esigenze. jAPS 2.0 è una piattaforma portal professionale progettata per
rendere fruibili a tutti informazioni, risorse, servizi e processi di un'organizzazione, sia essa pubblica
o privata.
Nell'articolo saranno illustrate le principali caratteristiche della piattaforma jAPS, tra le quali il
rispetto dei requisiti della legge italiana sull'accessibilità, la Legge Stanca, al quale è legata anche la
mission di jAPS: “vogliamo rendere informazioni e servizi accessibili a tutti”.
Sarà inoltre descritta la storia che ha portato alla nascita di Tzente, il Maintainer ufficiale, e
dell'ecosistema jAPS basato su un modello di business completamente Open Source.
Tzente (che in sardo significa “persone”) nasce infatti in Sardegna con l'obiettivo di creare un
ecosistema di respiro nazionale e internazionale di aziende, pubbliche amministrazioni, università e
centri di ricerca che condividano le loro conoscenze, collaborino e contribuiscano alla crescita del
progetto Open Source jAPS.
Tzente ha come obiettivo quello di far evolvere la piattaforma e creare una rete strutturata come un
“ecosistema” di Partner che condividano valori e obiettivi comuni. Verrà descritto in dettaglio il
modello di business basato sull'offerta delle tecnologie e dei servizi connessi ai Partner sotto forma di
accordi di partnership con sottoscrizione di servizi.
Saranno infine illustrati i principali obiettivi raggiunti e la roadmap del progetto e del modello,
tramite cui si cercherà di evidenziare il ruolo fondamentale dei diversi attori dell'ecosistema per la
crescita stessa del progetto.
Parole Chiave: Software Libero, Portali, Accessibilità, Ecosistema, Modello, jAPS, Pubblica
Amministrazione
Pagina 139
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1 INTRODUZIONE
Tzente, il maintainer ufficiale del progetto jAPS (www.japsportal.org), è un società che nasce
sulla convinzione che il software libero e l’utilizzo di modelli di licenze open offrano oggi un
sicuro vantaggio competitivo rispetto alle aziende che sviluppano software proprietario e che
operano sul mercato sulla base di modelli commerciali consolidati. Tzente basa questa
convinzione su un assunto: persone e qualità devono essere i due ingredienti fondamentali per
un progetto open source di successo ed è per questo motivo che il progetto jAPS, che ha fatto
di queste due fattori elementi principe della sua filosofia, continua il suo percorso di crescita
ininterrotta da oramai 6 anni.
1.1
La storia
jAPS è un progetto nato nel 2004 ed è fondato su una semplice idea: realizzare una
piattaforma in grado di conciliare le caratteristiche di framework professionale con
leggerezza e semplicità d'uso e di personalizzazione di un prodotto, in alternativa alle
soluzioni dei grandi attori mondiali.
Il successo dell’iniziativa porta alla naturale costituzione di AgileTec, che prosegue
l'evoluzione del progetto sino al 2009, anno della costituzione di Tzente.
AgileTec, proponendo una piattaforma di sviluppo, si è trovata ad operare non solo
direttamente sui propri clienti, ma anche su un mercato più ampio attraverso il supporto
tecnologico fornito ad aziende nazionali. L'operare in supporto ad altre aziende tecnologiche
ha costituito un'esperienza importante sia per l'esigenza di rispondere con prontezza a sfide
tecnologiche evolute, sia per l'acquisizione di una buona capacità di collaborazione e di
servizio, sia in termini di cultura aziendale che di processi.
Lo stretto contatto con queste realtà e la conoscenza quindi delle loro esigenze ha portato alla
creazione del nuovo maintainer ufficiale del progetto jAPS, Tzente. Il suo obiettivo è quello
di far evolvere la piattaforma e creare una rete di organizzazioni strutturata come un
“ecosistema” di Partner che condividono valori e obiettivi. Il modello di business di Tzente
matura a seguito delle richieste del mercato e dei clienti finali.
1.2
Mission
Il progetto jAPS 2.0 nasce dall'esigenza del web 2.0 di creare soluzioni innovative per la
fruibilità di servizi ed informazioni e per incentivare la collaborazione tra gli utenti. jAPS 2.0
è la risposta al nuovo modo di intendere il web come piattaforma in cui l'utente ha il controllo
dei propri dati ed è in grado di accedere in maniera semplice alle informazioni di
un'organizzazione in base al proprio profilo.
L'enfasi data alla condivisione delle informazioni e alla collaborazione rappresenta un
vantaggio in termini di arricchimento della conoscenza, ma può anche rappresentare un
rilevante ostacolo per tutti gli utenti diversamente abili che devono poter accedere e fruire
delle informazioni e dei servizi offerti. Pensiamo alla possibilità per persone con disabilità
uditive, cognitive e motorie di poter gestire le proprie informazioni. Immaginiamo ad
esempio alle difficoltà che le persone anziane possono avere nell'accedere ai servizi on-line.
Il web 2.0 rischia quindi di aumentare il "digital divide".
Pagina 140
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
La risposta del progetto jAPS 2.0 si può riassumere in una semplice frase: “Rendere le
informazioni e i servizi accessibili a tutti!”
Questa caratteristica ha coinciso con l'esigenza di rispettare le normative italiane
sull'accessibilità dei siti delle pubbliche amministrazioni (legge Stanca e provvedimenti
collegati). Tali norme, che riprendono le linee guida del W3C (WCAG), hanno equivalenti
anche nella normativa degli Stati Uniti (Disablities Act - Section 508) e del Regno Unito
(Disability Discrimination Act 1995).
La caratteristica di "consentire" il rispetto dell'accessibilità nella realizzazione dei portali web
è stata talmente importante per il successo di jAPS che nella seconda versione (jAPS 2.0) si è
deciso di estendere il rispetto della normativa anche sul back-office (funzioni di gestione e
aggiornamento), in modo da consentire l'accesso agli strumenti di redazione e gestione dei siti
anche da parte di personale con disabilità. Attualmente la piattaforma jAPS 2.0 consente
anche a persone diversamente abili di poter scrivere e pubblicare informazioni e quindi
partecipare attivamente alla redazione dei contenuti di un portale (CMS). Tutti i servizi di
collaboration (plugin webmail, newsletter, forum, bacheca annunci etc) sono accessibili
anche in area di amministrazione e quindi utilizzabili da persona con disabilità. Ad oggi ci
risulta che jAPS 2.0 sia l'unica piattaforma al mondo, fra quelle open source, con questa
caratteristica (e comunque non abbiamo notizia di tale caratteristica neppure fra le soluzioni
proprietarie).
2 LA PIATTAFORMA JAPS 2.0
jAPS 2.0 è costruito sulla qualità (qualità delle persone, qualità dei processi, qualità dei
risultati), espressione diretta di un processo di miglioramento continuo innescato grazie alla
possibilità di raccogliere bisogni ed esigenze reali, in particolare nel mercato della pubblica
amministrazione italiana. Qualità ottenuta grazie al contributo di una community attenta e
partecipe costituita da sviluppatori, esperti in accessibilità, ingegneri e architetti del software,
grafici, professionisti della comunicazione, avvocati ed esperti sulla proprietà intellettuale,
aziende, esperti di e-government, Università e Centri di ricerca.
2.1
Cosa è jAPS
jAPS 2.0 è uno strumento professionale, semplice e versatile, progettato per rendere fruibili a
tutti informazioni, risorse, servizi e processi di un'organizzazione, sia essa pubblica o privata.
In ambito PA, jAPS 2.0 è uno strumento innovativo di relazione, trasparenza, comunicazione
e informazione che favorisce un rapporto aperto tra PA e cittadini.
jAPS 2.0 nasce in Italia in aderenza con le normative vigenti e si propone come uno
strumento adatto per una Pubblica Amministrazione che intenda avviare un processo di
miglioramento della qualità dei servizi e delle informazioni online al cittadino e alle imprese.
jAPS 2.0 è un strumento adatto anche per favorire la condivisione di informazioni tra i
dipendenti pubblici di un'ente e per facilitare il dialogo tra gli stessi enti. L'aspetto più
rilevante, che costituisce un elemento di unicità, è che lo strumento favorisce l'abbattimento
delle barriere digitali sul web: un utente diversamente abile (ad esempio un non vedente) è in
grado di gestire le proprie informazioni, condividerle, partecipare e collaborare (e-inclusion).
Pagina 141
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
jAPS 2.0 va oltre il classico concetto di sistema portal perché copre uno spettro di esigenze
molto ampio, consentendo di affiancare la completa e semplice gestione dei contenuti alla
capacità di integrare servizi applicativi. I sistemi CMS classici e i pesanti sistemi Portal
coprono solo uno di questi aspetti: un CMS consente di organizzare e pubblicare contenuti
(siti informativi), un sistema portal consente l'aggregazione di servizi applicativi (portali di
servizi). jAPS invece copre molto bene entrambi gli aspetti. In più consente di creare
applicazioni verticali partendo da una base tecnologica solida di componenti software e di
framework collaudati e ben noti.
Le sue caratteristiche peculiari si possono riassumere in quattro parole chiave "Enterprise
Accessible Information Platform":
1 racchiude in un'unica soluzione tutte le caratteristiche "Enterprise" di performance, affidabilità, scalabilità e robustezza dei sistemi Portal più evoluti;
2 consente anche ad utenti diversamente abili di accedere, condividere, pubblicare e gestire le proprie informazioni e servizi ("Accessible");
3 è orientato anche alla gestione dei contenuti tramite uno strumento evoluto di Content Management ("Information");
4 è utilizzabile come framework ("Platform") per la realizzazione di applicazioni verticali basate sui contenuti (Content Enabled Vertical Application).
Le Metodologie Agili utilizzate per la progettazione, realizzazione e gestione della
piattaforma jAPS 2.0, da cui l'acronimo di Java Agile Portal System, sono conformi alle
metodiche indicate dal DigitPA come standard di realizzazione di un portale per la PA e per
la gestione del suo ciclo di vita.
2.2
Cosa posso fare con jAPS 2.0
I componenti e le funzionalità di base coprono la grande maggioranza delle funzionalità di un
portale web e consentono di personalizzare e realizzare un prodotto finito tagliato sulle
necessità del cliente, senza pretendere di risolvere tutte le esigenze possibili a priori. Per
questo la piattaforma è stata progettata tenendo sempre presente l'estendibilità.
La versatilità di jAPS consente di poterlo utilizzare in diversi scenari:
•
semplici siti informativi con la gestione dei contenuti da parte di una redazione ( Content Management System)
•
Portali di grosse dimensioni con Servizi al cittadino, servizi SPCoop (con l'integrazione di porte di dominio)
•
Intranet accessibile, cruscotto o desktop personalizzato per il dipendente (myPortal), creare nuovi plugin applicativi, integrare servizi applicativi e i sistemi di back office (anche tramite utilizzo di Enterprise Service Bus)
•
semplici applicazioni web based su domini specifici (Content Enabled Vertical Application)
jAPS 2.0 è stato progettato per consentire un suo utilizzo come elemento centrale di un
sistema integrato di servizi web. jAPS 2.0 risolve con efficienza i temi della aggregazione
delle informazioni e dei servizi su un front-end unico. Il back office, facilmente estendibile,
Pagina 142
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
consente di integrare anche le funzionalità applicative di appoggio ai servizi di front-end. La
modularità del sottosistema dei servizi consente di agganciare, con facilità, e secondo un
disegno coerente, i connettori ai servizi esterni da integrare. I moduli già esistenti forniscono
molti dei servizi di infrastruttura necessari nella pratica. In pratica jAPS 2.0 può ricoprire il
ruolo di cruscotto in cui informazioni, servizi e risorse di un organizzazione vengono rese
fruibili in maniera sicura e personalizzata (desktop personalizzato).
2.3
La tecnologia
jAPS 2.0 è basato su piattaforma Java EE. La piattaforma fa uso di framework ampiamente
diffusi, ben noti e riconosciuti dal mercato come Struts e Spring e aggiunge a questi nuovi
componenti software un insieme minimo di funzionalità che accelerano e semplificano il
lavoro di realizzazione di un sistema web su misura.
L'architettura modulare basata sul paradigma Model View Controller, l'utilizzo di design
pattern, l'approccio orientato ai servizi (SOA) e il modello di integrazione a Plugin rendono il
sistema fortemente versatile, flessibile e adatto quindi a scenari in cui la personalizzazione è
un'esigenza molto sentita.
Tutti i dati e contenuti di jAPS vengono immagazzinati con un formato libero e liberamente
leggibile: XML. In questo modo tutti i contenuti possono essere riutilizzati e integrati senza
alcuna limitazione. Questa caratteristica fa di jAPS 2.0 un Open Data framework adatto in
tutti quei contesti in cui si intende favorire la condivisione libera delle informazioni e la
trasparenza.
3 L'ECOSISTEMA JAPS 2.0
L'esigenza di soddisfare una richiesta sempre in aumento di soluzioni basate su jAPS 2.0 ha
dato origine alla realizzazione di un ecosistema di Partners certificati supportati da Tzente.
3.1
Modello di business
Il modello di business di Tzente è il risultato dell’osservazione e dello studio dei
comportamenti dei grandi vendor internazionali, mantainer di progetti Open Source. Il
modello si basa sull’offrire e fornire le tecnologie ed i servizi sotto forma di accordi di
partnership, con sottoscrizione di servizi su base annuale o pluriennale. Le partnership sono
progettate per fornire alle organizzazioni dell'ecosistema una soluzione all-inclusive che
comprende la consegna del software, correzioni in corso, miglioramenti e nuove versioni
della piattaforma sempre più stabili e sicure, nonchè una vasta gamma di servizi di supporto e
assistenza sia in ambito marketing che vendite. Il Partner non compra il software ma i servizi
legati ad una soluzione che considera di elevata qualità e quindi in grado di garantirgli
business presso i propri clienti.
Il software sviluppato collettivamente (Community Edition) viene oggi distribuito sotto
licenza open source (GNU General Public License) e consente, a tutti gli interessati, l'accesso
al codice sorgente e la facoltà di poter utilizzare, modificare e distribuire jAPS 2.0. Questa
modalità di diffusione offre un ampio margine di manovra per i partner (aziende pubbliche e
private di medie-grandi dimensioni) i quali sono legittimati a prendere visione della soluzione
open source, suggerire modifiche, personalizzare o migliorare il software. In tale contesto si
Pagina 143
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
inserisce la Maintainer Tzente che offre servizi professionali mirati ad elevare il grado di
affidabilità della piattaforma, offrendo una serie di funzionalità e soluzioni migliorative
rispetto alla soluzione a disposizione della community.
Tzente opera con un network di aziende Partner che promuovono e diffondono la piattaforma
jAPS 2.0 nel mercato nazionale ed internazionale. Il ruolo di Tzente all'interno del network è
quello di supporto di secondo livello: fornisce ai partner una piattaforma software Open
Source certificata e supportata (jAPS 2.0 Certified Edition), insieme a tutti i servizi di
consulenza e supporto in ambito di progettazione, sviluppo, marketing, business development
e vendite presso i loro clienti.
Il business si concretizza quindi attraverso 4 canali:
 sottoscrizione di partnership da parte delle organizzazioni che intendono offrire ai loro clienti le soluzioni basate su jAPS 2.0;
 fornitura di servizi aggiuntivi di consulting;
 fornitura di servizi aggiuntivi di training;
 utilizzo della Platform certified edition (versione certificata della piattaforma) per tutti i clienti dei partner.
Il modello di business prevede differenti tipologie di partnership, in base alla specificità
dell'organizzazione e dei prodotti e/o servizi da questa forniti ai propri clienti. Ogni partner
con la sottoscrizione dell’accordo di partnership acquisisce una serie di benefici (3 profili di
benefits SILVER, GOLD , PLATINUM) e obblighi (requirements).
I benefits consentono ai Partner di acquisire una forte capacità di penetrazione del mercato
grazie alla elevata qualità della soluzione jAPS 2.0 proposta ai loro clienti finali e al supporto
diretto del Maintainer; i requirements consentono al Maintainer di finanziare lo sviluppo della
piattaforma e attuare politiche di branding a favore della rete di Partner. Il Maintainer non
opera direttamente sul mercato ma indirettamente tramite i Partner.
Le tipologie di partnership sono:
 System Integrator: organizzazioni che forniscono servizi professionali su jAPS 2.0 Platform
 Solution & OEMs: organizzazioni che sviluppano verticalizzazioni e nuovi prodotti su specifici domini basati su jAPS 2.0 Platform  Technology: maintainer di altri progetti open source che forniscono soluzioni tecnologiche che possono essere offerte insieme a jAPS 2.0 Platform.
 R&D: Centri di Ricerca e Università che contribuiscono al progetto Open Source e, nell'ambito dei propri progetti di ricerca, sviluppano applicazioni innovative basate su jAPS 2.0 Platform
Tzente offre per queste organizzazioni supporto specifico e personalizzato.
L’accesso all’ecosistema dei Partner è selezionato così da garantire e preservare la qualità del
lavoro di tutti i suoi partecipanti. Accedere all’ecosistema significa seguire e condividere i
principi e valori del modello Open Source favorendo il giusto equilibrio tra lo spirito della
community e le esigenze relative alla crescita del proprio business.
Pagina 144
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 24.
3.2
Ecosistema dei partner
Principi e valori dell'ecosistema
Il mondo jAPS e l’ecosistema dei partner su cui è costruito sono concepiti come un sistema
integrato dove vigono alcuni semplici principi e valori posti originariamente a garanzia
dell’equilibrio del sistema.
Il ruolo di Tzente, all'interno dell'ecosistema, è quello di far evolvere la piattaforma, garantire
uno standard di qualità elevato del prodotto e dei servizi e fornire supporto professionale sulla
piattaforma a tutte le organizzazioni che intendano essere competitive nel mercato odierno
con una soluzione innovativa.
I principi originari dell'ecosistema sono i seguenti:
 Non concorrenza del Maintainer: il Maintainer non interviene direttamente ed in alcun modo presso un cliente sul quale un soggetto partner dichiari di aver intrapreso una trattativa avente ad oggetto un pacchetto di prodotti e servizi basati su jAPS 2.0;
 Confidenzialità e Trasparenza: il Maintainer garantisce assoluta riservatezza ad un partner nei confronti degli altri partner, nel caso venga a conoscenza indirettamente e nell’ambito di una trattativa commerciale su l'esistenza, i dettagli tecnici e/o commerciali di un progetto specifico.
 Uguaglianza: il Maintainer non garantisce l'esclusività ad alcun Partner. In un'ottica di neutralità opera per fornire sostegno a tutti i Partner, nell'ambito di un progetto che incorpora l'offerta del Maintainer. Il comportamento del Maintainer si ispira sempre a Pagina 145
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
principi di neutralità, correttezza, lealtà e trasparenza nei confronti di tutti i Partner del network. 3.3
Accordi strategici
Tzente sta attuando un processo di internazionalizzazione attraverso il potenziamento della
rete di Partner in settori strategici per la crescita del progetto.
Tra i principali troviamo l'accordo di partnership tecnologica con PENTAHO il Maintainer
della suite di Business Intelligence (BI) Open Source attualmente più popolare del mondo. La
partnership è estesa alle aree di Europa, Nord America, Sud America, Asia, Africa e Australia
ed è volta a fornire soluzioni competitive per la Pubblica Amministrazione Italiana.
Un'altro accordo di Partnership tecnologica è stato siglato con INGRES, leader mondiale di
“open source information management services” .
4 CONCLUSIONI
Il progetto jAPS ha oggi raggiunto importanti risultati grazie soprattutto ai principi e ai valori
che legano i diversi attori dell'ecosistema i quali, grazie a specifici contributi, alimentano la
crescita e l'evoluzione della piattaforma e del modello.
Il progetto è infatti caratterizzato da un laboratorio R&D al quale partecipano aziende,
università, pubbliche amministrazioni e professionisti. Le idee, l'esperienza e le competenze
di tutti vengono messe a fattore comune per definire la roadmap e realizzare progetti e
soluzioni innovative in diversi settori, quali ad esempio:
1. Integrazione, interoperabilità e cooperazione applicativa
2. Soluzioni di applicazioni su dispositivi mobili
3. Strumenti di sviluppo RAD che consentano di aumentare la produttività dei team di sviluppo
4. Ambiente automatizzato di sviluppo che faciliti la realizzazione di progetti mediante l'utilizzo di tools open source.
L'obiettivo della roadmap è quello di aumentare la diffusione del progetto open source.
Diffusione realizzata anche attraverso la costante crescita della community che accoglie un
sempre maggior numero di iscritti.
Nel Marzo 2010 è stata rilasciata la versione 2.0.10 di jAPS 2.0 contenente un upgrade della
piattaforma e nuove funzionalità. A seguito del nuovo rilascio, nel solo mese di Marzo, si
sono avuti più di 1.200 download dei diversi package.
Riferimenti
http://www.japsportal.org/ Sito di riferimento del progetto
http://dev.japsportal.org/trac/wiki Sito di riferimento per gli sviluppatori
Pagina 146
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
http://sourceforge.net/projects/japs/files/ Sito per il download del codice sorgente di jAPS
http://www.tzente.it/ Sito di riferimento di Tzente S.r.l.
http://www.cnipa.gov.it/site/it-it/Attivit%C3%A0/Sistema_Pubblico_di_Connettivit
%C3%A0_%28SPC%29/Contrattoquadro_per_siti_web_e_servizi_on_line_nella_PA/Scenari_Innovativi_ICT/
Linee Guida di progettazione e sviluppo per i siti delle pubbliche amministrazioni
http://www.pubbliaccesso.gov.it/normative/legge_20040109_n4.htm Sito di riferimento della
Legge Stanca
http://www.section508.gov/ Sito di riferimento della normativa sull'accessibilità degli Stati
Uniti, sezione 508 del Rehabilitation Act, estensione dell'Americans with Disabilities Act
(ADA)
http://www.opsi.gov.uk/acts/acts1995/ukpga_19950050_en_1 Sito di riferimento della
normativa sull'accessibilità del Regno Unito, Disability Discrimination Act 1995
Questo documento è rilasciato sotto la licenza Creative Commons Attribuzione–
NonCommerciale–Condividi allo stesso modo 3.0
Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/bync-sa/3.0/legalcode
Pagina 147
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
SVILUPPARE APPLICAZIONI WEB CON IL
FRAMEWORK PHP SYMFONY
Luca Saba, HAL Software, Cagliari, IT, lucasaba@gmail.com
Abstract
Lo sviluppo di applicazioni web offre diversi vantaggi rispetto allo sviluppo delle classiche
applicazioni stand-alone. Tra i maggiori vantaggi ci sono quello di non dover distribuire
aggiornamenti su tutte le macchine che utilizzano l'applicazione, l'indipendenza della piattaforma
utilizzata e la facilità di integrazione con altre applicazioni web (Twitter, Facebook, YouTube, solo
per citare le più famose).
Utilizzare un framework per lo sviluppo di applicazioni web porta ulteriori vantaggi. Se nella maggior
parte dei casi, questi vantaggi sono legati al risparmio di tempo e alla possibilità di non reinventare la
ruota ogni volta che si crea una nuova funzionalità, nel caso di Symfony si aggiungono altri diversi
importantissimi aspetti tra cui
•
la qualità della documentazione
•
un'organizzazione del codice che favorisce ottime pratiche di programmazione
•
facile estensibilità tramite plugin
•
e ancora molto altro.
In sintonia con la filosofia di Symfony dell'imparare facendo, utilizzeremo come spunto una banale
applicazione, un piccolo blog dove gli autori possono pubblicare i loro articoli e gli utenti possono
commentarli, per vedere come l'utilizzo di Symfony ci permetta di scrivere, in poco tempo, del codice
elegante, leggibile, ben organizzato, sicuro e testabile.
Per l'accesso alla base dati, Symfony permette di scegliere tra due principali O.R.M. (ObjectRelactional Mapping): Propel e Doctrine. Questi si occupano di automatizzare l'accesso alla base
dati, trasformando i record del DB in oggetti corredati dai relativi getter e setter per l'accesso ai
singoli campi. L'ORM permette anche di tener conto delle relazioni tra le tabelle della base dati,
facilitando così l'accesso ai dati collegati (ad esempio, per recuperare tutti i post di un determinato
autore). Inoltre, sia Propel che Doctrine, permettono di accedere in modo trasparente ai più comuni
gestionali di basi dati, così che lo sviluppatore non si debba minimamente occupare di questi aspetti.
Dall'interazione tra Symfony e l'ORM, vedremo come sia facile generare, all'interno dei nostri
progetti, degli scheletri di moduli che gestiscano il CRUD degli oggetti (ossia la generazione
automatica di pagine per i tipici accessi Create, Read, Update e Delete).
Molti dei moduli interni di Symfony sono dei mini-framework utilizzabili in modo indipendente dal
resto dell'ambiente (come già succede in Zend). Tra questi vi è il framework dedicato alla gestione dei
form e dei filtri. Perchè scrivere la validazione dei campi quando la maggior parte delle informazioni
sono già scritte nella definizione della base dati ? Ecco che il form framework di symfony ci permette
di non preoccuparci di questi aspetti. Abbiamo bisogno di controlli più raffinati sui dati ? Nessun
problema: basterà estendere gli oggetti a nostra disposizione nell'ambiente.
Il framework Symfony è estensibile tramite plugin. Esistono moltissimi plugin per Symfony che si
occupano dei compiti più disparati. Vedremo come l'installazione e l'utilizzo di questi plugin sia
semplice e ci dia immediato accesso a diverse funzionalità.
Pagina 148
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Per concludere, daremo uno sguardo all'ambiente di test di Symfony. La gestione dei test è stato uno
degli aspetti più centrali nello sviluppo di Symfony ma anche, troppo spesso, uno degli elementi meno
seguiti da chi programma. Con gli strumenti messi a disposizione da Symfony, diventa facile diventare
test-dipendenti. La semplicità con la quale è possibile definire l'interazione dell'utente con
l'applicazione, consente di scrivere dei test estremamente complessi ed esaustivi. Così che, quando
avvengono delle modifiche nel nostro codice, l'avvio dei test ci da una documentata informazione
sull'affidabilità del codice, facendo sì che il nostro "svn update" non sia più un'azione temeraria.
Parole Chiave: PHP, Symfony, MVC, test driven, best practice, CRUD, ORM, framework
1 PERCHÈ SVILUPPARE APPLICAZIONI WEB
Lo sviluppo di applicazioni web presenta diversi vantaggi sia per lo sviluppatore che per
l'utilizzatore finale. Uno dei vantaggi maggiori deriva dal fatto che esiste un unico posto sul
quale fare gli aggiornamenti. Nella migliore delle ipotesi, ciò può avvenire con un semplice
comando: svn update.
Le segnalazioni di difetti da parte degli utenti possono essere risolte in poco tempo senza
richiedere l'accesso ad ogni singola macchina sulla quale è installata l'applicazione.
Le applicazioni web ci consentono di eliminare (quasi del tutto) i limiti imposti dalla
particolare macchina e/o sistema operativo. Sviluppare un'applicazione che possa essere
eseguita su di un PC, un Power Book, un iPhone, un cellualre Nexus One o un iPad (ma
anche su un futuro gPad) è abbastanza semplice (avendo a disposizione un buon grafico!). Il
tutto senza rinunciare all'elasticità dell'interazione con l'utente grazie a Javascript e alle
tecnologie asincrone (AJAX).
2 PERCHÈ USARE UN FRAMEWORK
L'insieme di operazioni che accomunano la maggior parte delle applicazioni web (e anche
delle applicazioni stand-alone) formano una della parti più noiose del processo della
programmazione. Reinventare la ruota ogni volta che si sente il bisogno di scrivere
operazioni routinarie come l'accesso alla base dati o la gestione di una sessione autenticata,
non solo è un processo noioso ma anche inutilmente ripetitivo. Inoltre, avere del codice
pesantemente testato grazie al suo utilizzo da parte di diverse persone nei contesti più
disparati, dà un certo livello di affidabilità che il proprio (isolato) codice difficilmente
potrebbe dare.
Per questi motivi ricorrere ad un framework risulta una scelta molto vantaggiosa (se non
obbligata).
Pagina 149
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3 PERCHÈ USARE SYMFONY
Quando inizialmente ho deciso di usare un framework (correva l'anno 2007) per lo sviluppo
di applicazioni web basato su PHP la scelta è caduta quasi subito su Symfony per un motivo
forse poco tecnico ma per me fondamentale: la qualità della documentazione.
Avere una documentazione adeguata permette di poter sfruttare al massimo i potenti
strumenti messi a disposizione dal framework. In più, l'introduzione a Symfony è, fin dalle
prime versioni, un corso di 24 lezioni che guidano il lettore nella realizzazione di
un'applicazione vera e propria: niente di meglio che mettere le mani in pasta per invogliare
all'apprendimento.
Per vedere gli aspetti salienti di questo framework, sulla falsa riga della sua documentazione,
illustriamo una banale applicazione per la gestione di un piccolo Blog.
Cominciamo a definire una prima iterazione nello sviluppo di questa applicazione:
 un autore può inserire uno o più articoli  gli utenti possono vedere una lista di articoli inseriti dai diversi autori  gli utenti possono aggiungere commenti agli articoli La base dati per questa applicazione è definita da tre tabelle: autore, articolo e commento.
3.1
l'ORM e la connessione alla base dati
Una volta definita lo schema del database, l'ORM si occupa di generare le classi necessarie
per l'acceso alla base dati. L'ORM (Object-Relational Mapping) è uno strumento che mappa
le tabelle della base dati con la definizione di oggetti PHP. In pratica, data la nostra tabella
autore, l'ORM genererà un oggetto Autore con tutti i metodi necessari per modificare i suoi
attributi (del tipo, getNome() e setNome() ), per salvare nuovi oggetti nella base dati
Pagina 150
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
($autore->save() ), per recuperare dalla base dati singoli oggetti (AutorePeer::doSelectOne() )
o collezioni di esso e anche per recuperare collezioni di oggetti relazionati (ad esempio per
recuperare tutti gli oggetti Articolo collegati ad un determinato autore: $autore>getArticolos() ). Un ulteriore vantaggio dell'ORM è che rende l'applicazione
(potenzialmente) indipendente sistemi di gestione della base dati.
È facile personalizzare le classi generate dall'ORM in modo da modificare la logica di
funzionamento degli oggetti o da aumentarne la funzionalità. Ad esempio, definiamo un
metodo per far si che l'oggetto autore abbia una rappresentazione come valore stringa:
class Autore extends BaseAutore
{
public function __toString()
{
return $this->getNome().' '.$this->getCognome();
}
}
3.2
Il Model View Controller
Veniamo ad analizzare gli aspetti relativi alla View e al Control. Un'applicazione Symfony
contiene diversi moduli. I moduli sono un raggruppamento logico di operazioni. Possiamo
immaginare la gestione degli articoli come un modulo. In relazione alle specifiche del nostro
programma, questo modulo dovrebbe fare tre cose: inserire articoli, vedere la lista degli
articoli, permettere di commentare un articolo. Il modulo, che chiameremo articoli, contiene
un file dove vengono definite le azioni (il Controller) e una serie di file dedicate alla
visualizzazione (la View).
Vediamo come definire la logica sottesa alla visualizzazione degli articoli:
class articoliActions extends sfActions
{
public function executeLista(sfWebRequest $request)
{
$this->articoli = ArticoloPeer::doSelectJoinAll(new
Criteria());
}
}
Niente di più semplice! Vediamo ora un esempio della View:
<div id="articoli">
<?php foreach($articoli as $num => $articolo): ?>
<div class="articolo">
<div class="autore">
Pagina 151
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Scritto da <?php echo $articolo->getAutore() ?> il
<?php echo $articolo->getCreatedAt('d/m/Y') ?>
</div>
<div class="titolo"><?php echo $articolo->getTitolo() ?
></div>
<div class="testo"><?php echo $articolo->getTesto() ?
></div>
<div class="commenti">
<?php foreach($articolo->getCommentos() as $commento): ?>
<div class="commento">
<span class="data">Il
<?php echo $commento->getCreatedAt('d/m/Y') ?>
</span>
<span class="nick">
<?php echo $commento->getNickUtente() ?>
</span>
<span class="commento">
<?php echo $commento->getTesto() ?>
</span>
</div>
<?php endforeach; ?>
</div>
<div class="azione">
<?php echo link_to(
image_tag('gtk-edit.png', array('alt' => 'Comment')),
'articoli/commenta?articolo_id='.$articolo->getId());
?>
</div>
</div>
<?php endforeach; ?>
</div>
Fin qui abbiamo visto come l'ORM lavori per noi. Abbiamo anche visto la netta separazione
tra gli aspetti dell'applicazione. Vediamo un fantastico sotto-framework di Symfony: la
gestione dei form e dei filtri.
3.3
I sub-framework: form e filtri
Una delle tediose attività della programmazione delle applicazioni web è la gestione
dell'input da parte dell'utente. In Symfony questo lavoro è estremamente semplice. Possiamo
chiedere a Symfony di generare dei form relativi alle nostre tabelle. Questi oggetti form non
solo inglobano tutti i campi della tabella, ma sono già corredati delle regole di validazione
necessarie per il tipo di dato del singolo campo. Per vedere in funzione il form, aggiungiamo
due nuove azioni nel nostro controller:
//Aggiunto nella classe articoliActions
public function executeNuovo(sfWebRequest $request)
Pagina 152
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
{
}
$this->form = new ArticoloForm();
public function executeSalva(sfWebRequest $request)
{
$articolo = new Articolo($request>getParameter('articolo_id'));
$this->form = new ArticoloForm($articolo);
$this->form->bind($request->getParameter($this->form>getName()));
if($this->form->isValid())
{
$this->form->save();
$this->forward('articoli', 'lista');
}
else $this->setTemplate('nuovo');
}
Ed ecco come sarà scritta la nostra view:
<?php echo form_tag('articoli/salva') ?>
<table>
<?php echo $form ?>
</table>
<input type="submit" value="Salva" />
E come apparirà:
Vogliamo però che la data di creazione non sia impostata dall'utente ma automaticamente
impostata dal sistema. Per eliminarla dal form basta:
Pagina 153
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
class ArticoloForm extends BaseArticoloForm
{
public function configure()
{
unset($this['created_at']);
}
}
Ogni aspetto dell'oggetto form è personalizzabile. Il form utilizza diversi widget per la
rappresentazione dei dati. I widget sono automaticamente definiti in base al tipo di dato da
rappresentare (il tutto senza una riga di codice). Nel caso precedente, ad esempio, l'autore è
rappresentato da una select per via del collegamento della tabella articolo con la tabella
autore. Il framework dei form utilizza anche dei validatori che vengono lanciati sui dati
inseriti dall'utente. I validatori entrano in campo alla chiamata della funzione isValid().
Questa funzione controlla la coerenza dei valori inseriti con quelli della tabella della base
dati. Perciò, ad esempio, un campo intero, non potrà mai contenere caratteri dell'alfabeto. In
caso di presenza di errori, il framework ripresenterà il form con i relativi errori eventuali.
Ecco un esempio:
Vediamo come sia facile creare le pagine per il commento agli articoli. Aggiungiamo
l'azione:
public function executeCommenta(sfWebRequest $request)
{
$articolo = ArticoloPeer::retrieveByPk(
$request->getParameter('articolo_id')
);
$commento = new Commento();
$commento->setArticolo($articolo);
$this->form = new CommentoForm($commento);
if($request->isMethod('POST'))
{
$this->form->bind($request->getParameter($this->form>getName()));
Pagina 154
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
if($this->form->isValid())
{
$commento = $this->form->save();
$this->forward('articoli', 'lista');
}
}
}
La view per questa azione è banale come quella dell'articolo:
<?php echo form_tag('articoli/commenta') ?>
<table>
<?php echo $form ?>
</table>
<input type="submit" value="Salva" />
Il framework si occupa di tutto il resto.
3.4
I plugins
Il framework Symfony è estensibile tramite plugins. Esistono tantissimi plugin a disposizione
che permettono di aggiungere funzionalità al framework in modo semplice e veloce.
Vediamo un banale esempio. Vogliamo creare una funzione asincrona per dare il nostro
gradimento ad un articolo. Per prima cosa aggiungiamo un campo voto nella tabella articolo:
Non vogliamo dare all'autore la libertà di darsi un voto, perciò facciamo sparire il campo dal
form:
class ArticoloForm extends BaseArticoloForm
{
Pagina 155
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
}
public function configure()
{
unset($this['created_at'], $this['voto']);
}
Impostando il campo a "not null" con "default 0", il salvataggio del form inizializzerà il
valore per noi.
3.4.1
AJAX made easy - sfJqueryReloadedPlugin
A questo punto definiamo le funzioni del nostro Model per l'aumento del voto:
class Articolo extends BaseArticolo
{
public function votoSu()
{
$this->setVoto($this->getVoto() + 1);
$this->save();
}
}
Ecco la vista dell'articolo:
<?php use_helper('jQuery') ?>
..........
<div class="articolo">
<div class="voto">
<div id="voto_articolo_id_<?php echo $articolo->getId() ?>">
<?php echo $articolo->getVoto() ?>
</div>
</div>
<div class="titolo_articolo">
<?php echo $articolo->getTitolo() ?>
</div>
<div class="testo_articolo">
<?php echo $articolo->getTesto() ?>
</div>
........
<span class="valutazione">
<?php
echo jq_link_to_remote(
image_tag('vota.png', array('alt' => 'Vota')),
array(
'update' => 'voto_articolo_id_'.$articolo->getId(),,
'url'
=> 'articoli/vota?articolo_id='.$articolo-
Pagina 156
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
>getId()
)); ?>
</span>
</div>
jq_link_to remote non fa parte del framework Symfony. È però possibile scaricare il plugin
(sfJqueryReloadedPlugin) che ci permette di utilizzare questa funzione. L'inclusioni nella
pagina web finale del codice javascript necessario è gestita dal plugin stesso. A noi non
rimane che sapere come utilizzarlo. In questo caso, la funzione utilizzata non farà altro che
aggiornare l'elemento della pagina con id voto con il contenuto dell'azione vota del modulo
articoli.
Definiamo l'azione:
public function executeVota(sfWebRequest $request)
{
$articolo = ArticoloPeer::retrieveByPk(
$request->getParameter('articolo_id')
);
$this->forward404Unless(
$articolo, "L'articolo da votare non esiste"
);
$articolo->votoSu();
$this->articolo = $articolo;
}
e il contenuto da mostrare nel nostro div (nella view votaSuccess):
<?php echo $articolo->getVoto() ?>
Fatto! Una perfetta funzione AJAX senza usare una singola riga di javascript.
3.4.2
Il TCPDF di Nicola Asuni in un pluguin: sfTCPDFPlugin
Una funzione molto utile di alcuni blog è data dalla possibilità di scaricare gli articoli in
formato PDF. Nota personale: non avendolo ancora ringraziato di persona ho pensato di
citare qui Nicola per il suo impagabile contributo al mondo Open e al mio lavoro!
Per fare questo scarichiamo sia il plugin sfTCPDFPlugin che le librerie TCPDF
(http://www.tcpdf.org/). Aggiungiamo un link al PDF nella nostra vista:
<div id="articolo">
...
<div class="pdf-link">
<?php echo link_to(
image_tag('pdf.png', array('alt' => 'Scarica PDF')),
'articoli/scaricapdf?articolo_id='.$articolo->getId()
Pagina 157
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
);
?>
</div>
</div>
</div>
Definiamo quindi la nostra azione:
public function executeScaricapdf(sfWebRequest $request)
{
$articolo = ArticoloPeer::retrieveByPk(
$request->getParameter('articolo_id')
);
$this->forward404Unless(
$articolo,
"L'articolo da commentare non esiste"
);
$config = sfTCPDFPluginConfigHandler::loadConfig();
$pdf = new sfTCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true);
$pdf->SetCreator('Mio Blog');
$pdf->SetTitle($articolo->getTitolo());
$pdf->addPage();
$pdf->SetFont(PDF_FONT_NAME_MAIN, 'B');
$pdf->Write(
10,
'Articolo di '.$articolo->getAutore().
' del '.$articolo->getCreatedAt('d/m/Y'), null, 0, 'L',
true);
$pdf->Write(10, $articolo->getTitolo(), null, 0, 'L', true);
$pdf->SetFont(PDF_FONT_NAME_MAIN);
$pdf->Write(10, $articolo->getTesto());
$pdf->Output();
}
Fatto!
3.5
Backend: generazione automatizzata dell'accesso CRUD ai dati
Un'altra fantastica funzionalità del framework Symfony è la possibilità di creare in modo
automatizzato i moduli per la gestione del CRUD (Create, Read, Update, Delete) e della
ricerca degli oggetti della base dati. Con un semplice comando possiamo chiedere a Symfony
di creare un modulo per la gestione, ad esempio degli autori:
Pagina 158
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
luca@demetra:~/blog$ ./symfony propel:generate-admin \
--module="autori" fe Autore
Ed ecco il risultato:
modifica e inserimento:
Nel caso specifico, abbiamo visto delle tabelle molto semplici ma è possibile personalizzare
moltissimi aspetti dei moduli di amministrazione anche senza scrivere un riga di codice ma
semplicemente agendo sui file di configurazione.
3.6
Testing
Vediamo l'ultimo, ma decisamente non meno importante, aspetto di cui parleremo del
framework Symfony: la facilità nel creare i test. Con Symfony è possibile automatizzare
l'esecuzione dei test unitari e dei test funzionali.
I test unitari servono per controllare che ogni funzione o metodo restituisca i valori attesi. Per
fare qualche esempio, definiamo una funzione statica che, dato il titolo di un articolo, ce lo
restituisca "normalizzato". Ecco la funzione:
Pagina 159
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
class ArticoloPeer extends BaseArticoloPeer
{
static public function normalizza($testo)
{
// sostituisce tutto tranne lettere e punti con il carattere
$testo = preg_replace('/\W+/', '-', $testo);
// cancella gli spazi e converte in minuscolo
$testo = strtolower(trim($testo, '-'));
return $testo;
}
}
Questa funzione può essere utilizzata per la creazione delle url del tipo:
http://example.com/articoli/visualizza/symfony-per-lo-sviluppo-delle-applicazioni-web.
Per testare questa funzione, dovremo creare un file simile al seguente:
require_once dirname(__FILE__).'/../bootstrap/unit.php';
$t = new lime_test(4);
$t->is(ArticoloPeer::normalizza('Hal'), 'hal');
$t->is(ArticoloPeer::normalizza('Hal Software'), 'halsoftware');
$t->is(ArticoloPeer::normalizza('hal software'), 'halsoftware');
$t->is(ArticoloPeer::normalizza('hal,tecnologie informatiche'),
'hal-tecnologie-informatiche'
);
Con la riga di comando possiamo chiedere a Symfony di eseguire i test per noi e, di seguito,
vediamo l'output auspicabile:
luca@demetra:~/blog$ ./symfony test:unit nomeFile
1..4
ok 1
ok 2
ok 3
ok 4
Looks like everything went fine.
luca@demetra:~/blog$
I test funzionali, diversamente da quelli unitari, servono per testare l'applicazione nel suo
insieme. Normalmente, per testare una modifica all'applicazione, dovremmo usare il nostro
browser e provare tutte le combinazioni di azioni di un ipotetico utente. Questo processo è
decisamente prono ad errori e a dimenticanze. Per effettuare i test funzionali, Symfony mette
Pagina 160
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
a disposizione un oggetto browser. Con questo è possibile effettuare tutte le operazioni
dell'utente. Eccone un'esempio:
$browser = new sfTestFunctional(new sfBrowser());
$browser->
get('articoli/lista')->
;
with('request')->begin()->
isParameter('module', 'articoli')->
isParameter('action', 'lista')->
end()
Come per il caso precedente, con un semplice comando possiamo mandare in esecuzione tutti
i test in modo automatico. Il test funzionale ci permette di analizzare il risultato di ogni
interazione che l'utente abbia con la nostra applicazione in modo metodico e completo. È
possibile cliccare link e pulsanti. È possibile testare l'inserimento dei dati, la funzionalità dei
form. Insomma, a parte Javascript, ogni aspetto dell'interazione può essere testato.
4 CONCLUSIONI
In queste pagine abbiamo visto alcuni degli aspetti salienti di Symfony. Symfony è un
progetto in continua evoluzione (la versione 2.0 disponibile a fine 2010 segna una decisa
svolta verso nuove e più performanti soluzioni). Molti aspetti interessanti di Symfony non
sono stati neanche accennati: il routing, la configurabilità, la migrazione automatizzata delle
basi dati (Doctrine), il framework di gestione degli eventi e tanto altro ancora.
Come ogni prodotto anche Symfony ha un costo di apprendimento. Per me apprendere
Symfony ha voluto dire scrivere codice qualitativamente superiore, meglio organizzato e più
leggibile. A tutt'oggi, correggere bug è un processo estremamente veloce e aggiornare
l'applicazione nel server di produzione è sempre meno un "patema d'animo".
Invito, chiunque fosse interessato ad approfondire questi argomenti, a seguire i 24 articoli su
come creare un'applcazione completa con Symfomy e a contattarmi via mail
(lucasaba@gmail.com).
Bibliografia
Fabien Pontecier, Practical Symfony – Propel Edition http://www.symfonyproject.org/jobeet/1_4/Propel/it/
Fabien Pontecier, The Symfony Reference Book http://www.symfonyproject.org/reference/1_4/it/
Fabien Pontecier and Ryan Weaver, The More with symfony book http://www.symfonyproject.org/more-with-symfony/1_4/it/
Pagina 161
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
THE EVOLUTION OF DEFECTS AND PATCHES IN
SOURCEFORGE PROJECTS: A QUANTITATIVE
ANALYSIS
Morasca, Sandro, Università degli Studi dell'Insubria, via Carloni 11, 22100 Como
sandro.morasca@uninsubria.it
Proto, Michele, via Borgovico, 171, 22100 Como
michele.proto@gmail.com
Taibi, Davide, Università degli Studi dell'Insubria, via Carloni 11, 22100 Como
davide.taibi@uninsubria.it
Abstract
Open Source repositories are the primary resource where users look when they need to adopt new
Open Source Software (OSS). Their choice is guided by a number of factors. In this work, we focus on
two factors that are usually taken into account: the defect content of the software code and the ability
of a community to provide short-term support if problems are uncovered. Specifically, we
quantitatively analyze the evolution over time of the defect content and patches of Sourceforge
projects, to evaluate the quality of an OSS product and the ability of its community to provide shortsupport when needed. Among other results, we find out that, on average, the more a project is stable,
the more defects are uncovered, and the longer it takes to fix them.
1.
INTRODUCTION
The usage of Open Source Software (OSS) repositories has been continuously increasing in
the last few years, mostly because of the success of a number of well-known projects. This
success is due to multiple reasons, ranging from technical to financial to ethical ones.
Nonetheless, the adoption of OSS is sometimes still viewed as somewhat risky.
When facing the problem of adopting OSS, users and organizations evaluate and compare
projects by looking for several pieces of information in the repositories that host OSS
projects. Repositories are web platforms that provide hosting and specific tools to give
anyone the opportunity to share a project. Moreover, every repository gives the possibility to
download the software, monitor project activity, and easily retrieve useful information.
This work focuses on the analysis of two important factors that users closely take into
account when they need to adopt OSS: the defect content of a project and the likelihood of
receiving support in the future. So, we look at the lifetimes of defects, i.e., how they are
handled and fixed over time by a development community. We analyzed Sourceforge [23],
because of the number of projects it hosts and because it is the main repository that users look
at when they need to evaluate OSS products. Specifically, we analyzed the evolution of bugs
and patches for 135834 OSS projects over a period of six months. Among other results, we
Pagina 162
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
found that, on average, the more a project is stable, the more defects are uncovered, and the
longer it takes to fix them.
The remainder of this paper is structured as follows. In Section 2, we describe related works.
In Section 3, we concisely describe issues related to the analysis of the evolution of defects
and patches over time in OSS. In Section 4, we first present Sourceforge and then the data
that can be extracted from it that we used in this analysis. In Section 5, we show the results
we found and finally, in Section 6, we summarize our conclusions.
2.
RELATED WORKS
A few studies exist on OSS repositories, some of which we now concisely describe. One of
the initial works was carried out in 2002 [9]. The study drew conclusions from statistics on
the Sourceforge website investigating the time series of total Sourceforge downloads, the
cross sectional distribution of projects at a moment in time, and differential behavior of
segments of the cross section. Another work [10] analyzed the projects evolution over time.
Also, the OssMole project [11] provided a dataset created by crawling repositories web pages
and storing several data in a relational database. In [19] Hahsler and Koch discussed a
methodology for collecting repository data along with the possible information that can be
used for further analysis. They took into account lines of code (LOC) per project, the total
time spent on the project per developer and the development status extracted form
Sourceforge. In [18] Koch analyzed the evolution of a large sample of Sourceforge projects
by means of a linear and a quadratic model. Koch took into account the Number of
programmers, Commits, LOC and development status.
Several other studies have been carried out [12, 13, 14, 15, 16] which report quantitative
statistics on several projects. The main difference from our work and the previous one is
based on the information analyzed in OSS projects. All the previous work took into account
LOC, developers number and few other information while we based our analysis on the
information considered by the users during the OSS adoption.
The definition of the information commonly used by the users when they evaluate OSS
projects has been investigated in the last few years, and several OSS evaluation methods have
been proposed (see for instance [1, 2, 3]). In this context, in QualiPSo project [19] we have
identified [4] a common set of factors that users take into account when selecting OSS. These
factors have been obtained via a number of interviews carried out in industrial contexts, to
elicit the evaluation factors directly from industrial players. Reliability of source code and
short-term support have turned out to be among the most important factors in our analysis[4].
The factors indicated by our interviewees need to be investigated from a quantitative point of
view. As a matter of fact, extensive empirical studies on large collections of OSS are still
limited. Some studies have been carried out on the quality of OSS products and on their
related communities, mostly analyzing single projects [5, 6, 7, 8]. However, most people who
are interested in selecting and evaluating an OSS product often look into the most important
repositories to find the OSS products that best fit their needs.
In this work, we specifically focus on the evolution of defects and patches.
Pagina 163
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3.
EVOLUTION LIFETIME OF DEFECTS AND PATCHES
Here, we analyze the evolution of defects and patches over time in OSS, to study the ability
and rapidity of development communities in remove defects.
The reliability of a software product heavily depends on the defects in a software product and
the activities undertaken to correct them. In OSS communities, “bug” commonly refers to a
defect, i.e., a problem in software code that prevents it from behaving as intended. Bugs are a
consequence of the human-intensive nature of Software Engineering. For instance, they arise
from oversights made by computer programmers during design, coding and data entry. Bugs
arise from errors made along all the software development phases, from requirements
specification to coding.
Delivered closed source software contains a number of bugs that are unknown to the users
even when they may already be known to the developers. On the other hand, OSS products
often provide a list of known bugs, which can be useful to users who want to know about the
behavior and reliability of the software they are using. An OSS project often uses a bug
tracking system, which is a software application that keeps track of reported bugs and the
way they are handled. Problems due to bugs are usually identified and submitted by users.
Then, each bug report is usually assigned to a developer, who fixes it by producing a patch as
soon as possible.
Counting known bugs may be more challenging than it may look at first glance. Because
bugs are always submitted and described by users, the definition and the classification of a
bug may be somewhat subjective and unclear. Duplicate bugs may not be recognized as such.
Policies for merging bug reports, for considering (or not) reports related to previous versions,
or even for using the bug tracking system for other issues (such as feature requests) can also
blur the real number of bugs found.
The information contained in the bug tracker can also be used to assess the quality of a
software product. Specifically, one can evaluate the number and severity of bugs over time
and their removal speed. The latter is also a good indicator of the quality of support for the
product. Thus, a bug tracking system can be also used to estimate if and how well an OSS
product will be supported in the future by a community.
Several aspects related to defects and patches need to be known to analyze the effectiveness
of short-term support, since they influence the time needed to solve a bug. If a community
consistently closes bugs rapidly, we can rely on the support provided by the community itself.
The number of developers involved in the project can clearly influence the rapidity with
which defects are fixed. Also, in some cases, the removal of specific defect can be sped up by
"donations." In practice, people can pay the organization maintaining the software for solving
the problem and so the cost/benefit analysis must also consider this cost in the case of a
product with a high donation/bugs ratio.
Thus, as the results in Section 5 show, we have used the following information to study the
short-term support provided by a community:
•
The evolution of the number of bugs and patches over time
•
The number of developers
•
The productivity of developers in terms of writing patches
Pagina 164
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
•
The number of donations.
We have studied this information in Sourceforge projects from April 1, 2007 to September
29, 2007. A six month period is used in most OSS evaluation methods [1, 2, 3], as it allows
for sufficient observational time of the activities going on in an OSS project.
4.
SOURCEFORGE
After describing Sourceforge, the repository whose projects we studied (Section 4.1), we
illustrate the set of data it provides (Section 4.2).
4.1
The Analyzed Repository: Sourceforge
The majority of OSS projects are distributed via repositories. This allows users and
developers to share and download OSS code and artifacts, to collaborate with other users or
developers in a project. A repository may be a general-purpose one, or it may be dedicated to
a specific program, platform, operating system, or environment. Every repository is based on
a Content Management System platform and provides code versioning tools (e.g., CVS,
Subversion), communication tools (mailing list archives, forums and wikis), and bug tracking
tools (e.g., Bugzilla, Mantis…) to enable collaborative software development:
Some of the most important OSS repositories are: Apache Software Foundation[21],
Codeplex [22], Codehaus[23], Objectweb[24], Rubyforge [25], Savannah[26], and
Sourceforge[20].
Sourceforge is the world's largest OSS repository, with the largest repository of OSS code
and applications available on the Internet. In October 2007, Sourceforge comprised 135834
projects. Sourceforge is owned by OSTG Inc. and provides free services to Open Source
developers. For each project, Sourceforge collects and displays some useful details, such as:
•
Project administrators
•
Number of developers
•
Intended audience (e.g., developers, end users)
•
Licenses
•
Supported Operating System
•
Programming language
•
Registration date
•
Last week activity percentile
•
Development status (from less to more advanced: prealpha, alpha, beta, stable,
mature)
In addition to hosting the source code of OSS projects, Sourceforge provides free of charge
tools for running such projects, including:
•
Bug tracking system
•
Technical support tracking system
Pagina 165
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
•
Patch tracking system
•
Feature request tracking system
•
Public forums
•
Mailing lists
•
CVS repository.
These tools allow potential developers and end users to retrieve interesting information when
looking for projects that meet specified quality criteria. One of the most interesting pieces of
information is the development status, even though it is not computed algorithmically, but
assessed by the project administrator.
The bug tracking system used in Sourceforge keeps track of all the bugs reported by an OSS
project’s users. A new bug is initially classified as “Unconfirmed,” and it needs to be
confirmed by a project manager or a developer who checks if it is really a bug, thus avoiding
duplications and the assigns the bug to a developer.
The severity of a bug is indicated with a numerical value (from 1 to 9) which we can interpret
as follows:
•
Very important (priority 8-9): critical bugs, e.g., crashes and data losses;
•
High priority (priority 6-7): operational bugs, e.g., a web browser that will only show
text, but not images;
•
Normal (priority 5): some parts of the project are not working the way they should,
e.g., a text editor in which the “paste” functionality does not work;
•
Low priority (priority 3-4): minor bugs and things that can be worked around with
macros or third parties utilities;
•
Not important (level 1-2): cosmetic bugs, default preferences.
A bug is submitted at the median default priority of 5 out of 9. It is examined, it may be
assigned a new priority level, and it is given to a developer to be fixed.
Confirmed bugs can be in two states: Open or Closed. All confirmed bugs are set as Open,
i.e., they are acknowledged as problems that need to be solved. Usually, a bug is closed when
a patch is committed to the CVS by a developer or when a new version is released, but
sometimes bugs are closed for other reasons than being fixed like duplications or invalidity
(sometimes the bug report is simply wrong).
4.2
The Sourceforge Research Data Archive
The project analysis was carried out by using Sourceforge Research Data Archive (SRDA)
[14]: a snapshot of the status of all the projects that Sourceforge shares with the University of
Notre Dame. The SRDA stores all data in a relational database allowing only registered users
to query the database. Starting from some example queries, we have built a set of SQL
queries aimed at extracting the information related to the product quality and the likelihood of
support in the future. A problem we faced with the SRDA is related to the query interface.
SRDA can be queried only via a web form without the possibility to integrate the information
extraction procedures in any external tool or to create any kind of automated procedures.
Pagina 166
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
5
RESULTS
We first provide some distributions about defects and then we study the factors related to the
support provided by development communities in Sourceforge.
Table 1 shows the distribution of bugs divided by priority for each development status, which
is also represented in Fig. 2. for graphical convenience. Note that the number of bugs in 4is
represented with a logarithmic scale, to conveniently represent the number of bugs at all
priority levels. Using a linear scale would have resulted in priority 5 bugs dwarfing all other
priority levels. However, using a logarithmic scale also implies that comparisons between
bars in the Fig. are clearly distorted with respect to a linear scale.
First, we see an inconsistency in the way the priority level is used because 42 bugs were
classified with priority 10, which should not be allowed in the 1 - 9 predefined range. This
was probably due to a clerical mistake during the bug priority assignment process (all of
these bugs belong to the “Open Visual Viewer'' project). We do not take these priority 10
bugs into account in our analysis.
We now provide an in-depth analysis of priority 5 and priority 9 bugs. Priority 5 bugs are the
vast majority of bugs, i.e., the vast majority of bugs is not modified from the default priority
5 level. Priority 9 bugs are the most critical bugs, so they deserve special attention.
Analyzing priority 5 bugs, the total number of bugs increases with the development status of
projects from prealpha to stable, but there is a sharp drop in the number of bugs from stable
to mature projects (Fig. 2.4). This behavior is consistent across all bug priority levels.
Taking into account the average number of bugs per project, instead of the total number of
bugs, the situation changes dramatically for mature projects, as shown in Table 1.The average
number of bugs per project increases with the development status, including mature projects,
which have by far the highest number of bugs per project. Table 2 (which summarizes a
number of results of this study) shows that the average number of bugs per project are as
follows: prealpha 2.49, alpha 4.20, beta 6.98, stable 13.67, mature 25.76.
5
Average number of bugs per project.
Pagina 167
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Table 1. The Sourceforge Bug Distribution
DEV. P 1
P. 2
P. 3
P. 4
P. 5
P. 6
P. 7
P. 8
P. 9
P. 10
PREALPHA
2058
884
1856
729
47146
1239
2743
1464
2726
42
ALPHA
3689
2907
3458
1330
85588
2092
4445
2235
3920
BETA
7365
3254
7192
2807
188902
5153
9758
4768
9454
STABLE
13872
5076
10799
4479
297895
7592
14573
6977
12812
MATURE
2033
2585
2036
938
50137
1174
2078
1123
1567
TOTAL
29017
14706
25341
10283
669668
17250
33597
16567
30479
STATUS
42
Table 2. Analysis summary.
DEV.
BUGS
BUGS
PROJ.
DAYS
DEV.
DEVELOPE
PROJEC
PER
PER
PER
BUGS
STATUS
RS
TS
WITH
PER
PROJEC
PROJEC
DEVELO
DONATIO
BUG
T
T
PER
NS
PREALPHA
48735
24367
60887
2.00
2.49
1.25
120.70
2406
ALPHA
53364
26052
109664
2.05
4.20
2.06
87.43
2764
BETA
76785
34167
238653
2.25
6.98
3.11
94.25
4708
STABLE
71676
27354
374075
2.62
13.67
5.22
96.09
4946
MATURE
7732
2471
63671
3.13
25.76
8.23
147.74
386
6
The distribution of bugs per priority and development status.
Pagina 168
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
5.1 Bugs and Patches over Time
The diagrams in Figs. 3 and 4 show the average number of bugs per week for each
development status, from prealpha to mature. The number of priority 9 bugs per week shows
a high variability across the 6 month period we studied, as shown in Fig. 4. The same
behavior can be found at all other priority levels (which we do not explicitly show here for
space reasons), except priority 5 bugs, as shown in Fig. 3. 4Also, in each diagram, the curves
representing the number of bugs per week at different maturity levels often intersect each
other (see Fig. 4 for priority 5 bugs). However, the behavior of the number of bugs per week
at priority level 5 is clearer (see Fig. 3.), probably also because priority 5 contains the highest
number of bugs in each development status, which makes casual fluctuations less likely to
make the curves of bugs per week intersect.
In Fig. 54, we represent the average time needed to solve bugs at each priority level and for
each development status. There might be a somewhat decreasing trend of the average bug
fixing time when the bug priority level increases, but that does not appear to be true for all
development statuses, so the trend (if present) is not clear. Taking into account the priority 5
level, we find out that developers solve bugs faster in alpha projects (82 days) followed by
stable (89 days), beta (93 days), mature (100 days) and prealpha (116 days) projects.
Unexpectedly, in the majority of priority levels (and, notably, for the most critical bug
priority levels), mature projects are those which take the longest average time to solve a bug
while stable projects are always faster than mature ones in all priority levels. Fig. 54, which
shows the average bug solving time by development status, across all priority levels,
confirms that mature projects on average take longer than all other projects in fixing a bug.
As TABLE II 4shows, mature projects take an average of 147.74 days to fix a bug, while
stable project an average of 96.09 days.
Next, we analyzed the distribution of the patches to check the ability of development
communities to solve a bug. The analysis of patches is closely related to the analysis of bugs,
except that it is related to fixed bugs instead of open ones. Like for bugs, the vast majority of
patches are classified at priority 5. The number of average weekly patches per project for
each development status (for instance, as shown in Fig. 3 for priority 5 patches) closely
mirrors the number of weekly bugs per project for each development status (for instance, see
Fig. 4 for priority 5 bugs). The only difference between patches per project and bugs per
project lies in the absolute values: the number of patches per week is roughly one-third the
number of bugs. This can be explained because most of times developers release cumulative
patches that solve more than one bug.
Pagina 169
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
7
Average weekly number of priority 5 bugs per project, for each development status.
8
Average weekly number of priority 9 bugs per project, for each development status.
9
Average bug solving time per priority and development status.
Pagina 170
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
5.2 Developers and Their Productivity
We now take into account the number of developers. For each project, the number of
developers has been computed by counting the single developers to whom bugs were
assigned. The number of developers and the number of projects at each development status
(0) increase from the prealpha development status up to the beta development status. Both
numbers are slightly smaller for stable projects than beta ones. However, both numbers are
dramatically lower for mature projects than for stable projects. As Fig. 7 shows, the average
number of developers per project increases with the development status, from 2 developers
per prealpha project to 3.13 developers per mature project. The trend is consistent with the
increasing trend of the number of bugs per project, even though nowhere nearly as steep.
This trend is also consistent with the trend of the average time needed to solve a bug across
development statuses: the more stable a project is, the more time is required to fix bugs, on
average. This result seems to contradict what happens with the average time needed to fix a
bug in mature projects, as bugs in mature projects take longer to be solved than in stable ones
(Fig. 5). One would expect that the higher the number of developers assigned to a project, the
lower the time needed to fix a bug, on average. However, this may be explained by looking at
the number of bugs assigned to each developer at each development status (see Fig. 84).
Specifically, as detailed in Table 2, the number of bugs per developer range between 1.25 for
prealpha projects to 8.23 for mature projects. By comparing stable and mature projects,
developers in mature projects solve about 60% more bugs than developers in stable projects
while developers in mature projects take approximately 12% longer than developers in stable
projects.
5.3 Donations
Considering donations, the SRDA does not include any information related to the number and
amount of donations received per project. We can only check if a project has already received
one or more donation. At each priority level, there are a stable number of project which
received donations with some slight variations (Fig. 94). What we find out is that the
percentage of projects that received donations follow the same trend as the number of
projects, growing from 10% in prealpha projects to 18% in stable projects and then falling
back to 15% in mature projects (Fig. 104).
6.
CONCLUSIONS
Here, we summarize are a few findings of our analysis of Sourceforge projects.
The analysis immediately shows a problem in Sourceforge bug tracking system because, by
default, it assign each bugs a priority level 5 on a 1 to 9 priority range from. The consequence
is that priority 5 level contains the 79% of bugs and the other priority levels much less
relevant. This highly concentrated distribution shows the need for changing the priority
assignment mechanism.
The total number of bugs grows with the development status, except for a sharp drop from
stable to mature projects. Taking into account the number of bugs per project, the situation
somewhat changes, with a positive trend as development status increases and with a peak for
mature projects, which contain the highest number of bugs per project.
Pagina 171
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Unexpectedly, the time taken to solve a bug also increases with the project development
status and thus peaks in mature projects. We must also take into account that in mature
project there is the highest number of developers per project. The highest time taken to solve
a bug in mature projects is due to the higher number of bugs assigned per developer. In
mature projects, developers have to solve 60% bugs more than in stable projects.
We also fond out that in Sourceforge donations can speed up the development: 14% of
projects received donations.
Considering the number of bugs and the time taken to solve bugs, we can conclude that in
average, in Sourceforge, stable projects are more reliable than mature ones because they
contains fewer bugs than mature and solve bugs faster. Finally, users need to be aware that
stable projects are also those with the highest number of donations per project.
Pagina 172
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
10
12
14
Developers vs projects, per development status.
11
Developers vs bugs, per development status.
Projects who received donations, per development status.
13
15
Average number of developers per project, per
development status.
Average number of bugs per developer, per
development status.
Percentage of projects that received donations, per
development status.
ACKNOWLEDGMENT
The research presented in this paper has been partially funded by the IST project “QualiPSo,"
sponsored by the EU in the 6th FP (IST-034763); the FIRB project ARTDECO, sponsored by
the Italian Ministry of Education and University; and the project “La qualità nello sviluppo
software,” sponsored by the Università degli Studi dell’Insubria.
We would like to thank Notre Dame University, to which we are deeply indebted for
allowing us to use the SRDA.
Pagina 173
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
REFERENCES
5. O’Reilly CodeZoo SpikeSource, “Business Readiness Rating for Open Source – A Proposed Open
Standard to Facilitate Assessment and Adoption of Open Source Software” www.openbrr.org”
August 2005.
6. Navica “Open source maturity model” www.navicasoft.com
7. D. Taibi, L.Lavazza, and S. Morasca. OpenBQR: a frame work for the assessment of oss.” in IFIP
International Federation for information processing, volume 234, Open Source Development,
Adoption and Innovation. Springer. Pages 173–186, 2007.
8. L. Lavazza S. Morasca D. Taibi V. del Bianco, M. Chinosi. How european software industry
perceives OSS trustworthiness and what are the specific criteria to establish trust in OSS.
9. Mockus, A., Fielding, R. and Herbsleb, January 2000. A case study of OS software development:
the Apache server. Proceedings of the 22nd International Conference on Software Engineering ,
May 2000, Limerick, IRL, pp 263-272.
10. Stamelos, I., Angelis, L., Oikonomou, A., Bleris, G.L., ‘Code Quality Analysis in Open-Source
Software Devel-opment’, Information Systems Journal, 2nd Special Issue on OS Software, 12(1),
January 2002, pp. 43-60.
11. Koch, S. and Schneider, G. (2000). "Results from software engineering research into OS
development projects using public data." available online at http://opensource.mit.edu/papers/kochossoftwareengineering.pdf
12. Mockus, R.T. Fielding, J.D. Herbsleb, 2002: “Two Case Studies of Open Source Development:
Apache and Mozilla”. ACM Transactions on Software Engineering and Methodology Vol.11, No.
3, 2002, 309-346.
13. F. Hunt, P. Johnson. On the Pareto distribution. of Sourceforge projects.”. In Open Source
Software. Development Workshop, University of Newcastle, Feb. 2002
14. A.Capiluppi, P.Lago, M.Morisio. Characteristics of Open Source Projects. Proceedings of the
Seventh European Conference On Software Maintenance And Reengineering (CSMR’03)
15. Ossmole, “Ossmole: a project to provide academic access to data and analyses of open source
projects,” 2004. [Online]. Available online at http://ossmole.sourceforge.net
16. Dawid, Weiss (2005). Quantitative Analysis of Open Source Projects on SourceForge. Proceedings
od the First International Conference on Open Source Systems (OSS 2005), Genova, Italy.
17. Gregorio Robles, Jesus M. Gonzalez-Barahona, Geographic location of developers at SourceForge,
Proceedings of the 2006 international workshop on Mining software repositories, May 22-23, 2006,
Shanghai, China
18. Mircea Lungu , Tudor Girba, A small observatory for super-repositories, Ninth international
workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint
meeting, September 03-04, 2007, Dubrovnik, Croatia
19. Jennifer Bevan , E. James Whitehead, Jr. , Sunghun Kim , Michael Godfrey, Facilitating software
evolution research with kenyon, ACM SIGSOFT Software Engineering Notes, v.30 n.5, September
2005
20. Huzefa Kagdi , Michael L. Collard , Jonathan I. Maletic, A survey and taxonomy of approaches for
mining software repositories in the context of software evolution, Journal of Software Maintenance
and Evolution: Research and Practice, v.19 n.2, p.77-131, March 2007
Pagina 174
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
21. Sandeep Krishnamurthy. Cave or community? an empirical examination of 100 mature open source
projects. First Monday, 7(6), 2002
22. S. Koch. Evolution of Open Source Software Systems–A Large-Scale Investigation. Proceedings of
the 1st International Conference on Open Source Systems, Genova, Italy, July, 2005.
23. M. Hahsler and S. Koch. Discussion of a Large-Scale Open Source Data Collection Methodology.
System Sciences, 2005. HICSS‚2005. Proceedings of the 38th Annual Hawaii International
Conference on, page 197b, 2005.
24. QSOS www.qsos.org
25. https://zerlot.cse.nd.edu/
26. QualiPSo: www.qualipso.eu
27. Sourceforge: www.sourceforge.net
28. Apache Software Foundation: www.apache.org
29. Codeplex: www.codeplex.com
30. Codehaus: www.codehaus.org
31. Objectweb: www.objectweb.org
32. Rubyforge: www.rubyforge.org
33. Savannah: http://www.savannah.gnu.org
Pagina 175
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
LA STRUTTURA DELLE RELAZIONI NEI PROGETTI DI
SOFTWARE LIBERO: UN’ANALISI COMPARATA
Daniele Bertagnolli, Libera Università di Bolzano – rayzxiii@alice.it
Fabio Fonti, Libera Università di Bolzano – fabio.fonti@unibz.it
Alessandro Narduzzo, Libera Università di Bolzano – narduz@unibz.it
Abstract
I progetti Free/Libre Open Source Software (FLOSS) negli ultimi anni hanno avuto forte
crescita e larga diffusione presso utenti, sviluppatori, aziende e Pubbliche Amministrazioni e
sono spesso presentati come un modello innovativo per lo sviluppo di nuovi prodotti.
Questo studio analizza tre progetti FLOSS, specificatamente distribuzioni del sistema
operativo GNU/Linux, ed esamina lo sviluppo delle comunità virtuali che animano tali
progetti. Vengono messi a confronto un progetto che, dopo un periodo di iniziale sviluppo ha
avuto fine, con altri due che invece hanno continuano a prosperare. Partendo da una
comparazione delle caratteristiche specifiche dei tre progetti, lo studio si concentra sulle
relazioni che si formano nelle comunità degli sviluppatori e degli utenti, analizzate
attraverso la Social Network Analysis (SNA) della struttura delle relazioni emergente dalle
rispettive mailing list.
I risultati mostrano che le comunità che animano i tre progetti presentano strutture di
relazioni distinte. I progetti che sopravvivono hanno comunità con un grado di centralità
sistematicamente inferiore rispetto alle comunità dei progetti che sono morti e sono
caratterizzati dalla presenza di almeno una sottocomunità che tende a comunicare più
intensamente, ma non esclusivamente con se stessa.
Parole Chiave: GNU/Linux, sopravvivenza progetti FLOSS, struttura relazioni, Social
Network Analysis.
1 INTRODUZIONE
I progetti FLOSS sono progetti di sviluppo software libero che prendono forma dalla volontà
di determinati individui di iniziare a sviluppare un software per soddisfare un proprio
bisogno. Il codice sorgente del software viene poi reso disponibile dall’iniziatore del progetto
Pagina 176
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
a chiunque voglia utilizzarlo e modificarlo, secondo un sistema di diritti definiti dal tipo di
licenza adottata.
L’indiscutibile diffusione del software libero ha indotto molti studiosi ad indagare sulle
specificità di questo fenomeno. Ad esempio, un aspetto che ha trovato molta attenzione nella
letteratura è l’analisi delle ragioni che inducono le persone a partecipare su base volontaria a
tali progetti. Questi studi hanno individuato un’eterogeneità nelle motivazioni che spingono a
parteciparvi, rilevando sia motivazioni intrinseche (volontà di partecipare al progetto,
altruismo, sfide che il progetto può offrire, senso di appartenenza ad un gruppo, ecc.) che
motivazioni estrinseche (reputazione o ritorno economico) [1]. Non altrettanta attenzione è
stata invece posta ai driver che spingono l’evoluzione di questi progetti. In tal senso, una
domanda che resta ancora aperta è quali siano i fattori che contribuiscono al successo di un
progetto FLOSS. In questo studio, cerchiamo di dare una risposta a questa domanda mettendo
a confronto tre progetti FLOSS simili dal punto di vista del sistema sviluppato (una
distribuzione GNU/Linux). Due progetti, Ubuntu e CentOS, sono sopravvissuti, mentre
WBEL, dopo una fase di sviluppo iniziale ha smesso di essere attivo e non è più stato
sviluppato. Nel confrontare i due progetti attivi con il progetto inattivo, il nostro scopo è di
individuare se esistono elementi distintivi che vadano oltre la natura del progetto stesso
(quindi la scelta di comparare progetti di natura simile) e che spiegare il destino avuto dal
progetto.
In un sistema competitivo, il successo di un prodotto viene ricondotto alla sua superiorità
rispetto a prodotti concorrenti. Per analogia, si potrebbe sostenere che la diffusione di un
progetto FLOSS dipenda dall’utilità del sistema sviluppato o dalle caratteristiche specifiche
rispetto a sistemi simili. In questo caso, però, a noi interessa andare oltre a questa possibile
causa di eterogeneità e capire se esistano altri elementi legati al progetto che ne condizionino
l’evoluzione: per tale ragione, abbiamo scelto di analizzare tre progetti che riguardano lo
sviluppo di sistemi simili. A questo punto, la ricerca delle ragioni per cui i progetti esaminati
prosperino o scompaiano chiama direttamente in causa le natura delle comunità che
partecipano al loro sviluppo. Analisi empiriche sui progetti di software libero hanno mostrato
come la loro sopravvivenza dipenda dalle capacità di coinvolgere e motivare coloro che
partecipano al progetto [2], ossia gli sviluppatori liberi (che sviluppano il codice sorgente,
implementano nuove funzioni, preparano traduzioni, documentazione, ecc.) e gli utenti (che
utilizzano il software scoprendone bug, dando suggerimenti, ecc.).
In tal senso, in questo studio la nostra analisi si focalizza sulla struttura delle relazioni che si
stabiliscono tra i membri delle comunità legate ad un progetto. Queste relazioni sono
osservate attraverso i flussi di comunicazione che avvengono nei gruppi di discussione a cui
partecipano sviluppatori e utenti. Altri studi hanno già evidenziato l’importanza della
dimensione relazionale nelle comunità che sviluppano software libero. Partecipando a una
comunità le persone condividono conoscenza, possono prendere decisioni riguardo allo
sviluppo futuro del sistema software e le caratteristiche da inserire nelle nuove versioni, ed
aiutano (o sono aiutatati da) altri a risolvere problemi nell’uso del sistema. Alcuni autori si
sono soffermati sull’analisi delle relazioni all’interno della comunità di un progetto FLOSS
per comprendere la struttura di governo [4]. Per esempio, O'Mahony e Ferraro [4] e Torala ed
i suoi colleghi [5] hanno analizzato i ruoli informali ricoperti dai membri delle comunità e
hanno stabilito una relazione tra il successo di un progetto FLOSS, la capacità di creare un
prodotto di alta qualità, l’intensità di partecipazione dei membri alla comunità e la capacità di
attrarre nuovi membri. Dahlander [3] invece ha utilizzato l’analisi delle reti di relazioni per
comprendere come le comunità che animano i progetti di software libero riescano ad
Pagina 177
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
appropriarsi di capacità (expertise) esterne alla comunità stessa ed ha trovato che è
determinante la presenza e l’attività di sviluppatori sponsorizzati, capaci di influenzare la
partecipazione degli altri membri.
2 METODO
In questo studio empirico sui progetti di software libero l’unità di osservazione è costituita
dalle comunità di sviluppatori e di utenti che animano il progetto. Il metodo scelto per
studiare queste comunità è la Social Network Analysis (SNA) [6], ovvero quella disciplina
che studia le relazioni sociali che intercorrono tra le persone che partecipano ad un network
(o comunità). In ciascuna comunità abbiamo analizzato il network di comunicazione che
emerge da ogni mailing list (di utenti e di sviluppatori) associata al progetto. In tal senso, le
relazioni tra i membri della comunità vengono definite dagli scambi di email che avvengono
tra loro via la mailing list. Quindi, abbiamo utilizzato la SNA per capire la struttura delle
relazioni che si instaurano tra i membri di una comunità, i modi in cui essi si aggregano e la
formazione di gruppi di persone che interagiscono più intensamente tra di loro. Lo scopo di
quest’analisi è di cercare di evidenziare differenze nella struttura relazionale dei progetti
attivi e di quelli dismessi.
Le comunità prese in esame e le relazioni sociali che si stabiliscono al loro interno (via le
mailing list) sono completamente informali ossia si realizzano per volontà delle persone, e
non sono determinate nè in modo casuale, né seguono una struttura gerarchica prestabilita.
Infatti, su ogni mailing list tutti i messaggi arrivano a tutti gli iscritti, che sono liberi di
rispondere o no. Le analisi condotte sulla struttura delle comunità si focalizzano su due
aspetti fondamentali:

Indici di struttura (smallworldliness index e analisi di centralità): un importante
riferimento per mettere in evidenza alcune proprietà strutturali delle relazioni sociali
interne alle comunità è dato dallo smallworldliness index, ossia dal grado in cui tali
strutture si avvicinino ad uno small world [8] e dalla centralità, ovvero l’analisi
dell’importanza delle persone all’interno della comunità, studiando il modo in cui le
relazioni sociali si concertano da o verso altre persone [6];

Analisi dei gruppi informali (via blockmodeling [3], core\periphery [9] ed
homophily). All’interno di ogni struttura sociale abbiamo usato la tecnica del
blockmodeling per evidenziare gruppi di persone che, grazie al loro modo di
comunicare formano, di fatto, dei gruppi informali all’interno della comunità. Tali
gruppi svolgono un ruolo comunicativo, più o meno intenso, a seconda delle relazioni
che intercorrono tra i membri identificati. La presenza di gruppi emersi solo grazie
alla comunicazione tra le persone e non grazie all’imposizione gerarchica o derivante
da una struttura formale, consente di capire come queste persone si rapportino tra
loro e forniscano i propri contributi al progetto. Questi fattori relazionali consentono
inoltre di fare delle ipotesi riguardo alle caratteristiche proprie delle due comunità
(utenti e sviluppatori) ed ai diversi comportamenti che emergono al loro interno, che
poi influenzeranno la buona o cattiva riuscita del progetto in cui tali individui fanno
convergere i loro sforzi. Ancora, studiano lo scambio dei messaggi che mettono in
relazione i membri della comunità, è possibile identificare la presenza di sottogruppi,
dominanti o periferici (analisi cosiddetta core\periphery). Attraverso quest’analisi e
prendendo in esame le relazioni tra i diversi sottogruppi è possibile individuare le
Pagina 178
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
persone che hanno un ruolo chiave nella vista dell’intera comunità, essendo nella
posizione di poterla animare e influenzare. Infine, tramite la tecnica di homophily, si
analizza in che misura le persone siano più o meno aperte alla comunicazione con
altri membri. A tal scopo, inizialmente vengono contate le relazioni che fanno capo a
ciascun membro della comunità (ossia, il numero messaggi inviati e ricevuti da ogni
individuo); successivamente, si studiano le relazioni in entrata ed in uscita che si
stabiliscono tra i gruppi informali precedentemente individuati per mezzo dell’analisi
di blockmodeling.
Al fine di ottenere la piena comparabilità dei casi in esame, è stata fatta una prima selezione
dei casi in funzione del livello di attività (active e dead), della loro discendenza (forking) e
della disponibilità di informazioni (mailing list ancora esistenti, presenza della home page,
iso scaricabili, ecc.). In letteratura esistono diversi modi di definire il “successo” di un
progetto FLOSS. Ad esempio, English & Schweik [10] e Wiggins & Crowston [11] lo
equiparano al livello di attività che il progetto FLOSS ha al momento attuale della sua vita,
ed identificano sei situazioni distinte, caratterizzate da fattori quali il numero di release che
sono state rilasciate ed il tempo passato tra ogni release, il numero di download e l’iscrizione
delle release nel sistema di SourceForge. Nel nostro caso, per differenziare tra progetti active
e dead, ci basiamo sul sito www.distrowatch.com, una delle maggiori risorse di riferimento
per la comunità GNU/Linux per quanto riguarda le varie distribuzioni, secondo la cui logica,
un progetto FLOSS è active se se ha rilasciato negli ultimi 6-12 mesi una release (oppure ha
dichiarato una data indicativa per la prossima release) oppure, osservando i progetti listati, se
il suo sviluppo non è stato dichiarato cessato o di fatto le sue mailing list continuano ad
essere popolate da messaggi (quindi relazioni sociali) ma non vengono rilasciate nuove
versioni. Tutti gli altri progetti sono da considerarsi di fatto dead.
3 I CASI
I progetti FLOSS presi in esame in questo studio sono tre distribuzioni del sistema operativo
GNU/Linux. Ai fini di una valida comparazione, abbiamo scelto due progetti attivi, Ubuntu
e CentOS, ed uno dismesso, White Box Enterprise Linux. Osservando i dati in Tabella 1, i
tre progetti possono essere messi a confronto rispetto ai seguenti elementi:
 Ciclo di release
, ovvero ogni quanto tempo viene rilasciata una versione stabile dell’OS, e quanto i rilasci sono condizionati da un progetto progenitore (Debian e Red Hat);
 Messaggi , ovvero il numero di messaggi scambiati attraverso le mailing list dei due set di attori presenti in ogni comunità, ossia utenti e sviluppatori;
 Nascita del progetto , ovvero i driver della nascita del progetto, che sono principalmente due:
 Community­driven, se l’iniziativa è nata da una comunità di utenti o sviluppatori;
 Firm­driven, se l’iniziativa è nata dalla volontà imprenditoriale o di un’impresa.
In entrambi i casi, considerate le caratteristiche dei FLOSS la presenza di comunità di utenti e sviluppatori è comunque necessaria per la sopravvivenza del progetto stesso, nonostante gli utenti possano donare risorse al progetto o gli stessi possano attirare degli sponsor;
 Struttura gerarchica ,ovvero la presenza o meno di sottogruppi di lavoro responsabili dello sviluppo di parti specifiche del sistema. Alcuni progetti sono coordinati da più persone (o gruppi), mentre altri sono gestiti da una singola persona;
Pagina 179
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari


Motivazione , ossia se i progetti dichiarano esplicitamente le forme in cui gli utenti e sviluppatori possono dare il loro contributo al progetto, in termini di denaro, piattaforme informatiche (server), codice sorgente, pubblicità al progetto, ecc. In alcuni casi i project leader (ad esempio, in WBEL) disincentivano ogni forma di partecipazione allo sviluppo del prodotto cercando di sopravvivere unicamente tramite le economie di rete derivanti dalla “copia” delle release del progenitore RHEL, fatto che può incidere sulla propensione delle persone a partecipare;
Supporto , ossia se i progetti forniscono un supporto al proprio prodotto anche dopo il rilascio di una release superiore. Tale supporto si traduce in patches, aggiornamenti di sicurezza, correzione di bugs, ecc.
4 RISULTATI
Le analisi svolte mettendo in relazione il livello di partecipazione dei membri delle comunità
(Figura 1 e 2: in verde gli sviluppatori, in rosso gli utenti) con le politiche di rilascio rivelano
alcuni elementi ricorrenti. Si osservi l’andamento della partecipazione nei progetti attivi e in
quelli inattivi. In WBEL e Ubuntu, osservando i primi momenti di vita delle comunità di
utenti e sviluppatori, si nota un picco di partecipanti fin da subito (una sorta di boom), mentre
in CentOS si registra un’adesione e una crescita lenta nella partecipazione, nonostante i
progetti basati su RHEL (WBEL e CentOS) abbiano avuto a disposizione le stesse release del
progenitore su cui lavorare. Come detto in precedenza, i cicli di rilascio di nuove versioni da
parte dei progetti sono diversi, ma esiste un fattore accomunante ovvero il fatto che a seguito
del rilascio di una nuova release si presenti un picco nel numero di persone attive all’interno
delle rispettive comunità. Questi picchi localizzati di utenze sono evidenziati intrecciando le
date di rilascio delle nuove release dei progetti (righe blu verticali, più marcate per una major
release e meno marcate per una minor release) con la curva del numero di soggetti attivi. I
picchi di partecipazione che sembrano caratterizzare le comunità attive sono caratterizzati, in
Figura 1, dai cerchi gialli e rossi (a seconda che l’aumento di partecipazione caratterizzi solo
la comunità degli sviluppatori o anche quella degli utenti). Le comunità sviluppatori
sembrano meno inclini a fluttuazioni nel numero di partecipanti attivi anche a seguito di
nuove release (anche se ne subiscono comunque un certo effetto), mentre le comunità utenti
risultano molto più condizionate da questo elemento. Come si può vedere dalle Figure 1 e 2, i
picchi si verificano ad ogni rilascio, sia minor che major (anche se in entità diverse), segno
che dimostra come le nuove versioni siano in grado di attirare e sollecitare la comunicazione
delle persone all’interno delle rispettive comunità.
La struttura di ogni comunità (utenti e sviluppatori) è stata analizzata con gli strumenti della
SNA. In particolare, abbiamo analizzato lo smallworldliness index, dopo aver verificato
l’esistenza di una power-law (ovvero di poche persone con molte relazioni e molte persone
con poche relazioni)85. In tutti i progetti, i valori dello smallworldliness index sono maggiori
nelle comunità utenti rispetto alle relative comunità sviluppatori, il che denota che la
tendenza degli sviluppatori a lavorare da soli (clustering basso) ed a instaurare relazioni
principalmente con coloro che sono preposti alla modifica del codice. La natura di small
world delle comunità analizzate, sia nei progetti attivi che in quello fallito, indica la presenza
di un numero elevato di persone con poche relazioni sociali e di alcuni membri con molte
relazioni. Si osserva una forma di preferential attachment (ovvero quando le persone tendono
85
Fa eccezione il progetto Lineox, per l’esiguo numero di membri delle comunità.
Pagina 180
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
a creare principalmente una relazione con membri della comunità che sono integrati bene nel
tessuto sociale, quindi hanno molte relazioni) ed una crescita [7]: esistono quindi alcuni
individui (hubs) molto importanti, che con la loro partecipazione tengono insieme la
comunità e sono in grado di accumulare, ma anche di condividere la conoscenza con coloro
che gli gravitano intorno. Utilizzando le mailing list come base dati per le analisi, questo
fenomeno risulta attenuato perché il preferential attachment si manifesta quando un hub
decide di comunicare con gli altri membri della comunità (tramite un messaggio email) e non
viceversa (come osservato in comunità dove la struttura sociale è visibile od esistono
organigrammi visibili).
È stata poi effettuata l’analisi della centralità in tutte le comunità al fine di valutare quanto
ognuna di esse diverge dalla situazione di massima centralizzazione (il cosiddetto star graph,
dove esiste un membro al centro del network che è connesso a tutti gli altri membri, a loro
volta disconnessi tra loro). Le comunità utenti (sia nei progetti attivi che in quelli morti)
risultano più decentralizzate rispetto a quelle sviluppatori, ma tutti i progetti sembrano avere
una tendenza all’essere dominate dalla presenza di sottogruppi di utenti e/o sviluppatori,
molto attivi nella condivisione della conoscenza rispetto all’intera “massa” di partecipanti,
denotando complessivamente apertura alle relazioni sociali ed alla comunicazione. Questi
gruppi possono considerarsi open-elites, ovvero gruppi di persone che sono propensi alla
comunicazione con membri di altri gruppi. Inoltre, la centralità è molto più elevata in
ciascuna comunità del progetto inattivo rispetto ai due progetti attivi e alle relative comunità.
Si può quindi pensare che una struttura che tende allo star graph, ossia con network
centralization molto elevata, oltre il 20% circa per gli utenti ed oltre il 30% per gli
sviluppatori (come succede nel progetto abbandonato), non sia adatta ad “ospitare” una
community favorevole allo sviluppo di progetti FLOSS. Questo perché una rete di legami
altamente centralizzata risulta molto affine, se non identica, ad una struttura fortemente
gerarchica, dove le decisioni vengono prese al vertice. Questo tipo di strutture molto
centralizzate portate in contesti informali, fanno sì che la conoscenza si concentri in
pochissimi individui che, per limiti fisici, non potranno mai rispondere a tutte le domande o
questioni sollevate degli altri utenti; quindi, qui si crea un collo di bottiglia nella diffusione
della conoscenza e nel progresso del progetto, come nel caso di WBEL (un solo sviluppatore
con la possibilità di modificare il codice e comunità molto centralizzata). Infatti, in capo a
questi soggetti sviluppatori si viene a creare un rallentamento nel passaggio dei progressi fatti
dalla comunità verso il prodotto finale, a causa proprio dei limiti fisici di queste poche
persone.
Successivamente (si veda Tabella 2), abbiamo cercato l’esistenza di altri pattern relazionali
attraverso il blockmodeling, l’analisi di core/periphery ed homophily. Da questo tipo di
analisi emerge come sia necessaria la presenza di almeno un gruppo centrale (detto anche
core) all’interno della comunità di utenti e di sviluppatori, dove la maggior parte delle
relazioni e della comunicazione avviene all’interno del gruppo stesso. Questo gruppo centrale
comunica prevalentemente con sé stesso, ma ha anche legami con la periferia del network,
ovvero un altro gruppo di persone ritenute periferiche in termini di relazioni e comunicatività,
perciò “dominate” dal primo gruppo. In questo senso, la periferia fa riferimento al gruppo
dominante per informazioni, suggerimenti, richieste, e gli appartenenti alla periferia
comunicano pochissimo con altri membri periferici. Il gruppo dominante funge sia da
generatore sia da accumulatore di conoscenza, diffondendola anche presso i soggetti
periferici (come possono essere utenti o sviluppatori saltuari, o nuovi entrati nel progetto). In
entrambe le categorie di progetti, attivi e inattivi, è stata osservata l’esistenza di un secondo
Pagina 181
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
gruppo dominante, un’open-elite (eterofilo, che comunica con la propria periferia), che ha
intense relazioni con il gruppo dominante principale. Le relazioni di questo secondo gruppo
con l’esterno, tuttavia, sono mediate dal gruppo dominante principale; quest’ultimo è closedelite poiché la maggior parte delle relazioni avvengono tra i membri che appartengono al
gruppo, piuttosto che con membri esterni. Si concretizza quindi l’esistenza di un secondo
gruppo periferico controllato dalla open-elite; quest’ultima è sottoposta però al controllo del
gruppo dominante principale (closed-elite), il quale controlla anche una propria periferia, per
un totale di due gruppi dominanti e due periferie. Il gruppo dominante “inferiore” rappresenta
perciò un punto di congiungimento tra due parti della comunità diverse o distanti, fungendo
da tramite per la diffusione della conoscenza del gruppo principale anche in zone molto
periferiche della stessa comunità.
I gruppi dominanti identificati nelle comunità sviluppatori sono meno numerosi rispetto alle
comunità utenti. Inoltre, mettendo in relazione la comunità degli sviluppatori e degli utenti
del progetto Ubuntu si osserva che la sopravvivenza non dipende dall’esistenza di gruppi di
coesione, ovvero di gruppi di persone, diversi dai gruppi dominanti, e altamente
comunicative principalmente con soggetti del proprio gruppo.
La ricerca di questi gruppi dominanti e dei gruppi periferici avviene accostando al
blockmodeling (lo studio sull’esistenza di gruppi di persone sulla base delle relazioni sociali
instaurate) un’analisi di core/periphery; in tal senso, l’analisi dei dati mostra che la
dispersione calcolata tramite il coefficiente di Gini sui valori di coreness (ovvero quanto è
probabile che un certo soggetto faccia parte del gruppo dominante) all’interno di tutte le
comunità è molto elevata (confermando il comportamento della power-law iniziale) mentre a
livello “composito” (enfatizzando la ricerca dei gruppi dominanti e quelli periferici) denota il
fatto che vi sono moltissime situazioni di semi-periferia, specialmente nelle comunità utenti.
Esistono quindi soggetti la cui influenza all’interno del network di riferimento è buona
(coreness di poco più basso del valore di soglia) ma non sufficiente a farli rientrare
all’interno dei gruppi dominanti (identificati tramite le relazioni in possesso di ciascun
membro), tantomeno così bassa da farli rientrare nella periferia. Valori più alti per le
comunità sviluppatori dimostrano ancora una volta che le comunità utenti hanno una
tendenza maggiore alla comunicazione rispetto alle comunità sviluppatori.
Un risultato importante è quanto emerge in WBEL, che rappresenta una situazione molto
simile ad un progetto attivo e, considerando il modo in cui i suoi membri comunicano nelle
due comunità, si può pensare che la dispersione delle informazioni all’interno delle comunità
mini la stabilità del progetto stesso. Questo perché, in entrambe le comunità del progetto
WBEL si è realizzata l’esistenza di un solo gruppo dominante con più periferie. Esse sono in
grado di influenzarlo in modo massiccio in quanto i valori di comunicazione da e verso il
gruppo dominante sono molto più elevati rispetto alla comunicazione che i membri del
suddetto gruppo hanno tra di loro, fatto che non si rispecchia negli altri progetti attivi, dove
due periferie si hanno solo con due gruppi dominanti.
Inoltre, è stato preso in esame il fenomeno della cross-partecipation, ossia del fatto che la
stessa persona partecipi sia alla comunità degli sviluppatori sia a quella degli utenti dello
stesso progetto. Questa circostanza è molto importante, in quanto denota che da ambo le parti
vi è volontà di acquisire conoscenza che non prettamente disponibile nella propria comunità
iscrivendosi alla parallela, oppure vi può essere la volontà degli sviluppatori di prendere
spunto dalle questioni sollevate dagli utenti o fungere da tramite informativo tra i due contesti
(un cross-hub per l’appunto). Esaminando il volume complessivo della comunicazione
Pagina 182
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
all’interno delle comunità si nota che la maggior parte dei messaggi (90%) è inviato\ricevuto
da una piccola massa di membri, una elite; questo elemento è presente sia nelle comunità
utenti che sviluppatori di ciascun progetto. Dall’altro lato, le comunità sviluppatori
dimostrano che questi ultimi hanno la tendenza all’impegno individuale e tendono a
suddividere il lavoro tra di loro, quindi la comunicazione è diretta principalmente verso i
pochi che hanno accesso alla modifica del codice sorgente. Questo fatto è confermato
dall’analisi precedentemente condotta attraverso la Network Centralization, dove si è notato
che gli sviluppatori possiedono una struttura informale più centralizzata rispetto alle
comunità utenti. Questa tendenza è rafforzata anche dal tasso di corrispondenza tra i membri
dell’elite che invia e quella che riceve il 90% dei messaggi (relazioni comunicative OUT-IN),
quindi si verifica se ogni persona funge da:
 Hub, essendo presente nel numero di persone che inviano e ricevono il 90% dei messaggi;
 Mero accumulatore, se è presente solo nel numero di persone che ricevono messaggi;
 Mero diffusore, se è presente solo nel numero di persone inviano messaggi.
Emerge che la corrispondenza di membri tra le due elite (OUT ed IN) è maggiore nelle
comunità utenti rispetto a quelle sviluppatori. Una corrispondenza “bassa” in questo indice
dimostra che la conoscenza non è trasferita in modo univoco e generalizzato anche con
soggetti nuovi o periferici, ma vi sono soggetti che tendono prettamente a diffonderla mentre
altri soggetti tendono ad accumularla. La presenza di accumulatori di conoscenza è un fatto
positivo, fungendo come una sorta di “memoria” storica ed informativa per il progetto stesso
a cui sia utenti che sviluppatori (a seconda della comunità) possono fare affidamento, però,
dall’altro lato la presenza di meri accumulatori rappresenta un fattore di inefficienza e di
stagnazione delle informazioni. Nelle comunità sviluppatori dei progetti attivi, questo tasso è
più basso rispetto agli utenti (rispettivamente oltre il 70% ed oltre l’80%), fatto che potrebbe
indicare ancora una volta che gli sviluppatori tendono a lavorare da soli, comunicando solo se
necessario od allo scopo di comunicare le proprie modifiche. Ancora, i tassi di
corrispondenza sono più alti nelle comunità dei progetti attivi rispetto a quelle dei progetti
morti, manifestando la diffusione delle informazioni in modo inefficiente in queste comunità.
5 CONCLUSIONI
Considerati le limitazioni intrinseche nei dati di cui ci si è avvalsi in questo studio, il fatto che
l’analisi prenda in considerazione l’intero arco di vita di questi progetti e non specifiche fasi
del ciclo di vita del progetto, l’impossibilità di avere informazioni aggiuntive riguardo i
singoli utenti/sviluppatori ed il campione limitato a tre casi di studio, per le ricerche future si
suggerisce la possibilità di costituire un campione di progetti sempre nel settore degli OS ma
più vasto (statisticamente rilevante anche tramite campionamento casuale). Inoltre, l’analisi
del contenuto della comunicazione consentirebbe di estendere le dimensioni del confronto tra
progetti che sopravvivono rispetto a quelli che soccombono, valutando le comunità per la loro
capacità di risolvere problemi e di creare e mobilizzare la conoscenza.
Pagina 183
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Ubuntu
CentOS
White Box E.L.
Ottobre 2004
Maggio 2004
Dicembre 2003
Debian
9.10
RHEL
5.4
Condizionata dal ciclo vitale di RHEL
(GAP=1 MESE)
DEVEL: 372
USERS: 3.023
DEVEL: 3.267
USERS: 70.021
DEVEL: 939
USERS: 20.078
Active
RHEL
4.0 Respin 2
Informazioni generali
Nascita del progetto
Progenitore
Ultima Versione
Pianificata in Ciclo di release anticipo; rilascio ogni 6 mesi
Users che hanno postato nella mailing list (almeno 1)
DEVEL: 2.354
USERS: 9.892
DEVEL: 27.448
Messaggi complessivam. Scambiati
USERS: 178.412
DEVEL: 4727
Thread aperti dall’inizio (approx.)86
USERS: 101.395
Classificazione Distrowatch
Active
Condizionata dal ciclo vitale di RHEL
DEVEL: 122
USERS: 762
DEVEL: 444
USERS: 6.701
DEVEL: 367
USERS: 2.839
Dead
Relations with the Community
Nascita Community o Firm­driven?
Offerta di Servizi a pagamento
Partners commerciali/supporto
Entrambe
SI
SI
Community­
driven
NO
SI
Firm­Driven
(scopo interno)
SI
NO
Community Design
La community La community La community è possiede una possiede una ridotta, poco struttura molto struttura
considerata
articolata
Viene incentivata Viene incentivata La partecipazione è Motivazione
la partecipazione la partecipazione
incentivata poco
Struttura gerarchica
(presenza di gruppi di lavoro)
Supporto economico users
SI
SI
NO
DEB, RPM
Prevista
RPM
Prevista
RPM
Non prevista
18 mesi
(prevista LTS)
circa 7 anni
(in linea RHEL)
circa 7 anni
(in linea RHEL)
Main SW characts
Packages
Server Edition
Supporto oltre il rilascio
Tabella 1. Informazioni sui casi
Il conteggio dei thread è stato fatto verificando la corrispondenza tra ID, REPLY e REFERENCE. Il dato è da considerarsi spurio di errori minimi presenti nel sistema di indicizzazione alla base del server o del meccanismo di estrazione.
86
Pagina 184
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Ubuntu
CentOS
WBEL
Comunità
USERS
DEVEL
USERS
DEVEL
USERS
DEVEL
Smallworldliness
43,260
21,144
10,487
6,447
9,610
3,409
C\P
SI
SI\NO
SI\NO
SI\NO
SI\NO
SI\NO
Numero di Core
Numerosità primo C.
E-I primo core
Numerosità secondo
C.
E-I secondo core
RCM
1
(2071)
-0,418
1
(276)
0,356
2
(864)
-0,332
2
(75)
-0,103
1
(190)
0,050
1
(23)
0,094
-
-
(383)
(60)
-
-
251
142
0,446
134
0,406
31
31
22
Concentrazione
0,790
0,777
0,805
0,841
0,815
0,825
Gruppi importanti*
2 (G)
1(P)
1 (P)
2 (P)
2 (P)
2 (P)
2 (P)
Posizioni isolate
Popolazione
Coeff. di Gini
1
(9892)
0,866
1
(2354)
0,768
1
(3023)
0,798
1
(372)
0,775
1
(762)
0,819
1
(122)
0,660
Tabella 2.
Figura 1.
Misurazioni di Social Network Analysis
Crescita boom nel numero di partecipanti
Pagina 185
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Figura 2.
Crescita lenta nel numero di partecipanti
BIBLIOGRAFIA
[1] Osterloh, M., Frey, B. S., J. Frost, The Dynamics of Motivation in New Organizational
Forms, International Journal of the Economics of Business, 2002;
[2] E. Katsamakas, N. Georgantzas, Why most open source development projects do not
succeed?, First International Workshop on Emerging Trends in FLOSS Research and
Development, 2007;
[3] Linus Dahlander e Martin W. Wallin, A man on the inside: Unlocking communities as
complementary assets, Research Policy nr.35, 2006;
[4] Siobhan O'Mahony e Fabrizio Ferraro ,The emergence of governance in an Open Source
Community, Technology, Innovation and Institutions Working Paper Series, 2007;
[5] S.L. Torala, M.R. Martínez-Torresb e F. Barreroa, Analysis of virtual communities
supporting OSS projects using social network analysis, Information and Software
Technology, Volume 52, 2010;
[6] S. Wasserman, K. Faust, Social Network Analysis: Methods and Applications, Cambridge
University Press, 1994;
[7] Albert-László Barabási, Eric Bonabeau, Scale-Free Networks, Scientific American,
maggio 2003;
[8] Duncan J. Watts, Networks, Dynamics and the Small-World Phenomenon, The American
Journal of Sociology, Vol. 105, No. 2, settembre 1999;
[9] S. P. Borgatti, M. G. Everett, Models of Core\Periphery, Social Network Vol. 7, 1999;
[10] R. English, C. Schweik, Identifying success and tragedy of FLOSS commons: A
preliminary classification of Sourceforge.net projects, First International Workshop on
Emerging Trends in FLOSS Research and Development, p. 11. IEEE Computer Society
(2007);
[11] A. Wiggins
2010;
e K. Crowston , Reclassifying Success and Tragedy in FLOSS Projects, OSS
Pagina 186
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
SHARE IT AND BRING IT HOME: OPEN SOURCE, COMMONS
AND PIRATES
Cozzutto, Alessandro, University of Turin, Via Giolitti 33, 10124, Turin, IT,
ale.cozzutto@gmail.com
ABSTRACT
Mass endorsement of new information and communication technologies appears to outline, inside the
world-system, the surfacing of altogether innovative – and potentially democratic – political,
economic and socio-cultural relations, in the long run carrying from the binary language to the FOSS
movements and the “Web 2.0”
This study attempts to inquire into what, quite far from representing something new, appears instead
as the surviving of quite strict relational dynamics peculiar to modern age, in the passage from
techniques to technology and in the substitution of the pyramid with the symbolic representation of
power relationships.
The analysis focuses in particular on the concept of 'Commons', as emerging currency in particular in
the hands of the young actors which cooperate and compete, in a more comfortable way, within the
world wide web, as young were those who have been leading the information revolution.
The article finally examines, according to such analysis, the recent case of the Swedish 'Pirate Party',
first party among the under-30, which has been able to get a seat in occasion of the European
Elections of June 2009, by prompting awareness about issues like removal of copyright restrictions,
privacy of the internauts and free access to knowledge, but also thanks to the emotional wave
engendered in Sweden by the sentence to one year of jail for each operator of the site 'piratebay.org'.
The empirical side of the research focuses on a series of qualitative interviews with some
representatives of the German Pirate Party and an interview with Christian Engstrom, one of the two
members of the European Parliament for the Swedish PP.
In the transformation, in the resistances and in the new categories associated to the capitalist
historical system, new interesting outlooks for comprehensive social sciences are brought forth.
The conclusion of this work argues that “The world might get closer in the sense that rulers are likely
to look to each other more and more, independently from the state-nation they belong to, and folks
alike, but without linearity and with an unfaltering interaction between old (very old) and new, of
everlasting that comes back and of only one that does not matter, of ownership and power. Of
reactions, endurances and voids.
Will social sciences succeed, after getting rid of pyramid slavery, to clutch the fibre age before being
entangled in the web?”
Parole Chiave: Information, Open Source, Commons, Pirate, Ideology
Pagina 187
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
1. A MATTER OF POWER: THE INFORMATION REVOLUTION
AND THE MICROCHIP CAGE
“The mith of the eternal return states, by negation, that life disappears once for ever and it does not come back, it is like a shadow, weightless, it dies beforehand. Whether it was awful, beautiful, splendid, this dreadfulness, this beauty, this splendour mean nothing. (…) Let's point out therefore that the concept of the eternal return suggests a perspective wherein things don't appear as we knew them: they look without the mitigating factor of their transiency” (Kundera, 1987: 13­14, author's translation).
Without the latter, indeed, things would appear in their repetition as they could not be and their dullness would be irreparable. This allows us to void them of the sensationalism which often accompanies novelties, to watch them with the needed detachment to better understand them: this is the difference between the 'eternal return' and the 'only one' that does not count. The growing mass adoption of new technologies of information and communication, of which the Web represents the most successful embodiment, is going to act on the whole of political, economic and social relationships inside the world­system at an exponential rate: new fresh methods of making politics, new young economic players, new interaction and dispute customs are breeding in the absolute space outlined by millions of computers wired to each other all over the world (Berra, 2007). The virtual dynamics brought about by that space, and the material ones conveyed into it, put more and more interesting questions to the several branches of the so­called social sciences. Because upstream of any impersonal algorithm, at the source of any set of guidelines a machine is asked to carry out without needing an interpretation, there was always a human will pursuing a well established goal (Marcuse, 1964), although tempered by chance. The acclaimed “The Cathedral and the Bazaar” by Eric Raymond (Raymond, 1998), esteemed as a summary of the theory, the spirit, the attitude at the root of the Linux project (but not, be careful, of the ideology87), supports the libertarian enthusiasm for the open source methodology. From this viewpoint someone even acknowledges the hacker ethics for the merit to have smashed down the steel mails of the capitalistic spirit accounted by Weber (Himanen, 2001).
On the contrary, not differently from previous social phenomena, this article argues, NICT concern power, how the search for (and the accumulation of) it proceeds, starting from which strength and knowledge relationships, it is a matter of how these relationships can be seized and eventually of how rallying the biases of whom, inside these relationships, turns out to be governed rather than governing above any historical determination.
Despite a sociologist of international reputation like Castells emphasizes that, historically, any society was founded on the shapes wherein information was spread inwardly (see how Gutenberg had a hand in the success of the Protestant Reform) and all economies are basically grounded on the codification of some type of knowledge, these two new paradigms, at the bottom of the information society, warmed up the heart of international public opinion just in the last years (Castells, 1996; May, 2002; Webster, 2002; Foray, 2006). Cfr. Cozzutto, A., Open source e ideologia, Creative Commons, available at the address www.dotduepuntozero.org.
87
Pagina 188
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
So, the information revolution, the last born in the family of power relationships, finds a synthesis of its own in the power relationships (Luhmann, 1982; MacPherson, 1973; Bixio, 1988). And it finds it despite the alleged death of ideologies, claimed more than thirty years ago (Bell, 1973), despite nobody has found out the corpse until now. As Robert E. Murrow, a CBS anchorman put it, “the nuisance with machines are men”. Trying to draft the world history in a few pages, the revolution which brought to the coming of a world information society would have not be achieved without the binary language: the German philosopher of the best of possible worlds, is strikingly impressed by the possibility, although quite remote at those times, to replace through reiterated combinations thought with computation, to devise a language in which any human manifestation can be abridged to two digits: “If we had that language” Leibniz states “we would be able to argue in the metaphysical and moral field in the same way we do it in geometry and calculus.”.
Next two centuries will witness a succession of scientific and philosophical innovations going along with the beginning industrial revolution: the Babbage's machine, Boole's algebra, Russell and Whitefield's Principia Mathematica, the progress in the field of physics, the invention of punched cards by Hollerith, the Turing's machine, the contributions by Shannon, Atanasoff, Zuse and other quaint characters who changed our life much more than we can figure out, but whose contributions kept unknown to the large public, at least as long as the reduction of the complexity in human thought to a computation object will begin to have remarkable matter­of­fact aftermaths, i.e. as long as the binary computation shows to be able to carry out its function when mostly needed: the world wars (Birrien, 1990; Ligonnière, 1987).
In 1984 a young computer programmer from the Massachusetts Institute of Technology, Richard Stallman, comes up with the project GNU and sets up the Free Software Foundation to working out a free operative system that would be devoid of the copyright restrictions dictated on the software employed in the universities (Williams, 2003). To prevent that his efforts would fall in the public domain, Stallman decides to force the dynamism of the Common Law, mostly because at that time it regulated the software (Hass, 2007: 213) and to construe the legislation about copyright in such a way to guard free access and implementation of software devised by his FSF: that's how the copyleft was born (Liang, 2004).
But for the information revolution to take place it is needed that the breakthrough elements inside the movement, the same logic of sharing and the same legal instruments (the copyleft) should be channelled toward an institutional pattern of computer development that would be devoid of the initial anti­system component. No big software firm of course would let be involved in a to death competition with the incipient Microsoft monopoly just to please the idealism of a fanatical although smart hacker. It is necessary a fortuitous event, time will complete the picture.
The fortuitous event occurs in the summer of 1991: a 21­year­old Finnish student, Linus Torvalds, sets up a first rough version of a ' kernel' and asks the community of hackers in the web to help him in the implementation of his creature that he decides to share freely under copyleft: “Linux” was born. Pagina 189
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
But Torvalds was not Stallman. And he was neither Bill Gates: whereas the second one is inspired by libertarian principles and the latter by profit (see here), the young Finnish maintains that he is a hacker for fun alone. “Open source is about letting everybody play” (Torvalds in Torvalds­Diamond, 2001: 164) says the Linux inventor: everybody should contribute to the improvement of a program, freely and in spare time, regardless of his or her vision of the world (AA.VV., 1999; Levy, 1984). The achievements of the open source principle are anyway unrestrainable: they start in 1988 with the decision from Nescape, manufacturer of the Internet surfing browser “Mozilla Firefox”, the main competitor of Microsoft’s “Internet Explorer”, to issue an “open source” version of it; it keeps going with IBM, Sun Microsystem and Apple’s investments in the field; it is up to its climax with the “surrender” even of Microsoft and is concluded eventually with the announcement from Google to set up a wholly open operative system, starting from 2010.
The achievement of the open source movement, regarded as a techno­representation of the libertarian and partly ideological instances of the free software movement, allowed that the technique accrued in several centuries of binary revolution would become technology (Musso, 2007), by crossing the wall of the computer alchemy reserved to the experts of the mathematical computation to embrace the wide space of the political, social and cultural relations in the whole (Latrive, 2004). The Web epitomizes this accomplishment in its passage from a release 1.0 to the 'user­generated content' verbum of “Web 2.0” (O'Reilly, 2009)88.
We are supposed to trust the information revolution, as young spotless heroes did it, 'just for fun' (the title of Torvalds' autobiography). But more than giving the impression to break down the meshes of the old, very old steel cage 89, the coming of the fibre age seems to herald a microchip cage, less visible but not less sturdy. That is due to the increasing ability of the power relationships born with the fibre age to show up as new ­ einmal ist keinmal ­ with the mitigating circumstance represented by its own transience (MacKenzie, 2005). And not as the 'traditional' eternal return of appropriation and imposition of the strength and knowledge relationships and their relative bias. The question is concerned with how to do in order that anything would change so that things remain as they were, i. e. how to get on to manage a cutback of complexity that would rule out from its own sight what is perceived as unsuitable and unnecessary, a scaling down carried out for the purpose to succeed in working out a consistent account of the growing complexity of interdependence systemic relationships (Wallace­Wolf, 2000; Hirschman, 1991).
The Marxist scientific tradition is worthy for bringing struggle at the core of social sciences’ concern and uncovering the political unfairness resulting from uneven allocation of resources inside the Western economic system (Althusser, 1973; Mancina, 1986; Marx­
Engels, 1982; Marx, 1974).
88
O'Reilly, T., Cos'è il Web 2.0, available on 10/10/2009 at http://www.awaredesign.eu/articles/14 ­Cos­Web­2­0.
89
This hope is traceable for instance in Himanen, P. Quoted Work, pp. 10­11; o in Feldman, M.P., La révolution d'Internet et la géographie de l'innovation, in Foray, D., et al. ., Quoted Work.
Pagina 190
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
If money is needed to purchase items and services in the material world yet it does not seem a satisfactory ruling tool in the fibre age. In the Web the only universally customary currency (to purchase items and services prized in the Web only, beware) is not the economic reward as much as the visibility: “..the question is, if you post information on the Web, will anybody notice it?" (Barabasi, 2002: 57).
Barabàsi demonstrated the applicability to the web of the Pareto’s law, so­called of the ratio ’80/20’, accounting for the intrinsically oligarchic nature of any social construction, like the success of Google seem to confirm (Gruppo Ippolita, 2007). The main factor of demurral on a massive post­industrial web are skills and big numbers: the movement for free software succeeded in digging into the rock of the proprietary development by virtue of the notable computer mastery of thousands of its collaborators. Turning to the open content, what is inescapably called for to groups, single individuals and associations with democratic­solidaristic purposes is a mighty tutoring in the field. Which entails a strong differentiation in skills. Which sends back as it could not be otherwise to the network organization: a complex geography of variously sized conglomerates of a transnational character, present on the field and in the capacity to relay their experience in the shape of information and imagines on the global circuit. An uneven and disorderly network apt to cluster together the efforts in sight of restricted skirmishes with a high symbolic value and doomed to pay (it could not be differently) for the lack of a coordinated strategy and a firmness customary of political democratic phenomena of an industrial type.
More than a “worthwhile” force of an alternate political template (Crouch, 2005), an “oppositive” force of bias rebuttal, of which Pierre Rosanvallon was able to pinpoint the noteworthy “counterdemocratic” features with much smartness (Rosanvallon, 2006). The aftermaths of such a kind of resistance can vary but are never conclusive: the complex and systemic interdependence sets the better managed and trained groups all the time on the cutting edge, under the technical and coordinative point of view, in comparison to those who pursue generalist interests (La Due­Hackfelt, 2008). Nonetheless these results can be remarkable and look like a relentless reshaping process, in a redistributive purport, of the whole system by means of particular achievements and on a local scale, about specific issues and following burdensome sensibilisation efforts (Wellman, et al, 1996). 2. THE COMMONS: ‘SHARE AND BRING IT HOME’
So then what would be the weapon, the bargaining power of these young generations of anti­systemic drives, of disinherited and even childless outcasts, which the ploy, the political commitment to oppose to a world with no more remainders of divinity? The British thinkers of the Seventeenth Century had as first pointed out (Hobbes, 1965; Locke, 1997), as a key element of the age that would be later called Modern, the rise of an evolutive process in the society where they lived, called by the Canadian historian MacPherson possessive individualism. “The society is comprised of exchange relationships among owners. The political society turns to a contrivance engineered to the purpose of defending this ownership and safeguarding an orderly exchange relation” (MacPherson, 1973: 23).
Pagina 191
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
In the fiber age the political enforcement which shapes the newfangled entrepreneurial models and the novel knowledge systems against the second wave of “enclosures” now in progress in the cyber­space (Cahir, 2004: 619), says: “Share and bring it home.”
The real bedrock (but not necessarily a material one) of this political enforcement is comprised of the so­called shared assets, the “Commmons”. The Commons are not public assets or at least not exactly so: the public assets abide by the principles of no­rivalry and no­
exclusiveness in their use (Ibidem: 620­621). The assets stored in a digital form, as they can be copied and multiplied without restrictions, assuredly enjoy the first principle, like bread and fish in Jesus Christ’s hands: they can be software (Linux, software GNU, Joomla), knowledge systems (see Wikipedia) or of exploitation of knowledge (see Creative Commons), multimedia (see Pirate Bay, Current Tv), literature (see the collective Wu Ming or the enterprise ‘libreremo’), essays and scientific investigation (see aperto.unito.it, dotduepuntozero.org) [Cheliotis, et al.. 2007].
The mechanism goes ahead like this: as I cannot hinder the circulation of my knowledge, in a digital format on the Web, I autonomously decide to grant it in sharing in order to prompt others to do the same. These sets of knowledge in the Web’s boundless space land up to lose their own utilitarian features in a strictly economical meaning (in fact I cannot cash in commercially on the literary works implemented on Internet in copyleft) and look like shapeless stacks of data from which further knowledge can be drawn.
Where then the falsificability of the phenomenon relies (Popper, 1970)? It lies on the circumstance that the no­exclusiveness of its use, granted de jure with free circulation, fades away de facto, making the shared assets different from the public ones: the free availability of so much knowledge just does not grant me assuredly to develop, on my turn, further utilitarian elaborations. It is compulsory to know what to add in, in order to afford the right “to carry home” what others have shared. Because in the autogenerative Internet universe (Zittrain, 2006), which much echoes some of Luhmann’s intuitions (Luhmann, 1978; Id., 1986), more than the sum of its parts is at stake. As the information of which there is plenty on the web are economically unprofitable by themselves, the awareness only in the use of the new technologies allows the fine­tuning of young entrepreneurial models, innovative knowledge systems or new forms of political representation apt to trigger profit chances. The compound of the Commons broaden therefore the range of possibilities as well as that of complexity, brings about inflation of knowledge and more than that: what it promises to the smartest and more creative fellows is not as much an economic fulfillment, as rather a currency needed to stand out in an environment so leveled out on identical patterns, enforceable for everybody (at least according to the universalist bias) but only abstractedly: Linus Torvalds, today a billionaire, did not stockpile his fortune from the development of Linux but from the consultation work he was called for as soon as his computer skills were established worldwide.
Whereas in the strictly computer field the power relationships are liable to match factual knowledge relationships, in the political­electronic area it seems that bias plays a determinant role.
Pagina 192
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
In the fiber age by means of the Commons it is possible for thousands and thousands of young programmers, researchers and artists to put on conditioned sharing practices, freely bred in the web or freely put in sharing, democratic practices fostered in the real world. And in such a manner succeed in accruing a bias liable to sway on the silent majority so that the approval pointers shift to the direction suitable to the involved economical, ethnic or cultural minorities (see the case study in the following paragraph 90).
The concept of Commons in the meaning of collectively owned assets ever since played a protagonist role in the scientific and technological development of the historic capitalist system (Nelson, 2003: 1691). Nevertheless to bring it out negatively in contemporary scientific­social epoch was a 1968 article by Garrett Harding, in an emblematic way entitled “The tragedy of the Commons“, where the author argued in support of the rhetoric of reaction according to which “too much freedom kills freedom” (Hardin, 1968: 1244).
The yardstick by which, within the digital space, Hardin’s grievance can be finally rejected, is given by the circumstance that the reproduction cost of the information (Ignatin, 1992). The issue here discussed attracted much academic attention, mostly in the juridic field, due to the mass copyright infringements that the new technologies have forwarded (Jensen, 2003). What Cahir names the “internet information commons” is in fact the distinguishing imprint of the entrepreneurial templates and knowledge systems developed by the web: “…it embraces the decentralized communicative architecture of the Internet. (…) In the respect of the informational resources, the commons represents an effective, and sometimes superior, model for organizing social access and use.” (Cahir, 2004: 641).
But although, the Commons might represent an einmal that is keinmal, a single which does not matter, what we were eager to point out in this study – after accounting for the discussion terms – was rather the eternal approach of dynamics all too often greeted as the new that would turn upside down the epistemological order of material as well as immaterial relations on this planet (Hirschmann, 1991; Pala, 1984: 9; Gramsci in Santucci, 1997: 49).
The young heroes of the information revolution, yesterday governed and tomorrow's governors, sharing commons and visibility on the web, are in the middle of the long way (much longer than any techo­determinism might argue) that separates freedom from and right to. The reduction of such distance, although Leibniz would not agree, embodies a daily conflict rather than a reckoning (Schattschneider, 1998).
Given such a long and complex background – the young and fresh electronic forms of sharing, within the context of eternally returning power relationships –, let's draw some actual application, with respect to those entrepreneurial models, systems of knowledge or forms of political representation we were talking about before.
Cfr. Antonucci, G., I pirati fanno rotta verso Strasburgo, in "Corriere.it", 4th of May 2009, available on 6/5/09 here.
90
Pagina 193
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
3. HERE COME THE PIRATES!
The recent indictment case of the Swedish pirate bay (‘piratebay.org) is of paramount importance either to surmise more clearly the most momentous after­effects in our study area, or to clear the field from some misunderstandings that media hype managed around the delicate issue (Miegel­Olsson, 2008; Demker, 2008; Firth, 2009).
Scandinavian countries, for reasons that can be glossed over in this article (see European Information Technology Observatory 2004 Report ), are marked out ever since for a cutting edge and homogeneously spread use of the new infocommunication technologies. Just think of the aforementioned Linus Torvalds, the Finnish inventor of the ‘Linux’ kernel, a token of the liberal creativity at the root of the release 2.0 of the world wide web.
There is not to wonder if in this mood of sparkling approach to the mass use of the NTIC, a bunch of Swedish artists and intellectuals established a think tank on the issues of information and knowledge sharing within a digital system. This group, ‘ Piratbyran ‘, sets itself the aim to uncover to the national public opinion the reasons of those who do not share the media criminalization of the so­called pirates. Therefore it masterminds several collateral blueprints aiming to found on practice its own theoretical reasons. So it is started on 11/21/2003 the free and without charge torrent files portal ’The Pirate Bay’, at the web address http://www.piratebay.org (Neri, 2009).
In a few words , this site is a boundless binder of torrent files, a specific tipology of peer­to­peer files (P2P, i.e. exchangeable from free user to free user, ‘from peer to peer’, files which as a rule but not necessarily are multimedia: music, video but also documents and software (Christin, 2010). By the intermediation of the pirate portal, the users are able to get in touch with and share the contents stored in their own computers. But, and this is a fundamental difference, the shared files do not proceed through the server of the concerned site. A task, besides, supplied by any research engine , like Google. With the difference that the Pirate Bay is exclusively committed to the retrieval of torrent files. That was enough for the Swedish justice to convict in the first degree the site managers. Yet this is not the reason of the interest that, as it is maintained, social sciences should foster in regard of enterprises like this. Which or what, then?
Weighing up the wholehearted comments of partakers to the “pirate bay” forum, the reason why millions of customers have opted for this site (among the many suppliers of torrent files, free or to pay, around the web) in such a measure to let it skyrocket to the threshold of the one hundred more visited sites worldwide 91, got either roots or fruits of a political nature.
The roots are that techno­libertarian culture which joins Stallman, Torvalds and the creators of the bay: Fredrik Neij, 30 years, Gottfrid Svartholm, 24, Peter Sunde, 30. The ingredients of the information revolution are not the ‘subversion’ as an end to itself. The ‘pirates’ found their way to the heart of the internauts thanks to the blend of antisystemic libertarian spirit, state­of­the­art technology and personal avail quintessential of the radical 22 millions of users, with 6 m. of daily contacts, according to the estimation of alexa.com, the website reaches the 106° place among the most visited, collecting the 50% of the p2p traffic. Cfr. Magrini, M., Un anno di carcere
ai pirati del web, in "Il Sole24ore", 04/18/2009, p. 6.
91
Pagina 194
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
culture on the web. The free availability of sources, the internationalist language of young programmers, the sleepless nights spent to hone the serviceability or the graphics of an implementation convey that ‘destructive creativity’, to say it reversing Schumpeter (Schumpeter, 1950: 83), which historically marks off the capitalism to the umpteenth power (Rothbard, 1962).
It is not by chance that the founder of the Pirates Party, Richard Falkvinge, claims to be: “a radical capitalist, to the bitter end supporter of free market and sworn foe of the monopoly epitomized by that cultural industry that – made out­of­date by the new technologies of information and knowledge distribution – strives for survival on a purely legal way, prompting the government to prosecute the fellow­consumers who embrace the new fashions of availability of music, video and texts. We are not red, blue or green, we are just pirates”92
It cannot be really assessed a sheer 'anti­ideological' approach, granted that envisaging an electronic society where the acceptance of free circulation of information is formally avowed brings about a well defined technologically deterministic Weltanschaung (Phillips, 2009: 451): “Anti­ideological? I would say quite the contrary, we are extremely ideological. We stand up for values that we believe are important in a society and we are prepared to leave deciding the exact level of taxing or childare or healtcare or whatever to other people, so we can focus on standing up for the values we think are important. So, I'd say quite the opposite” (interview with C. Engstrom, Brussels 04/16/2010, available on Dot 2.0 account on Youtube) It is unquestionable that we are in front of an updating of a certain liberal­liberist­
libertarian spirit, a transnational ‘virtue’ party at odds with the greed of monopolist manufacturers, out­of­date borgeois new rich (Demker, 2009). Instead what appears meaningful is the transversal appeal to a ‘monothematic’ program – the replacement of copyright international laws in force (about file sharing but also about the ticklish issue of the electronic privacy) and the abolition of monopolies in the information and show business industry – of political impact and immediate implementation: “In providing platforms for sharing and for voicing dissent towards the established entertainment industry, the increasing autonomy gained by these piratical actors becomes more akin to the concept of ‘positive liberty’ than to a purely ‘negative,’ reactive one.” (Andersson, 2009: 64).
Standing as a candidate at Swedish political polls in 2006, attaining no more than 0.63%, corresponding to about 34.918 ballots (Demker, 2008: 17), the Pirates Party is successful93 in availing itself of the emotional wave prompted by the conviction on 4/17/2009 of the three Pirate Bay founders to a one­year jail term and €675,000 fine for each of them 94. A wave made even more emotional by the news spread around that one of the justices of the first grade bench, Tomas Nostrom, was allegedly member of more than one of manufacturer organizations for copyright protection95.
In Formenti, C., Svezia, alle elezioni il Partito dei Pirati, in "Corriere della sera", 01/17/2006, p. 27.
Sjoden, K., Swedish Pirate Party Doubles in Size After Bay Verdict, retrieved May 20, 2009, from Wired, available at http://www.wired.com/threatlevel/2009/04/swedish­pirate.
94
Gualerzi, V., 'Carcere agli hacker', Pirate Bay perde la guerra del copyright, in "La Repubblica", 04/18/2009, p.
21.
95
Cfr.Adinolfi, M., La baia dei pirati adesso è a Strasburgo, in "Europa", 06/10/2009, p. 7.
92
93
Pagina 195
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
At the polls for Brussels/Strasbourg Parliament, after hitting per cent peaks of 8 and 9, Falkvinge’s Pirate Party earns at the polls a surprising 7.13 % (see here), enough for the election of Christian Engstrom, fifty­year­old software entrepreneur, to the benches of the legislative European Assembly (but with the ratification of the Lisbon Treaty and allocation of national delegations, the seats have become two, with the 27­year­old Amelia Andersdotter's nomination). Although matter­of­factly it can be assumed that the piracy glee will not survive to long times of politics (and to passages of bills that a complex subject such as copyright in the international law calls for) what is more striking in the Swedish experience is concerned with the space­time coordinates of nowadays politics: the speed with which the pirate party moved forward from secrecy to parliamentary presence (time compression) and the allure it was able to trigger internationally since onset (space extension, see) to the point to have already several copiers in more than 40 European or otherwise countries (see piratepartyinternational.org): “Trying to get elected, as a Swede, … it make sense to focus, when it comes to be elected, to focus nationally. But now that I'm here I see me as representing pirates from all over the world, it is a global movement, Internet is truly global.
So in a way I see myself more like perhaps representing the Internet than representing Sweden. Every country that has a pirate party was grassroots in that country, felt 'yes, we should have one here as well!'. But the funny thing is that, although we have very little actually contacts between the parties, what we find is that when one party pops up in different countries they all have lots of internal discussions, but then they end up with virtually identical programs in every single country..” (interview Engstrom, quoted). Although in Brussels lobby pressure from entertainment business surely comprises more advocates than libertarian pleas, so that the party could find recovery, and this is no accident, in the parliamentary group “European Greens – Free European Alliance” (48 congressmen in 1999, 43 in 2004, 55 in 2009), the belief is that more and more patent economic grounds will enable some of them to break through as it seems to be partly substantiated by the success of the ‘German unit’ of the party (2.1 % of votes at 9/27/2009 federal elections). The several representatives of the German PP, I have been talking to in Berlin and Hamburg, described me the evolution of the heterogeneous movement against data retention since 2006. Fabio Reinhardt, from one of the 'crew' of the capital, confirmed me the amount of 12 thousands of official 'pirates', quite spread around the country and their various, although generally young, composition. He told me about 'LiquidFeedback', an Internet program which allows the pirates in Berlin to have access to the decision process, by posting proposals and exerting surveillance to the work of the district boards. Simon Lange, press officer in Berlin, revealed his enthusiasm about the future elections and the ability of the party to manage, through free discussions, the problems that a growing movement is supposed to face. He's quite sure the PP will reach the German Parliament soon, and optimistic about being part of a future government. Michael Voeckler, member of the board in Hamburg, where the party got between 3 and 10% at the federal elections, thinks “pirates are very different in the way politics is made, we are absolutely based democratically, everything is made from the base. The members of the party are doing all the politics. (…) Some Pagina 196
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
members have an idea, they try to convince others and they make something, this idea spreads by a mailing list, by the forums and other ways of communication..” (interviews with the German pirates, April 2010, soon available on Dot 2.0 account on Youtube).
This is the eternal return, the sensible element to single out among the unique events that from the Pirate Bay’s file sharing lead to the Pirate Bay’s success at the European elections: grass­rooted political behaviors able to exert a bargaining power on as circumscribed issues as possible (about which the majority of Euro­congressmen coming from traditional political families got little or nothing to say) from young and unusual, if not unlikely, political players. Political action as a rowdy by­product of underground cultures of international clout, politics submitted to the media with which these rising players fulfilled their first socialization, rather than media submitted to traditionally regarded politics (McLuhan, 2003; Luhmann, 2000). And above all the measureless value of the Commons, universally available assets the usefulness of which is however subject to the awareness with which they are handled, innovated and subjugated to specific political goals: “And this may well be one important explanation of the rapid success of Piratpartiet. It is basically a bottom­
up movement, starting from young people’s actual behavior and circumstances, and it became politically significant for them when those interests clashed with the established norms and rules of society.” (Miegel­Olsson, 2008: 212). “So there is a need for new business models that take into account the changing needs of the customer as well as the current and future technological developments.” (Parakkal, 2009: 5).
What have the bay pirates shared in common? Not the multimedia files but a simple and fetching graphic interface that would allow its customers ‘to carry them home’. What did the ‘piratebay.org’ managers bring home, besides a conviction? The renown of champions for free access to knowledge but also the €5.000.000 that the software manufacturer “Global Gaming Factor­X” shelled out to purchase their creature ( see). What did the ‘Pirate Party’ managers partake in and what do they obtain? “When I blog something that's happening in this House or what the Commission is doing, I get a lot of positive comments saying 'Wow, it's the first time I have voted for somebody and really feel I got something from my money', so to speak. It's so great to have direct information from what it's happening. And in the other way as well, when issues come up, I'm obviously not an expert on everything in the world and I'm not an expert on everything within the information politics either. So, that means when issues come up, I can simply present 'the Commission has presented this paper and asked the Parliament to give an opinion, please tell me what you find in it, tell me what to think about it!” (interview Engstrom, quoted).
CONCLUSIONS
The political and social actors just mentioned, as they could not apply any force relationship, fell back to their own knowledge, exploiting the most unpredictable means, yet the simplest and cheapest of those available, in order to attain the foreshadowed goal: either if at stake it was to defend a hacker­libertarian culture or compete for election in the European Parliament or share a vintage jazz album with a totally unknown buff peer.
Pagina 197
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
But the implementation of a however tiny political power, proceeding from a bench in Brussels/Strasbourg, kept asking for, just as before the fibre age approach, the rally of a strong bias in the everlasting modern clash between friends and enemies (Schmitt, 1988).
Despite growing chatting of new technologies is better than not talking at all, the impression is that excessive racking of brain about the einmal that is keinmal, the only one that politically does not matter, brings instead to overlook the ever since political feature not of the technique in itself but of political and social aftermaths of its mass use.
Although the several PP popped up around the world almost simultaneously, the success of the Swedish one at the European elections and the intrinsic trans­national nature of the Web, the German pirates regard national engagement as the more effective strategy. Engstrom agrees. Some specific instruments ('liquid feedback' or the way the MEP says he and his electors take profit from his blog) seems to improve transparency and accountability. But the impression is that, once we leave the technical field of net politics, we are still far from a substantially renewed decision process or model of representation.
In the occurrence of relentless and noteworthy innovations, technical and social experiments and unusual technological formalisms, is therefore compelling ­ and this is the ultimate meaning of the present article – to focus on the pivotal content and the existential aftermaths but most of all on the political meaning of the tangled dynamics, the intricate mechanisms and the power relationships ruling social life on earth: “..many investigations of the nature of file­sharing networks show that relatively few users contribute new, unique content to the networks, and that many more download material without actually contributing anything to any considerable extent.” (Andersson, 2009: 82).
When I met the German pirates, they were working on the most important regional elections in the country, those of Northern­Westfalia, one of the most populated and rich 'land'. The expectations were high, but the 1,5% collected represents an inversion in the trend of the young political formation. When I asked Mr. Engstrom about the risk of 'institutionalization' for his party, he answered: “Of course, we can't! When an organization is new, be it a company or a movement or whatever, then everybody is idealistic about it. But then as the decades go on, more and more people tend to become more interested in the survival of the organization than the original purpose. It happens to every political party that's been around for a long time and I'm sure it will happen to us, as well, unfortunately. It doesn't really matter to me, because by that time I will have left politics anyway!” (int. Engstrom, quoted).
Echoes of what has been discussed: Pareto's law, pyramid and commons, governors and governed, eternal return and keinmal einmal.
In the passage of power from technique to technology, the importance of the “copyleft sharing practices” is and will continue to be (even with still different shapes) pivotal because in favour of the concepts of Commons it sways on the proprietary definition of the game rules in the fibre age. And the concept of ownership, differently put forward, is the modern ground of the Western route to politics (Coombe­Herman, 2004: 562).
Copyleft has been in other words a key issue in pointing out economical and juridical benchmarks which are the bedrock in the free circulation of web informations for the success. Authorship acknowledgement in all licenses, for instance those labelled “Creative Commons”, is actually the only default yardstick, i.e. the only mass yardstick common to all license Pagina 198
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
types: maybe the claim of I against the growing Weberian disenchantment for a more and more global world.
The world might get closer in the sense that rulers are likely to look to each other more and more, independently from the state­nation they belong to, and folks alike, but without linearity and with an unfaltering interaction between old (very old) and new, of everlasting that comes back and of only one that does not matter, of ownership and power. Of reactions, endurances and voids.
Will social sciences succeed, after getting rid of pyramid slavery, to clutch the fibre age before being entangled in the web?
References
AA.VV. (1999). Open sources, voci dalla rivoluzione OS. Milano: Apogeo Ed.
Althusser, L. (1973). Pour Marx. Paris: François Maspero.
Andersson, J. (2009). For the good of the net: the Pirate Bay as a strategic sovereign. Culture
Machine, vol. 10, 64-108.
Barabàsi, A.L. 2002. Linked, the new science of networks. Cambridge (Massachusetts):
Perseus.
Bell, D. (1976). The coming of post-industrial society. New York: Basic Book inc.
publishers.
Benkler, Y. (2006). La ricchezza della rete. Milano: Ed. Bocconi. First and second parts here.
Berra, M. (2007). Sociologia delle reti telematiche. Bari: Laterza.
Birrien, J.Y. (1990). Histoire de l'informatique. Paris: Presses Universitaires de France.
Bixio, A. (1980). Proprietà e appropriazione. Milano: Giuffrè Ed.
Breton, P. (1987). Histoire de l'informatique. Paris: La découverte.
Cahir, J. (2004). The withering away of property. Oxford Journal of Legal Studies, 24 (4),
619-641.
Castells, M. (1996). The information age: economy, society and culture. Oxford: Blackwell,
vol. I.
Cheliotis, G., Chik, W., Guglani, A., Kumar Tayi, G. (2007). Taking Stock of the Creative
Commons Experiment. National Center for Technology & Law, George Mason University
School of Law.
Christin, N. (2010). Peer-to-Peer Networks: Interdisciplinary Challenges for Interconnected
Systems, in Dark, M.J., (edited by), Information Assurance and Security Ethics in
Complex Systems, IGI Global.
Coombe, R.J., Herman, A. (Summer, 2004). Rhetorical Virtues: Property, Speech, and the
Commons on the World-Wide Web. Anthropological Quarterly. Vol. 77, No. 3, 559-574 .
Crouch, C.(2004). Postdemocrazia. Roma-Bari: Laterza.
Foray, D. et al (edited by, 2002) La société du savoir. Revue Internationale des Sciences
Sociales, 54, 1/171, 13-24, Paris, UNESCO..
Demker, M. (2008). A New Era of Party Politics in a Globalised World. The Concept of
Virtue Parties. QoG Working Paper, 20.
Firth, C. (November 2009). Pirate Politics. The Nation Reviewed, 18-19, available here.
Foray, D. (2006). L’economia della conoscenza. Bologna: Il Mulino.
Gramsci, A., in Santucci, A.A., (edited by, 1997). Gramsci, le opere. Roma: Ed. Riuniti.
Hardin, G.(1968). The tragedy of the Commons. Science, New series, vol. 162, n. 3859,
1243-1248.
Pagina 199
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Hass, D.A. (Spring 2007). A Gentlemen's Agreement Assessing the Gnu General Public
License and Its Adaptation to Linux. Chicago-Kent Journal of Intellectual Property, vol. 6.
Himanen, P. (2001). L'éthique hacker et l'esprit de l'ère de l'information. Paris: Exils.
Hirschman, AO. (1991). Retoriche dell'intransigenza. Bologna: Il Mulino.
Hobbes. T. (1965). Il Leviatano. Torino: Unione tipografico-ed. Torinese.
Ignatin, G.R. (1992). Let the Hackers Hack. University of Pennsylvania Law Review, 140
(5), 1999-2050.
Jensen, C. (2003). The More Things Change, the More They Stay the Same: Copyright,
Digital Technology, and Social Norms. Stanford Law Review, 56 (2), 531-570.
Kundera, M. (1987). L'insoutenable légèreté de l'être. Paris: Ed. Gallimard.
La due, R., Huckfelt, R. (2008). Social capital, Social networks, and political participation.
Political psychology, 19 (3), Special Issue: Psychological approaches to social capital,
567-584.
Latrive, F. (2004). Du bon usage de la piraterie. Paris: Exils Ed.
Leibniz, G.W. (1992). Scritti di logica. Roma-Bari: Laterza, vol. I-II.
Lessig, L. (2004). Culture libre. French version available here.
Levy, S., (1984). Hackers, heroes of the computers revolution.Stephen Levy, chapters 1 and 2
available here.
Liang, L. (2004). Guide to Open Content Licenses. Rotterdam: Piet Zwart Institute.
Ligonnière, R. (1987). Préhistoire et histoire des ordinateurs. Paris: Ed. Robert Laffont.
Locke, J. (1997). Deux traités du gouvernement. Paris: Vrin.
Luhmann, N., (1982). Potere e codice politico. Milano: Feltrinelli, 21-61.
Luhmann, N. (1978). Stato di diritto e sistema sociale. Napoli, Guida.
Luhmann, N. (1986). The Autopoiesis of Social Systems, in Geyer, F., Van der Zouwen, J.,
(edited by), Sociocybernetic Paradoxes. Sage: London, 1986.
Luhmann, N. (2000). The reality of the mass media.Cambridge: Polity Press.
MacKenzie (2005). Un manifesto hacker. Milano: Feltrinelli.
Macpherson, G.B. (1973). Libertà e proprietà alle origini del pensiero borghese. Milano:
Isedi.
Mancina, C. (1986). Marx e il mondo contemporaneo. Roma: Ed. Riuniti.
Marcuse, H.(1964). One dimensional man. London: Routledge & Kegan Paul Ltd.
Marx, K., Engels, F. (1982). L'idéologie allemande. Paris: Ed. Sociales.
Marx, K. (1974). Il capitale. Roma: Editori Riuniti, book 1, vol. II.
May, C. (2002). The information society: a sceptical view. Cambridge: Polity.
McLuhan, M. (2003). Understanding media, the extension of man. Corte Madera: Gingko
Press.
Miegel, F., Olsson, T. (2008). From pirates to politicians, in Carpentier, et al. (edited by).
Democracy, journalism and technology: new developments in an enlarged Europe. Tartu
University Press, 203-216.
Musso, P. (2007). L’ideologia delle reti. Milano: Apogeo Ed.
Neri, L. (2009). La baia dei pirati. Roma: Cooper.
Nelson, R. (2003). The Advance of Technology and the Scientific Commons. Philosophical
Transactions: Mathematical, Physical and Engineering Sciences, 361 (1809), 1691-1708.
Pala, G. (1984). Il nano e l'automa nel corso del tempo. Roma: Kappa.
Parakkal, M. (2009). Digital piracy, a special focus on the economic perspective. Univ. of
Wien, 2009, here.
Phillips, J. (2009). It’s my party and I’ll cry if I want to. Journal of IP Law & Practice, 4 (7).
Pagina 200
Atti della IV Conferenza Italiana sul Software Libero, 11­12 Giugno 2010, Cagliari
Rapport mondial de l’UNESCO (2005). Vers les sociétés du savoir. Paris: UNESCO Ed.
Available here.
Raymond, E. (1998). La cattedrale e il bazar. Italian version available here.
Rosanvallon, R. (2006). La contre-démocratie. Paris: Éd. du Seuil.
Rothbard, M.N. (1962). Man, Economy, and State. Princeton: Van nostrand.
Schattschneider, E.E. (1998). Il popolo semisovrano. Genova: Ecig.
Schmitt, C. (1988). Théologie politique. Paris: Ed. Gallimard.
Schumpeter, J.A. (1950). Capitalism, socialism and democracy. New York: Harper &
Brothers.
Sombart, W. (1926). Le bourgeois. Paris: Payot.
Stallman, R. (2003). Saggi scelti. Viterbo: Nuovi equilibri. Available here.
Torvalds, L., - Diamond, D. (2001). Just for fun, the story of an accidental revolution. New
York: Texere.
Wallace, R.A., Wolf, A. (2000). La teoria sociologica contemporanea. Bologna: Il Mulino,
chap.II, 27-80.
Webster, F. (2002). Theories of the information societies. London: Routledge.
Wellman, B., et al. (1996). Computer networks as social networks. Annu. Rev. Sociol., 22,
213–38.
Williams, S. (2003). Codice libero. Milano: Apogeo Ed..
Zittrain, J.L. (2006). The Generative Internet. Harward Law Review, 119, 1974-2040.
Pagina 201
1
Riunioni Digitali
Daniel Donato, e Università degli Studi di Salerno, Fisciano, ddonato@unisa.it
Marcello Di Gugliemo, Associazione Intellicom, marcellodgl@gmail.com
Keywords: Sviluppo Software, Riunioni Digitali, Multimedia, Collaborazione
Summary. Scopo di quest’articolo è descrivere il progetto RD (Riunioni Digitali) sviluppato dall’associazione Intellicom. RD è un sistema libero per tenere riunioni on line proficue
almeno come quelle in presenza. Per raggiungere questo ambizioso traguardo, RD integra tecnologie libere sia web based che desktop based. In questo articolo, dopo una breve panoramica
sul sistema in generale (descrizione funzionale del sistema), ci focalizzeremo, in particolare,
sulla struttura del client Sacks (licenza GPL v.3). Immaginando che il lettore possa essere interessato a cimentarsi nella realizzazione di un’estensione, accanto alla descrizione dell’albero
classi del client saranno fornite indicazioni a questo fine.
1.1 Introduzione
La realizzazione di riunioni on line è stato un sogno di molti ricercatori fino dagli
anni ’60. Nella famosa presentazione del sistema NLS, Doug Engelbart all’Augmentation
Research Center dello Stanford Research Institute ha mostrato un’implementazione
di ciascuna delle tecnologie necessarie a raggiungere questo ambizioso obiettivo. Al
1968 la fattibilità tecnica è sembrata essere stata raggiunta. Grazie all’ampia diffusione dei personal computer, delle tecnologie di compressione audio-video, e al
capillare sviluppo della banda larga questo modo di lavorare potrebbe essere alla
portata di un ampio pubblico. Sono infatti ampiamente diffuse le tecnologie hardware necessarie a rendere possibile le riunioni on line e la maggior parte delle tecnologie software è rilasciata con licenze libere. Ciò nonostante, sono ancora pochi
sia gli individui che le associazioni, le imprese e gli enti pubblici che beneficiano di
questa possibilità. A 32 anni di distanza, il settore delle riunioni on line, nonostante
le possibilità tecniche, non esprime ancora a sufficienza la sua potenzialità.
1.1.1 Descrizione dell’idea
Le piattaforme per riunioni digitali attualmente presenti sono strutturalmente distinguibili in due tipologie: web-based e desktop-based. Caratteristica peculiari della
Pagina 202
2
Authors Suppressed Due to Excessive Length
piattaforma (RD), su cui daremo supporto, è quella di integrare il meglio delle tecnologie web based (un sistema di scrittura collaborativo basato su Mediawiki, la piattaforma di gestione dei contenuti Drupal, il server di streaming VLC) con il meglio
delle tecnologie desktop based come (le librerie qt, l’ambiente e gli applicativi di
KDE e VNC) in un sistema integrato e multipiattaforma. La perfetta integrazione
dell’approccio web based e quello desktop based è ciò che differenza e rende innovativo il software su cui daremo supporto. Il nostro servizio di supporto e assistenza
su RD si differenzierà da tutti gli altri perché il nostro sarà l’unico tenuto dagli sviluppatori ufficiali del software; inoltre il nostro servizio sarà l’unico che potrà utilizzare
il logo ufficiale di RD.
1.1.2 Descrizione del percorso
L’idea di realizzare un sistema per riunioni digitali è nata nell’ambito di Adunanza
Digitale. Adunanza Digitale è consistita in una serie di assemblee distribuite che si
sono tenute
in Italia a partire dal 2006. Si è trattato di una sperimentazione socio-tecnologico
(Donato e Napolitano, 2007). L’assemblea si è articolata in una serie di tavoli di
discussione che sono stati organizzati da diverse associazioni nelle seguenti città:
Caserta, Napoli, Salerno, Trieste, Padova, Vigevano (PV), San Giorgio a Cremano
(NA). La partecipazione a ciascun’assemblea è stata resa possibile sia alle persone
in loco che a tutti gli utenti di Internet. Quest’esperienza ha portato alla maturazione
della consapevolezza che l’ecosistema del Software Libero è in grado di offrire tutti
gli strumenti necessari alla realizzazione di un’assemblea digitale. Nonostante ciò,
la realizzazione di una riunione digitale continua ad essere un compito assolutamente non banale. Quello che manca è un software accessibile e usabile che integri tutte le diverse funzioni. La realizzazione di questo progetto mira a colmare
questa mancanza scrivendo un software che renda l’utilizzo di tutte queste tecnologie fruibile. Abbiamo deciso dall’inizio, non solo di voler realizzare questo software
come software libero, ma anche di volerlo concepire in modo tale di essere adatto
all’ecosistema del Software Libero.
1.2 Descrizione funzionale
In questo sistema, per convenzione si stabilisce: l’utente che convoca una riunione
nè sarà anche il chair.
1.2.1 Alcuni giorni prima della riunione.
1. Per indire una riunione (ed essere chair).
• Ammettiamo, per esempio, che l’utente P ippo vuole indire e moderare una
riunione sullo stato dell’agricolutra nel terzo mondo dal titolo: L’ipocrisia
della Green Revolution.
Pagina 203
1 Riunioni Digitali
•
•
•
•
3
L’utente P ippo si iscrive sul sito web (http://riunionidigitali.net).
L’utente P ippo crea la riunione L’ipocrisia della Green Revolution, inserendo titolo, ora di inizio fine e una breve descrizione. (L’utente riceve
una mail di conferma dell’avvenuta prenotazione)
Lo staff di riunionidigitali decise se accettare la riunione L’ipocrisia della
Green Revolution. (saranno accettate tutte le riunioni tranne quelle con contenuti manifestamente contrari ...)
Se l’utente P ippo riceve una mail di conferma dell’accettazione della riunione L’ipocrisia della Green Revolution, da quel momento l’utente P ippo
è il chair della riunione L’ipocrisia della Green Revolution.
Fig. 1.1. L’interfaccia web per proporre una riunione
1. Per partecipare ad una riunione indetta da altri (senza essere chair).
• Ammettiamo, per esempio , che l’utente pluto voglia partecipare alla riunione indetta da P ippo sullo stato dell’agricolutra nel terzo mondo dal titolo:
L’ipocrisia della Green Revolution.
• L’utente P luto si registra al sito web (http://riunionidigitali.net), nello stesso
identico modo in cui si è registrato P ippo.
• Dopo che lo staff avrà autorizzato la riunione indetta da P ippo, l’utente
P luto troverà sul calendario gli estremmi della riunione indetta da P ippo.
• L’utente P luto può iscriversi alla riunione. Dopo l’iscrizione alla riunione
P luto riceverà una mail di conferma dell’avvenuta registrazione.
A questo punto sia P ippo che P luto possono scaricarre, installare e autenticarsi utilizzando il client Sacks (http://riunionidigitali.net/?q=content/download-
Pagina 204
4
Authors Suppressed Due to Excessive Length
client-sacks). Per autenticarsi gli utenti devono utilizzare le stesse credenziali necessarie per l’accesso al sito web. Attraverso il client sarà possibile fruire di tutti i
servizi messi a disposizione dal server.
1.2.2 Il giorno della riunione
1. Alcune ore prima della riunione
• Il server acquisisce dal sito web le informazioni sulla riunione, riconosce
quindi come chair l’utente P ippo e accetta la partecipazione di tutti coloro
che si sono iscritti alla riunione (P luto incluso).
• Il server invia inolte a tutti gli utenti una mail di remind.
Al momento in cui inizia la riunione
•
•
•
Per partecipare alla riunione, gli utenti registrati, dovranno semplicemente loggarsi mediante il client Sacks. In questo modo sia P ippo, che P luto, ma anche
tutti gli altri partecipanti saranno automaticamente in riunione.
Agli utenti non registrati per la riunione viene dato un messaggio che chiarisce
l’impossibilità di avere accesso
Tutti gli utenti che non si sono registrati possono seguire la riunione mediante
l’interfaccia web.
Gli utenti che partecipanti alla riunione possono fruire di diverse funzionalità. Riportiamo qui quelle più importanti divise per modulo.
Modulo stream audio video
1. Il modulo per lo stream audio/video permette ai partecipanti di potersi vedere,
sentire e di mandare lo stream di ciò che fanno sul proprio desktop.
•
•
•
Dall’inizio della riunione P ippo decide quali utenti possono inviare lo stream
del proprio desktop/web cam.
Tutti gli utenti che partecipano alla riunione possono vedere lo stream di tutti i
partecipanti ammessi da P ippo.
P ippo può decidere di dare la parola ad uno dei partecipanti. Quando l’utente
riceve la parola da P ippo il suo stram viene mandato sulla pagina web (http://riunionidigitali.net).
Modulo desktop sharing
1. Questo modulo permette ai partecipanti alla riunione di coordinare l’uso di un
desktop condiviso. Il desktop condiviso risiede su un server.
•
•
L’utente P ippo può attivare un desktop condiviso.
L’utente P ippo decide di volta in volta quale utente può avere accesso alle
azioni sul desktop condiviso.
Pagina 205
1 Riunioni Digitali
5
Fig. 1.2. Client Sacks con attivo il modulo audio-video
•
Tutti gli altri utenti che partecipano alla conferenza, possono avere sempre
accesso alla visualizzazione.
Cosı̀ quando l’utente P ippo selezionerà, per esempio P luto, questo utente potrà
agire sull’desktop. Tutti gli altri solo guardare.
Modulo VoIP
1. Questo modulo permette di gestire chiamate voip
•
Ciascun utente può inserire nella conferenza utenti chiamandoli attraverso
un servizio di VoIP esterno.
Modulo web
1. Questo modulo permette di gestire l’istanza di un browser sui diversi client
•
Il chair può rimandare tutti gli utenti ad un determinato indirizzo web
Nel contesto di una presentazione, può essere utile guidare la navigazione di tutti
i partecipnti su un’unica pagina.
Pagina 206
6
Authors Suppressed Due to Excessive Length
Fig. 1.3. Client Sacks con attivo il modulo desktop sharing
1.3 Descrizione strutturale
componenti
Il client Sacks è scritto in un linguaggio di programmazione ad oggetti Python. Per
lo sviluppo del client abbiamo adottato il framework Qt. Le consta di alcune classi
che gestiscono le principali attività che sono:
la gestione del protocollo e il coordinamento delle attività del software (pyriunioni) la gestione delle attività specifiche degli utenti della riunione (pyuserBox) il
supporto alla comunicazione con protocollo jabber (pyjabber) la definizione della
interfaccia (pymainWindow) il servizio della attività multimediale e di streaming
(pystream)
e alcune classi che forniscono alcuni moduli aggiuntivi
il supporto alle chiamate su telefonia voip (pyvoip) il servizio di desktop remoto
(pyvnc)
La comunicazione avviene su jabber tramite la libreria xmppy che gestisce le
attività di coordinamento della assemblea mediante un protocollo interno e la comunicazione con messaggi agli utenti. I messaggi scambiati cambiano a seconda
Pagima 207
1 Riunioni Digitali
7
Fig. 1.4. Client Sacks con attivo il modulo web
del ruolo di utente semplice o di utente chair, caso in cui si attiva una modalità che
prevede lo scambio di ulteriori messaggi di coordinamento dell’assemblea.
parta server
Il server coordina le attività multimediali della riunioni, mantiene informazioni e
attiva servizi per la realizzazione della assemblea. La comunicazioni per questa gestione avviene con un protocollo di comunicazione rivolto sia al chair che all’utente.
I contenuti multimediali adoperati per le funzioni di streaming utilizzano un formato
libero (XVID). Un flusso multimediale può essere accessibile su sito web mediante
il plugin di VLC. Sul sito del portale questo contenuto audio-video è visualizzabile
alla sezione ”Streaming”. Il server inoltre comunica con la sezione implementata su
Web del portale di RiunioniDigitali per l’attivazione della assemblea.
1.4 aggiunta di un modulo
In futuro rilascieremo un componente per implementare nel sistema la definizione di
moduli di funzioni aggiuntive.
Sacks è distribuito con licenza GPL v.3, e ogni utente è libero di cimentarsi nel
realizzare nuovi moduli. È possibile scaricare i codici sorgenti (oltre ai compilati per
Pagina 208
8
Authors Suppressed Due to Excessive Length
le principali distribuzioni) da http://riunionidigitali.net/?q=content/download-clientsacks
Nel seguito forniamo uno schema di principio per lo sviluppo di un ipotetico
nuovo modulo sarebbe:
•
•
•
il nuovo modulo previsto dovrebbe per prova già funzionare in modo autonomo
di cui è accertata la stabilità: potrebbe trattarsi un codice scritto da zero oppure
una libreria di cui si vuol accedere a determinate chiamate viste come API;
va definita una classe di interfaccia in codice Python che faccia da ponte al codice
del modulo che realizza le attività previste. In questa classe si richiama alla attività “core” del modulo;
Nella classe di interfaccia vanno definiti eventuali metodi che servono a inizializzare e sincronizzare le nuove attività previste con quelle che vengon gestite dal
client Sacks nel contesto di una assemblea.
Usualmente il nuovo modulo approvato viene stanziato all’avvio del programma
e son previsti il lancio dei metodi specifici. Alcuni metodi sono di inizializzazione
dell’attività, altri sono metodi di coordinamento dell’utilizzo e di aggiornamento
dello stato, di questi si distinguono alcuni per le attività del moderatore e altri per
gli utenti comuni dell’assemblea. Nell’interfaccia del Chair saranno disponibili dei
bottoni o form che consentano l’interazione e l’attivazione di questo modulo e che
quindi ne lanciano i previsti metodi. La classe di interfaccia per mostrare la propria
comunicazione grafica con l’interlocutore genericamente presenta un widget che si
va ad inserire all’interno della interfaccia generale del client Sacks. Specificamente
il widget deve essere realizzato per ereditarietà dalla classe QWidget dell’ambiente
PyQt che è l’ambiente framework del client Sacks. L’aspetto widget può essere creata anche usando l’UI designer di QT che genera il codice da richiamare dalla classe
di interfaccia.
Ulteriormente vanno definiti eventuali nuovi messaggi di protocollo per le nuove
attività previste, essi si vanno inserite nel contesto del complesso sistema di messaggi
che coordinano l’assemblea; alcuni sono da e per il server altri da e per il chair.
il caso del desktop sharing
Il caso del desktop sharing ha seguito la prassi di sviluppo di un modulo esterno
di Sacks. Questo modulo permette di visualizzare un desktop Remoto proveniente
da un server VNC. E’ stata realizzata una classe ”Core” chiamata pyvncCore che
si interfaccia alla libreria che effettua la funzionalità interna del servizio, ossia il
previevo dei frame in tecnica RFB dal server VNC.
The class is "pyvncCore", which is used to create
a connection to a RFB (remote desktop server).
It realizes authentication, manages keys and
mouse events and elaborate screen updates.
It receive ’host’, ’display’, ’password’ as
launching parameters.
Pagina 209
1 Riunioni Digitali
9
class pyvncCore(QtCore.QThread):
def __init__(self, host, display, passwd, parent=None):
QtCore.QThread.__init__(self, parent)
Viene realizzato un Widget con i frame che vengon acquisiti di volta in volta
qualora viene fornito un aggiornamento dal server oppure si genera un evento sulla
interfaccia. Sono usati in questa classe alcuni metodi che elaborano queste attività.
Ad esempio:
def elaboratePix(self, image):
Method "elaboratePix" that sect the updated frame
received from VNC server as parameter
def mousePressEvent(self,mouseEvent):
Method "mousePressEvent" that receive event from
Desktop mouse press interaction, recognize it and
send the value to the server through the vnc
core library.
def keyPressEvent(self,keyPressEvent):
Method "keyPressEvent" that receive event from
keyboard interaction, recognize the characther
and send the value to the server through the
vnc core library.
Un’altra classe chiamata pyvncInterf ace è stata scritta per essere inglobata all’interno
del Finestra principale di Sacks. Si tratta di una classe di interfaccia utilizzata per
ricevere gli eventi di mouse e tastiera e per aggiungere dei bottoni in menù per la
gestione del servizio.
The class is "pyvncInterface", which is
used to create an Interface to a VNC
remote desktop instance. It inherit the
Qt MainWindow definition.
class pyvncInterface(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
Sono presenti in questa classe di interfaccia dei metodi che attivano il servizio in
questione di Desktop remoto; da parte del Chair vengon ricevuti dei comandi di
protocollo che servon a lanciare questi metodi quando opportuno.
Ad esempio:
def setScreenParameters(self, parameters=None):
Method "setScreenParameters" that set the vnc-session
connection parameters which are received from a protocol
command and launched from a button interaction.
Pagina 210
10
Authors Suppressed Due to Excessive Length
1.5 Conclusioni e prospettive future
Quando abbiamo cominciato a cimentarci nella realizzazione di Riunioni Digitali
avevamo chiaro in mente che avremmo sviluppato, per ragioni etiche, un software
che doveva essere libero. Non ci rendevamo conto di quanto conveniente era la scelta
che stavamo facendo. L’ecosistema del Software Libero mette, infatti, a disposizione
di ogni sviluppatore tutti i principali componenti necessari per confrontarsi con i
principali concorrenti proprietari. In futuro, il progetto evolverà sempre più verso la
direzione di avvantagiarsi della particolarità dell’ecosistema del Software Libero.
Abbiamo intenzione di rendere questo strumento sempre più simile ad un ’service manager’. Con ’service manager’ intendiamo un programma analogo al package manager descritto da Burrow (2005) ma il cui scopo è amminitrare un gruppo
di computer. e sempre più diverso da un sisema di videoconferenza. A questo scopo
abbiamo intenzione di rilasciare al più presto, tutta la documentazione necessaria a
mettere la comunità in grado di realizzare nuovi moduli.
References
1. Donato, D., (2007), “Adunanza Digitale: la nascita di un movimento”, in TECNOLOGIE
EMERGENTI E COSTRUZIONE DI CONOSCENZA , (a cura di M. B., Ligorio e S.,
Smiraglia), Script Web, ISBN:978-88;89543;80;1., Bologna.
2. Donato, D., (2009), “Il progetto Sacks”, Atti ConfSL, Bologna.
3. Burrows, D., (2005), “Modelling and Resolving Software Dependecies.”, Unpublished
manuscript.
4. Donato, D., Napolitano, F., (2007),“Adunanza Digitale: la nascita di un movimento”, Atti
del Primo Convegno Nazionale del CKBG, 27-28 Marzo 2007, Scriptaweb.
Pagina 211
ILDJIT: A parallel, free software and highly flexible Dynamic Compiler
Simone Campanoni, Harvard University, 33 Oxford street, 02139 Cambridge, MA USA,
xan@eecs.harvard.edu
Michele Tartara, Politecnico di Milano, via Ponzio 34/5, 20133 Milano, Italy,
mtartara@elet.polimi.it
Stefano Crespi Reghizzi, Politecnico di Milano, via Ponzio 34/5, 20133 Milano, Italy,
crespi@elet.polimi.it
Abstract
ILDJIT, a new-generation dynamic compiler and virtual machine designed to support parallel compilation,
is here introduced. Our dynamic compiler is a free software released through the GNU General Public
License (version 2) and it targets the increasingly popular ECMA-335 specification. The goal of this project
is twofold: on one hand, it aims at exploiting the parallelism exposed by multi-core architectures to hide
dynamic compilation latencies by pipelining compilation and execution tasks; on the other hand, it provides
a flexible, modular and adaptive framework for dynamic code optimization. Thanks to the compilation
latency masking effect of the pipeline organization, our dynamic compiler is able to mask most of the
compilation delay, when the underlying hardware exposes sufficient parallelism. Even when running on a
single core, the ILDJIT adaptive optimization framework manages to speed up the computation with respect
to other open source implementations of ECMA-335.
Keywords: Virtual machine, dynamic compilation, parallel system.
1 Introduction
The use of a virtual machine language, instead of machine code, is by now a well-established and successful
technique for porting programs across different hardware platforms, without incurring into the difficulties
and draw-backs of software distribution, when done at source-language level. In addition, interoperability
between different source languages is made possible by their translation into a common suitable virtual
code. Java bytecode first, and then CLI (Common Language Infrastructure) are the de facto industrial
standards for such virtualization of the Instruction Set Architecture (ISA). In particular CLI has become
a very attractive framework, where applications written in multiple high-level languages, including also
unmanaged language like C, can be executed in different system environments, at no cost for adaptation.
The increasing acceptance of CLI, also in areas traditionally reserved to direct compilation into machine
code, is witnessed by the growth and consolidation over the years of the tool chains needed to support
virtualization, namely static front-end compilers translating popular source languages into virtual code, and
Virtual Execution Systems (VES), such as .NET, Mono, and Portable.Net. Although the first VES’s were
based on code interpretation, all modern ones use instead Dynamic Compilation (DC), in order to achieve
better performances.
A VES is a very complex software system that takes years for his development and in a sense is never finished, since new requirements keep coming from the advances in machine architectures, source languages,
operating systems and middleware. Therefore it is not surprising that the current generation of VES has been
designed having in mind the desktop personal computers and the traditional embedded systems, before the
advent of multi-core architectures and single-chip multiprocessors, and without taking into consideration
the great opportunities they offer for parallelization inside the VES and between VES and application.
The new free software VES that we present here is named ILDJIT (Intermediate Language Distributed
Just-In-Time) [5]. It is intended for multi-core architectures, and flexible enough to easily adapt to the
evolving and hard to anticipate requirements of modern computer platforms. ILDJIT is designed to be easily
extensible by providing a framework where existing modules can be substituted by user customized ones. It
takes as its input files written in the Common Intermediate Language (CIL) bytecode (designed by Microsoft
for its DotNet framework and later standardized as ECMA-335 [8] and ISO/IEC 23271:2006 [10]) and
executes them after translation to machine code by means of Just-In-Time compilation.
Parallelism is exploited in different ways: by means of a pipeline of translation and optimization phases (see
Section 2), and by using a predictive approach, termed Dynamic Look Ahead (DLA, described in Section
3) to choose the methods to be compiled.
Pagina 212
Figure 1: Pipeline model implemented inside the ILDJIT compiler
In particular, Section 2 and 3 presents ILDJIT’s parallel features, Section 4 describes the recently obtained
ILDJIT portability on different hardware architectures and the overall improvements it brought, and Section
6 presents some numeric results showing ILDJIT performances. Finally, Section 7 sets a road-map for future
research and Section 8 concludes.
2 Pipeline architecture
The work of dynamic compilers can be divided into a series of subsequent steps, namely, loading the input
bytecode, decoding it to an intermediate language, optimizing it, translating it to machine code and finally
executing the program. Even if these steps expose a natural pipeline parallelism, most dynamic compilers,
such as Mono and Portable.NET, perform these steps in a completely sequential way: each method of
the program has to pass through all the phases of the compilation process, one after the other. When the
method being executed needs to invoke another method, the execution will be stopped and the new method
will have, in turn, to undergo the full compilation sequence.
ILDJIT exploits this kind of parallelism found across compilation phases by relying on an internal pipeline
structure (see Figure 1) which aims to overlap as much as possible the compilation efforts. The software
pipeline allows even sequential programs compiled in CIL to benefit from multiple hardware cores: while
one core executes the current method, the other ones can be used to pre-compile and optimize methods
that will have to be used in the future. Each method will have a flag indicating its current translation
state, namely CIL, IR, MACHINECODE, EXECUTABLE. While the names of CIL and IR states are pretty
self-explanatory, some word needs to be spent to clarify the meaning of the other ones: methods in MACHINECODE state are present in the system in CIL and IR form, and have already been translated to
machine code. EXECUTABLE methods are present in the same forms of MACHINECODE ones, but all the
static memory they need has been allocated and initialized, therefore they are ready to be executed.
Deciding which methods can be precompiled is done through DLA, explained in the next Section.
3 Dynamic Look Ahead compilation
Dynamic Look Ahead (DLA) [6] is a recent compilation technique, which aims to mask as much as possible
the compilation delay by overlapping the compilation efforts. As Figure 2 shows, this technique predicts
at runtime where the execution is going to go and it starts the compilation of parts of the application code
before the execution asks for it.
This model is based upon the use of two priority queues (see Figure 3) (a low priority one and a high priority
one) and on runtime code profiling of the bytecode application.
Pagina 213
Figure 2: Look-Ahead-Region of DLA compilers
DLA
IR−>IR
Ram
BC−>IR
IR−>IR
IR−>Bin
EX
IR−>IR
BC−>IR
DLA
invoke
IR−>IR
Figure 3: Internal organization of a DLA compiler. BC is the source bytecode (CIL) and ovals are the
internal threads of the compiler
Most information comes from the Static Call Graph (SCG): it is the graph where each node represents a
method of the program, and two nodes mi and mj are linked by a directed arc mi → mj if mi can invoke
mj .
Even if the information of the SCG is static (therefore it exclusively depends on the source code of the
program), the dynamic compiler does not know all of the SCG immediately: it gets to know it a portion at
a time, while execution takes place. For this reason, the graph is defined Dynamically Known Static Call
Graph (DKSCG).
Each time a method m is compiled, all the methods mi it can invoke are candidates for being executed in
the near future.
Let γ(m, mi ) be the weighted distance between m and mi . We define the Look Ahead Region as LAR =
{mi | γ(m, mi ) ≤ T hr}, where T hr is an implementation-dependent threshold.
It is worth noting that the distance has to be weighted to take into consideration the probability of executing
each method. The weight of the arc a = (mi , mj ) is defined as f ( λ1 , δ) where f is a monotonic function
of its parameters, λ is the likelihood of invocation of the method mj from mi , and δ is the estimated time
distance between the execution of the first instructions of mi and of mj if the a arc is taken.
Methods in the LAR are added to the low priority queue to be precompiled, in an order depending on their
execution probability. If during the execution of the program a not yet compiled method is invoked, a
trampoline is taken, that calls an internal function of the compiler which will add the called method to the
high priority queue (together with methods potentially invoked by it), in order to immediately compile it
and resume the execution of the program.
As it can be seen, in an ideal situation, the high priority queue should never be used, and all the methods
should already be ready when needed, thus completely masking out the delay introduced by JIT execution.
However, it may happen that a wrong prediction leads to the need to insert a method in the high priority
queue, or that compilation delay makes necessary to move a method from the low priority queue to the high
priority one.
Pagina 214
4 A multi-platform JIT
Another outstanding feature of ILDJIT is its portability: currently ILDJIT is able to run on top of ARM,
x86 and AMD 64 bits processors. In this section we focus on the back-end developed for ARM processors.
In recent years, computational devices are changing. More and more frequently we find that smartphones,
PDAs and other devices that are not usually associated with the concept of “computational power” are
using increasingly powerful processors. In most cases, these processors are not compatible with Intel x86
Instruction Set Architecture, therefore, for a software to support them, it means that it has to be ported.
The development of ILDJIT is mainly done on Intel x86 processors, but the compiler has now been ported
to ARM architectures too. This port has been done as part of the work for the Open Media Platform (OMP)
European project, aiming at the definition of an “open and extensible service & software architecture for
media-rich end-user devices, such as mobile phones or mobile media players, that will address software
productivity and optimal service delivery challenges”. [2]
The work led to the realization of a fully-working implementation able to run on ARM9 hardware with
Vector Floating Point (VFP) coprocessor and, with partial functionality, even on hardware without VFP. At
the moment, VFP is used just to perform floating point operations. Vector capabilities of this coprocessor
are not yet used by ILDJIT.
ARM development is performed using the Qemu [1] emulator as the development platform, targeting an
ARM926 processor. This choice is due to the ease of development offered by the emulated environment
with respect to using a development board.
From time to time, results are validated by running ILDJIT on real hardware, namely an NHK15 development board by STMicroelectronics. This is needed because there is some difference between Qemu’s
emulated hardware and the real one, in particular with respect to the memory model. ARM9 hardware
does not allow unaligned accesses to memory: each load or store operation has to be aligned to a multiple
of the size of the data that are being read. This is due to architectural and performance reasons: in order
to reduce the time to access memory, the power consumption and the cost of the processor, there is no
hardware support for unaligned access. Failing to comply with this limitation, leads to having invalid data
returned by load operations or saved by store operations. On the other hand, as of version 0.11, Qemu
emulation permissively supports unaligned memory accesses. This is probably due the fact that Intel x86
processors support this kind of operation and Qemu directly uses the underlying primitives to interact with
the emulated memory.
As of the end of the OMP project, ILDJIT is able to run on the NHK15 board JIT-compiling a Scalable
Video Decoder translating an H.264 video to YUV format.
Porting ILDJIT to a second architecture brought several advantages: first of all, it increased the number of
potential users and uses, and, due to the widespread adoption of ARM processors in the embedded systems
industry, widened considerably the number of devices it can run upon.
Recently, multi-core ARM processors are starting to show up in commercial applications (such as the
Cortex-A8 ARM dual core chip, used by Nokia’s N900 Linux-based Internet tablet). ILDJIT’s internal
structure focused on the exploitation of hardware parallelism (already described in Sections 2 and 3) and
based upon the use of many different operating system threads will automatically improve the performances
of the compiler when run on such processors.
5 Project diffusion
The compiler ILDJIT is available on the web [4] since May 2007 and, after that date, more than one hundred
releases have been provided. Table 1 reports the important improvements among the main releases of the
project.
ILDJIT project started at Politecnico di Milano and currently both this University and Harvard University
collaborate to this project.
Based on the number of downloads, it can be stated that after few months from the first release of the
compiler, an increasing interest on the project has been shown. The number of downloads of the compiler
increases month after month, and at the time this dissection has been written, more than ten thousands
downloads have been registered. Moreover, Figure 4 shows the distribution of accesses to the website and
downloads of the project over the world.
Several tutorials and documentations of internal aspects of the project are available within the several releases, in order to enable outside researchers and software developers to start to work within the project.
Pagina 215
Table 1: Improvements of ILDJIT among its main releases
Release
0.0.1
0.0.1.2
0.0.1.7
0.0.1.8
0.0.1.9
0.0.2
0.0.3
0.0.4
0.1.0
0.2.0
0.3.0
Main improvements
Start release
Support of the 30% managed CIL provided
Dead code and constant propagation optimizations
provided
5 code optimization algorithms provided
2 Garbage collectors provided
12 code optimization algorithms provided
Support of the 40% managed CIL provided
Support of the 10% unmanaged CIL provided
Support of the 50% managed CIL provided
Support of the 40% unmanaged CIL provided
16 code optimization algorithms provided
4 Garbage collectors provided
Add the support of EM64T ISA
Add the partial support of ARM ISA
Add the partial support of Windows OS
Add the partial support of MacOS OS
Complete the support of ARM processors
Support of the 70% managed CIL provided
Support of the 80% unmanaged CIL provided
24 code optimization algorithms provided
Add the partial support of Solaris OS
Support of the 80% managed CIL provided
Support of the 90% unmanaged CIL provided
24 code optimization algorithms provided
Add the partial support of Solaris OS
Support of the 100% managed CIL provided
Support of the 90% unmanaged CIL provided
28 code optimization algorithms provided
Year
2005
2006
2007
2007
2007
2008
2008
2009
2009
2009
2010
Figure 4: Snapshot of the world wide interests on ILDJIT project in April 2010
Pagina 216
Figure 5: Execution time of Mono, Portable.NET and ILDJIT compiler. Benchmarks are considered with
both small input set size (S) and large one (L).
Moreover, the ILDJIT project is currently used both at Politecnico di Milano and at Harvard University in
teaching classes.
6 Experimental results
In this section, some measurement will be provided, comparing ILDJIT with the Mono and Portable.NET
Just-In-Time compilers.
Intel x86 results were obtained by running on top of a Intel Xeon E5335 at 2 GHz. ARM results have been
taken in Qemu 0.11, running on an underlying Intel Core 2 Duo P8400 dual core processor at 2.26GHz
processor.
The numerical results reported are the mean value of four execution of the benchmarks out of five. The
timings of the first execution have been discarded to prevent negative effects due to the caching of data to
memory from the hard disk.
Figure 6: Distribution of times between the various phases of compilation for ILDJIT running Linpack
CIL loading
0,27%
CIL→IR
0,25%
IR Opt.
0,61%
IR→EXE
0,08%
Static mem. init.
0,15%
Pagina 217
Trampolines
0,96%
Execution
97,67%
Table 2: Percentage of time required by each of the JIT compilation phases, for ILDJIT running Linpack
(where “EXE” stands for “executable machine code“.
Figure 7: Comparison of ILDJIT and Mono running on ARM
Mono
ILDJIT
FFT
0,968
1,709
Montecarlo
13,869
1,842
SOR
0,677
1,442
Linpack
4,389
2,784
BinaryTree
1,238
8,072
SHA1
1,176
4,622
SparseMM
2,45
1,659
Table 3: Execution times for some test programs with ILDJIT, compared with Mono on ARM platform
Figure 8: DLA results as a function of the number of CPU
The chosen benchmarks are taken from well-known test suites, such as Java Grande [9], Linpack and
Scimark [11]. In particular, the following benchmarks have been used:
JGFFFT (FFT) part of the Java Grande benchmarks, it computes Fourier coefficients, which test the computation of floating point transcendental and trigonometric functions.
Pagina 218
SciMarkMONTECARLO (Montecarlo) part of the SciMark test suite, it estimates π by approximating
the area of a circle using the Montecarlo method.
SciMarkSOR (SOR) part of the SciMark test suite, it solves the Laplace equation in 2D by successive
over-relaxation.
Linpack measures how fast a computer solves a dense N × N system of linear equations Ax = b. This
test was originally written for Fortran. This particular version is in C# and comes from the Pnet [12]
test suite.
BinaryTree taken from the Great Computer Language Shootout website [3], aimed at measuring the performance of various programming language, this test performs a series of operations on binary trees.
SHA1 it contains an implementation of the Secure Hash Algorithm (SHA), and in particular, of the SHA-1
variant, that produces a 160-bit message digest for a given data stream. Therefore, this algorithm can
serve as a means of providing a "fingerprint" for a message. The test applies the SHA-1 algorithm on
a series of test patterns.
JGFSparseMatMult (SparseMM) it is taken form the Java Grande Benchmark Suite and it exercises
indirect addressing and non-regular memory references. An N × N sparse matrix (with a prescribed
sparsity) is multiplied by a dense vector 200 times.
The first important evaluation is about the overhead of having a multi-threaded compiler: Figure 5 shows
that even when ILDJIT runs on top of a platform that provides only one core, it is competitive w.r.t its
competitors (Mono and Portable.NET). In order to compare the virtual machines, we have considered small
inputs (benchmarks with the S character at the end of their name) and large inputs (L). We can notice
that whenever the application code runs for less than 1 second (Small input), ILDJIT is slower than its
competitors; this is due to the fact that the bootstrap of our compiler is more complex than others (it has to
spawn threads, etc. . . ) that are single thread program and therefore ILDJIT needs more time to start. On
the other hand, if we consider application codes that run for more than 1 second (L), ILDJIT starts to be
competitive.
As it can be seen in Figure 6 and in Table 2, overall JIT compilation times are just a tiny fraction of the total
execution time.
Data in Table 3 and Figure 7 show a comparison between running times of some benchmarks with ILDJIT
and Mono on the ARM platform. Mono [7] is the main open source JIT for CIL: it is a Virtual Execution
System for programs in CIL bytecode, and it is developed by a wide community of programmers, with
support from Novell.
As it can be seen in Figure 7, the results of the two compilers are quite close, with Mono frequently ahead.
The outstanding results obtained by ILDJIT in some of the tests (such as the Montecarlo benchmark) come
from the fact that its code generator is able to produce instructions for the VFP coprocessor, where available,
therefore obtaining a great advantage in terms of performance on floating point based benchmarks. On the
other hand, in other cases Mono is faster than ILDJIT, because of the better and more optimized code
produced by its code generator when there are no floating point operation involved.
Figure 8 shows the effect of compiling a program with DLA with respect to JIT. The benchmarks used are
Jpeg and Heapsort, taken from the MiBench suite. As it can be seen, DLA is strongly dependent on the
number of used CPUs. With one CPU, it can be even slower than JIT compilation (because of the cost of
handling the compilation pipeline) but as the number of CPUs increases, the result become increasingly
positive. However, it has to be noted that the performance improvement is bounded. In particular, it
depends on the branching factor of method calls in the compiled program. Once there are enough CPUs to
precompile all of the methods, adding more CPUs does not bring any additional improvement.
7 Future work
At this time, ILDJIT focuses on exploiting parallelism internally, in order to make the JIT compilation as
lightweight and as hidden as possible, through its software pipeline and DLA compilation. The executed
program is not influenced by this.
In the future, some exploratory work will be done aiming at extracting parallelism from the executed code,
in order to make its execution even faster and to allow legacy sequential code to take advantage of the
increased degree of parallelism of the incoming architectures.
Pagina 219
This could happen at two different levels, with detection of either fine-grained or coarse-grained parallelism
(or even both). First of all, the code generator could be extended to support vector instructions, to perform
Single Instruction Multiple Data calculations. On the other end, blocks of code that are not dependent on
the rest of the program could be moved to a new thread and run on a different processor core, thus obtaining
faster execution.
8 Conclusions
This paper presented the ILDJIT compiler and the features it has aimed at exploiting hardware parallelism
present in recent architectures.
In particular, the software pipeline and DLA, built upon operating system threads, allow the compiler to
adapt to the underlying hardware, fully exploiting its resources, even when running programs non-explicitly
written for parallel systems.
References
[1] Qemu - open source processor emulator. http://www.qemu.org.
[2] Open Media Platform (OMP) European project. http://www.openmediaplatform.eu, 2008.
[3] The Great Computing Language Shootout. http://shootout.alioth.debian.org/, 2009.
[4] S. Campanoni. ILDJIT website, December 2009.
[5] S. Campanoni, G. Agosta, S. Crespi Reghizzi, and A. Di Biagio. A highly flexible, parallel virtual
machine: design and experience of ildjit. Softw. Pract. Exper., 40(2):177–207, 2010.
[6] S. Campanoni, M. Sykora, G. Agosta, and S. C. Reghizzi. Dynamic look ahead compilation: A
technique to hide jit compilation latencies in multicore environment. In O. de Moor and M. I.
Schwartzbach, editors, Compiler Construction, pages 220–235. Springer, 2009.
[7] M. de Icaza, P. Molaro, and D. Maurer. http://www.go-mono.com/docs. Mono documentation.
[8] ECMA. ECMA-335: Common Language Infrastructure (CLI). ECMA (European Association for
Standardizing Information and Communication Systems), Geneva, Switzerland, fourth edition, June
2006.
[9] Edinburgh Parallel Computing
http://www.epcc.ed.ac.uk/research/
javagrande/benchmarking.html.
Centre.
Java
Grande
Forum
Benchmark
Suite.
[10] ISO-IEC. Programming Languages—C#, ISO/IEC 23270:2006(E) International Standard, ansi standards for information technology edition, 2006.
[11] R. Pozo and B. Miller. http://math.nist.gov/scimark2. SciMark benchmark.
[12] Southern Storm Software. http://www.southern-storm.com.au. DotGNU Portable .NET project.
Pagina 220
Si ringraziano