Open source in azienda: aspetti economici, organizzativi, legali Carlo Daffara European Working Group on Libre Software Conecta Research ltd David D'Agostini Avvocato Docente di diritto delle nuove tecnologie
"Open Source software is the most significant all-encompassing and long-term trend that the software industry has seen since the early 1980s" [IDC] In particolare, dal punto di vista economico già adesso costituisce il 25% del valore complessivo del mercato del software [Gartner]:
da Windows a Linux in azienda LinuxDay 2007
OSS isn t just cheap it s good and cheap. Only a minority of respondents said that OSS hasn t met their quality expectations. A vast majority (i.e., 92%) said that their quality expectations have been met or even exceeded. The satisfaction regarding cost was on a similar level at 87%. Forrester, 2008 "In a survey of 800 IT managers, InfoWorld found that of all the FLOSS adopters, those collecting the most significant benefits are those that deploy more open Source products, with 24% of the "large users" (more than 100 products) reporting savings of more than 60%. It is also interesting to notice that only a very small percentage (7%) reports that there are no savings or that costs have increased compared to proprietary software. "
Cosa si può dire della qualità del software OSS? "The hypothesis that open source software fosters more creativity is supported by our analysis. The growing rate, or the number of functions added, was greater in the open source projects than in the closed source projects. This indicates that the open source approach may be able to provide more features over time than by using the closed source approach. "In terms of defects, our analysis finds that the changing rate or the functions modified as a percentage of the total functions is higher in open source projects than in closed source projects. This supports the hypothesis that defects may be found and fixed more quickly in open source projects than in closed source projects, and may be an added benefit for using the open source development model. (Paulson, Succi, Eberlein An Empirical Study of Open Source and Closed Source Software Products )
Le aziende che usano software OSS all'interno dei propri prodotti e servizi hanno una maggiore efficienza: Revenue per employee rating (FLOSS firms vs. Industry average) Computer Equipment 182% Software consultancy and supply 427% Services (excl. software cons. and supply) 211% 136% Manufacturing (excl. computer equip.) Other 204% ALL: 221%
All'interno di diversi progetti Europei (COSPA, CALIBRE, SPIRIT, FLOSSMETRICS, OpenTTT, INES) sono stati valutati i costi reali di una adozione o migrazione al software OSS in ambiti aziendali diversi (industria, Pubblica Amministrazione, R&D...) Tra i risultati del progetto COSPA, la valutazione dei costi complessivi (tangibili e intangibili) all'avvio e a 5 anni nelle PA, che ha mostrato come l'adozione strutturata del software OSS porti a risparmi sensibili anche a lungo termine Il progetto ha mostrato anche come la ricerca delle competenze, la selezione del software e la preparazione della roadmap di adozione siano tra le spese maggiori (fino al 40% del costo, superiore persino al training), e che un progetto mal condotto raramente ha successo 9000 16000 8000 14000 7000 12000 6000 5000 4000 3000 OSS Proprietary 10000 8000 6000 OSS-5yrs Prop-5yrs 2000 4000 1000 2000 0 SGV BH (phase 1) BH (phase 2) 0 SGV Estremadura BH (phase 1) BH (phase 2)
Tra le best practice identificate dalla Commissione: Stabilire una sostanziale uguaglianza nell'approccio di adozione tra OSS e software proprietario Preparare una sintesi delle aspettative dall'adozione, compresi i benchmark da utilizzare Stabilire timeframe realistici, e allocare risorse adeguate Adottare una metodica di valutazione dei prodotti OSS Ci sono più di 12000 prodotti OSS stabili e maturi per il mondo Enterprise; di questi, meno del 10% ha visibilità sul mercato Italiano Tra gli approcci Europei: QUALOSS, FLOSSMETRICS Valutare criticamente le licenze e le eventuali estensioni Open Core 10% dei prodotti indicati sui siti web come OSS in realtà non lo sono Se necessita di estensioni proprietarie per funzionare, e' proprietario Identificare in modo esplicito le funzionalità richieste, non le similarità con altri prodotti di mercato Difficilmente i prodotti sono tra loro comparabili, e cercare qualcosa come... solitamente porta a scarsi risultati Nel mondo OSS l'approccio modulare consente di approssimare rapidamente il risultato desiderato, spesso con moduli di integrazione già realizzati da altri utenti
Alfresco ECM CMIS Zimlet Drupal WCM Zimlet Zimbra groupware server SOAP DimDim conferencing DRUID VoIP gateway
Creare un punto di contatto tra l'azienda e il mondo OSS (commerciale e non) Strutturare un processo per cercare e raccogliere informazioni, interfacciarsi con il mercato OSS commerciale (che presenta molte differenze in termini di procedura di acquisizione rispetto all'ambito proprietario), propagare i risultati in azienda Sia per le adozioni che per le migrazioni, creare un workbook dinamico (Wiki/Blog) Raccogliere in modo unificato le informazioni sulle scelte e sui responsabili, sui processi e sui risultati per consentire un passaggio informativo più efficace e robusto (anche in presenza di modifiche nell'organico) Fornire agli utenti una base di informazioni realistica e comune Non il software OSS è meglio, il software X è peggio ma presentare vantaggi e svantaggi in modo realistico In particolare, la forma di sviluppo e release del software OSS cambia a seconda delle categorie in uno spettro continuo tra OSS commerciale e OSS collaborativo No compliance without education
Identificare le reali necessità di supporto Il 70% delle applicazioni reali NON richiede supporto commerciale, ma solo supporto interno paragonabile a quello comunque necessario per l'utilizzo di un prodotto proprietario Definire criteri espliciti per l'approvazione: Ad es. Licenze, uso (interno/esterno/in prodotto), fonti, supporto
Usare lo strumento più adatto, in modo pragmatico La coesistenza tra OSS e proprietario consente di sfruttare il meglio dei due mondi
da Windows a Linux in azienda LinuxDay 2007
Il Software e le sue definizioni: OMPI (Organisation Mondiale de la Propriété Intellectuelle) (1978) Programma per elaboratore : l insieme di istruzioni che può, una volta trasferito su un supporto leggibile dalla macchina, far svolgere una funzione, realizzare un compito o ottenere un risultato particolare per mezzo di una macchina per l elaborazione delle informazioni. Descrizione di programma : la presentazione completa di operazioni, in forma verbale, schematica o altro, sufficientemente dettagliata per determinare l insieme delle istruzioni costituente il corrispondente programma per elaboratore Documentazione ausiliaria: ogni altra documentazione diversa dal programma di elaborazione o dalla descrizione di programma, predisposta per facilitare la comprensione o l applicazione del programma di elaboratore, come, per esempio, la descrizione di problemi e di istruzioni ad uso degli utenti. Computer Software Copyright Act (12 dicembre 1980 - U.S.A) A computer program is a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result La normativa comunitaria (Direttiva 250/91/CEE) e la legge di attuazione italiana (D.lgs. 29 dicembre 1992 n 518) non contengono definizioni di programma per elaboratore
Art. 1 L.A. (modificato dal d.lgs.518/92): Sono protette ai sensi di questa legge le opere dell ingegno di carattere creativo che appartengono alla letteratura, alla musica, alle arti figurative, all architettura, al teatro ed alla cinematografia, qualunque ne sia il modo o la la forma di espressione. Sono altresì protetti i programmi per elaboratore come opere letterarie ai sensi della Convenzione di Berna sulla protezione delle opere letterarie ed artistiche ratificata e resa esecutiva con L. 20 giugno 1978, n. 399. Autore Creazione Opera
Ciclo di vita del Software Idea Algoritmo Programma -Analisi del problema -Studio di fattibilità -Sorgente -Oggetto -Documentazione
Inquadramento del Software Come bene immateriale Come bene materiale - inconsumabile - utilizzabile contemporaneamente da più persone, senza menomazione dell utilità ritraibile da ciascuno - qualora faccia parte dell hardware come elemento necessario per il funzionamento del computer Es.: Device Driver su Firmware
Forma del programma Sorgente Forma espressiva del programma direttamente comprensibile, o suscettibile di essere compresa dall uomo Oggetto Forma espressiva del programma leggibile ed eseguibile dall elaboratore (Linguaggio macchina) Entrambi ricompresi nella tutela Desumibile dal fatto che: sono oggetto di tutela i programmi per elaboratore in qualsiasi forma espressi... il termine programma comprende anche il materiale preparatorio per la progettazione del programma stesso (Art. 1, comma 2, n 8 L.A.) considerando della Direttiva CEE: il termine programma per elaboratore indica programmi. compresi quelli incorporati nell hardware.
Creatività e Originalità Non rileva, dal punto di vista del diritto d autore, la creatività e l originalità dell algoritmo Protetta esclusivamente la forma espressiva del programma, come sequenza di istruzioni Destinazione del programma al computer e valutazione dell originalità e creatività del programma sotto il profilo del parametro dell utilità rispetto al funzionamento del computer stesso (a differenza del parametro estetico, rilevante per le opere letterarie) Es. costo computazionale del programma oggetto Casi limite: copia sostanzialmente letterale delle istruzion istruzioni esprimibili in unica forma e sequenza obbligata
Contenuto del Diritto d Autore Diritti esclusivi di: rivendicare la paternità dell opera e di opporsi a qualsiasi deformazione, mutilazione od altra modificazione, e ad ogni atto a danno dell opera stessa pubblicare l opera utilizzare economicamente l opera in ogni forma e modo, originale o derivato, ed in particolare riprodurre l opera, mediante moltiplicazione in copie trascrivere l opera eseguire, rappresentare o recitare in pubblico diffondere a distanza mettere in commercio tradurre in altra lingua o dialetto modificare, elaborare o trasformare
...non solo moltiplicazione di copie Riproduzione Si ha riproduzione anche quando essa costituisca un operazione richiesta per il caricamento, la visualizzazione, l'esecuzione, la trasmissione o la memorizzazione del programma Il diritto esclusivo si riferisce a due diverse fattispecie di duplicazione - su supporto esterno, separato e distinto rispetto al computer - su supporti di memoria interni al computer Copia di riserva Non può essere impedito per contratto, a chi ha il diritto di usare una copia del programma per elaboratore di effettuare una copia di riserva del programma, qualora tale copia sia necessaria per l'uso. Art. 64 ter, comma 2 L.A.
Immodificabilità Sono vietate senza l autorizzazione del titolare: traduzione adattamento trasformazione ogni altra modificazione Art. 64 bis lett. b) L.A.
Deroghe Salvo patto contrario, non sono soggette all'autorizzazione del titolare dei diritti le attività indicate nell'art. 64-bis, lettere a) e b), allorché tali attività sono necessarie per l'uso del programma per elaboratore conformemente alla sua destinazione da parte del legittimo acquirente, inclusa la correzione degli errori. Art. 64 ter, comma 1, L.A. Qualora si attribuisca all aggettivo necessarie il significato di utili, si potrà ritenere lecito effettuare: - copie di servizio interne al computer - personalizzazione - aggiornamento - correzione degli errori
Titolarità dei diritti economici Salvo patto contrario, qualora un programma per elaboratore sia creato dal lavoratore dipendente nell'esecuzione delle sue mansioni o su istruzioni impartite dal suo datore di lavoro, questi è titolare dei diritti esclusivi di utilizzazione economica del programma creato Art. 12-bis. L.A. Titolarità in capo al datore di lavoro Problemi e possibili soluzioni: - titolarità in capo al dipendente del diritto morale ad essere riconosciuto autore - applicabilità della norma ai casi di lavoro autonomo principio generale secondo cui si riconoscono i diritti di utilizzazione economica a chi si è assunto il rischio economicoimprenditoriale della realizzazione dell opera
Ricerca dell algoritmo e sue limitazioni Chi ha il diritto di usare una copia del programma per elaboratore può, senza l'autorizzazione del titolare dei diritti, osservare, studiare o sottoporre a prova il funzionamento del programma, allo scopo di determinare le idee ed i princìpi su cui è basato ogni elemento del programma stesso, qualora egli compia tali atti durante operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che egli ha il diritto di eseguire. Le clausole contrattuali, conclusi in violazione del presente comma sono nulli. Art. 64 ter, comma 3, L.A. Implicazioni: Non si può pretendere che venga fornito il programma sorgente Divieto implicito di analizzare il programma oggetto al fine di ricostruire il programma sorgente (Reverse engineering)
Interoperabilità L'autorizzazione del titolare dei diritti non è richiesta qualora la riproduzione del codice del programma di elaboratore e la traduzione della sua forma ai sensi dell'art. 64-bis, lettere a) e b), compiute al fine di modificare la forma del codice, siano indispensabili per ottenere le informazioni necessarie per conseguire l'interoperabilità, con altri programmi, di un programma per elaboratore creato autonomamente purchè siano soddisfatte le seguenti condizioni : Art. 64 quater, comma I, L.A. -si conferma la tutela del segreto sul contenuto del software -necessità che siano soddisfatte determinate condizioni
Condizioni a) le predette attività siano eseguite dal licenziatario o da altri che abbia il diritto di usare una copia del programma oppure, per loro conto, da chi è autorizzato a tal fine b) le informazioni necessarie per conseguire l'interoperabilità non siano già facilmente e rapidamente accessibili ai soggetti indicati alla lettera a) c) le predette attività siano limitate alle parti del programma originale necessarie per conseguire l'interoperabilità.
Limiti Le disposizioni di cui al comma 1 non consentono che le informazioni ottenute in virtù della loro applicazione: a) siano utilizzate ai fini diversi dal conseguimento dell'interoperabilità del programma creato autonomamente b) siano comunicate a terzi, fatta salva la necessità di consentire l'interoperabilità del programma creato autonomamente c) siano utilizzate per lo sviluppo, la produzione o la commercializzazione di un programma per elaboratore sostanzialmente simile nella sua forma espressiva, o per ogni altra attività che violi il diritto di autore.
Problemi derivanti dai divieti - Manutenzione e aggiornamento - Correzione degli errori - Reverse Engineering - Nullità delle clausole contrattuali difformi
Free software Libertà di eseguire il programma (libertà 0) Libertà di studiare come funziona il programma e adattarlo alle proprie necessità (libertà 1) Libertà di ridistribuire copie (libertà 2) Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, (libertà 3)
Classificazione del software Software libero Open source Software di pubblico dominio Software con permesso d'autore (copyleft) Software semilibero Software proprietario Shareware Freeware Software commerciale
Scenario
Licenze approvate dalla O.S. Iniciative: Academic Free License Apache Software License Apple Public Source License Common Public License Fair License GNU General Public License (GPL) GNU Library General Public License (LGPL) IBM Public License Intel Open Source License MIT license Mozilla Public License (MPL) NASA Open Source Agreement Nokia Open Source License PHP License Sun Public License W3C Licens
Centro di Competenza Contenuto da definire
Grazie per l'attenzione Carlo Daffara cdaffara@conecta.it David D'Agostini studio@avvocatidagostini.it