• Like
Smau Padova 2011 Igor Serraino
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Smau Padova 2011 Igor Serraino

  • 1,335 views
Published

Licensing e antipirateria nella realizzazione di applicativi ad hoc

Licensing e antipirateria nella realizzazione di applicativi ad hoc

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,335
On SlideShare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
15
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Licensing e antipirateria Agenda nella realizzazione di applicativi ad hoc Diritto d’autore & copyright: premesse giuridiche e terminologiche CSIG & IS Padova, 5 maggio 2011 ore 15.30 :: Sala 3 Dal punto di vista dell’autore Relatore: Ing. Igor Serraino Codice sorgente e codice eseguibile www.serraino.it Licensing e casi d’uso Considerazioni conlusive 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 1 Wednesday, May 11, 2011 2 Software programming Diversi scenari, tra i più diffusi: 1. freelance programmer on a commission basis: l’azienda commissiona al libero professionista un applicativo ad hoc con alto livello di personalizzazione (“su commissione”). Il software è ad uso interno, il committente utilizza l’applicativo esclusivamente sulle proprie postazioni informatiche; CSIG & IS CSIG & IS 2. embed programmer on a commission basis: parte dell’organigramma aziendale, il DIRITTO D’AUTORE & COPYRIGHT programmatore è incaricato della produzione di un software ad uso interno; PREMESSE GIURIDICHE E TERMINOLOGICHE 3. freelance programmer OR embed programmer to market on a commission basis: l’applicativo commissionato è destinato alla commercializzazione. Il committente, quindi, ha incaricato il programmatore (interno o esterno) di creare un software che poi verrà sottolicenziato dal committente stesso; 4. freelance programmer to market: il programmatore libero professionista produce un software destinato alla vendita attraverso canali di vendita da esso stesso stabiliti; 5. freelance programmer to community: il programmatore, di qualunque natura esso sia, produce software (o moduli software) con finalità non commerciali. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 3 Wednesday, May 11, 2011 4
  • 2. Criticità Diritto d’autore vs Copyright In ognuno degli scenari introdotti: Copyright e diritto dautore sono due sistemi quasi identici, ma ci sono il programmatore o il fornitore percepiscono l’esigenza di tutelare alcune differenze (anche storiche). l’applicativo e garantire un utilizzo idoneo alle funzionalità implementate; Il Copyright è una invenzione dellera Gutenberg, un risultato CSIG & IS CSIG & IS è necessario formalizzare il rapporto che intercorre tra chi fornisce il dellinvenzione delle presse per la stampa risalente alla seconda metà del software e l’utilizzatore finale; ‘400. Originariamente inteso come monopolio per gli editori (nel 1500 Venezia contava ben 417 editori) e non era concepito per dare agli autori è fondamentale definire la data di consegna, il numero di versione e le alcun diritto sulle proprie opere. Solo nel 1710 i primi autori possono funzionalità presenti nell’applicativo consegnato; acquisire i diritti sulle proprie opere. deve essere effettuata una scelta sulla modalità di rilascio dell’applicativo e dei relativi componenti funzionali: codice sorgente abbinato ad eseguibile o Lidea di un diritto fondamentale dell‘Autore sul proprio lavoro — il nocciolo esclusivamente codice eseguibile (o compilato)? del moderno diritto dautore — è stata diffusa prevalentemente da filosofi tedeschi e francesi prima della Rivoluzione Francese e venne considerata è spesso richiesto di prevedere possibilità di aggiornamento / modifiche come una delle maggiori conquiste della Rivoluzione Francese. funzionali successive alla consegna definitiva. AVV. ANDREA MAGGIPINTO :: WWW.MAGGIPINTO.ORG 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 5 Wednesday, May 11, 2011 6 Diritto d’autore vs Copyright Convenzione di Berna Convenzione di Berna per la protezione delle opere letterarie e artistiche Oggi gli ordinamenti dellEuropa continentale seguono la tradizione del del 9 settembre 1886 (completata a Parigi il 4 maggio 1896, riveduta a diritto dautore, larea anglosassone segue ancora la tradizione del Berlino il 13 novembre 1908, completata a Berna il 20 marzo 1914 e copyright riveduta a Roma il 2 giugno 1928, a Bruxelles il 26 giugno 1948, a CSIG & IS CSIG & IS Stoccolma il 14 luglio 1967 e a Parigi il 24 luglio 1971) Al fine di creare una base internazionale comune, ci sono stati processi ed accordi di armonizzazione. Per questo motivo la maggior parte delle Sono state introdotte due nuove categorie di opere protette dal diritto questioni sono sostanzialmente identiche nonostante le basi estremamente dautore: differenti i programmi per elaboratore: considerati alla stregua di opere Contrariamente al Copyright, il diritto dautore riconosce un diritto morale letterarie; allautore che - come altri diritti umani - è inalienabile. Indipendentemente da quello che dice qualsiasi contratto, il diritto morale dellautore non può le banche di dati: tutelate in ragione della loro creatività dovuta al tipo di mai essere limitato. In effetti un contratto che (in pratica o apparentemente) materiale selezionato ed al tipo di disposizione che di esso viene fatto tenti di farlo corre il rischio di essere dichiarato nullo davanti ad una corte nella banca 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 7 Wednesday, May 11, 2011 8
  • 3. Riconoscimento a livello internazionale Il software nella Comunità europea La Comunità Europea ha deciso di fornire ai programmi per elaboratore la protezione che si riconosce alle altre opere dautore attraverso lemanazione Il diritto dautore è un diritto territoriale: la legge della Direttiva 91/250/CEE del Consiglio, del 14 maggio 1991, relativa alla del luogo dove lopera è destinata a essere tutela giuridica dei programmi per elaboratore. È stata recepita nel nostro CSIG & IS CSIG & IS utilizzata è quella che stabilisce se e in che modo ordinamento giuridico con il d.lgs. 518 emanato il 29 dicembre 1992, che ha lopera deve essere tutelata. novellato la legge sul diritto dautore n. 633/1941 Per questo è importante il riconoscimento Nel 2002 la Commissione Europea ha pubblicato una proposta di direttiva in reciproco del diritto dautore tra gli Stati aderenti tema di invenzioni attuate per mezzo degli elaboratori elettronici, bocciata alla Convenzione di Berna (l’Italia ha aderito nel però dal Parlamento europeo il 6 luglio 2005 1978) Nuova Direttiva 2009/24/CE del Parlamento Europeo e del Consiglio del 23 aprile 2009 relativa alla tutela giuridica dei programmi per elaboratore, che ha abrogato la Direttiva 91/250/CEE 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 9 Wednesday, May 11, 2011 10 Il software nella Comunità europea Il software in Italia Legge sul Diritto d’Autore (LDA): legge 22 aprile 1941, n. 633 Lo scopo della nuova direttiva è duplice: Le modifiche alla LDA (D.Lgs. 518/92) hanno esteso al software la rafforzare la protezione del diritto dautore del sw, in quanto “per creare protezione assicurata alle “opere dellingegno di carattere creativo”, così programmi per elaboratore è necessario investire considerevoli risorse riconoscendo in capo allautore di un software (il programmatore) sia la CSIG & IS CSIG & IS umane, tecniche e finanziarie, mentre è possibile copiarli a un costo summa dei diritti afferenti al diritto morale dautore, sia i diritti di minimo rispetto a quello necessario per crearli autonomamente” utilizzazione economica dellopera eliminare le differenze normative esistenti nella tutela giuridica dei Il diritto dautore sul software costituisce una privativa sui generis, diretta programmi per elaboratore a riservare al titolare non soltanto la riproduzione ma, ancor prima, lutilizzo stesso del programma, consentendogli così di escludere qualsiasi possibilità di uso da parte di altri se non espressamente autorizzati 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 11 Wednesday, May 11, 2011 12
  • 4. Dal punto di vista dell’autore... Il contenuto del diritto PUBBLICAZIONE DIRITTI ESCLUSIVI DI UTILIZZAZIONE RIPRODUZIONE ECONOMICA ESECUZIONE I diritti di utilizzazione economica: • SCADONO E POSSONO ESSERE TRASFERITI RAPPRESENTAZIONE • INDIPENDENTI GLI UNI DAGLI ALTRI COMUNICAZIONE AL PUBBLICO CSIG & IS CSIG & IS RIF. LDA ARTT. ARTT. 12-19 DISTRIBUZIONE attribuiscono all’autore la piena disponibilità dell’opera e il potere di TRADUZIONE O ELABORAZIONE impedire comportamenti non autorizzati (il rovescio della medaglia) NOLEGGIO O PRESTITO TRASCRIZIONE principio di indipendenza dei diritti DIRITTI MORALI: • INALIENABILI trasmissibilità del diritto • IMPRESCRITTIBILI RIF. LDA ARTT. 20-24, ARTT. 142-143 PATERNITÀ durata limitata nel tempo: 70 anni dalla morte dell’autore INTEGRITÀ INEDITO RITIRO DELLOPERA 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 13 Wednesday, May 11, 2011 14 Diritti morali Licensing & licensing agreement Il diritto di paternità The granting of permission to use intellectual property rights, such as Il diritto di opporsi a qualsiasi deformazione, mutilazione o altra trademarks, patents, or technology, under defined conditions. CSIG & IS CSIG & IS modificazione, e a ogni atto a danno dell’opera stessa, che possano essere di pregiudizio all’onore e alla reputazione dell’autore Written contract under which the owner of a copyright, know how, patent, servicemark, trademark, or other intellectual property, allows a licensee to Il diritto di ritirare l’opera dal commercio use, make, or sell copies of the original. Diritto di inedito (lautore ha diritto di pubblicare la propria opera o di lasciarla per sempre nellinedito, insomma è arbitro della pubblicazione) AVV. ANDREA MAGGIPINTO :: WWW.MAGGIPINTO.ORG 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 15 Wednesday, May 11, 2011 16
  • 5. Distribuzione del software: terminologia software freeware (libero): distribuito gratuitamente. Sono generalmente ammesse la redistribuzione e la duplicazione, sempre a titolo gratuito. Il codice sorgente può essere fornito o meno, tale scelta non è direttamente collegata alla gratuità dell’applicativo; (NB. NON è necessariamente Open Source, slides successive...) software shareware: fornito a titolo dimostrativo per un periodo limitato di tempo, e spesso al limite temporale si abbina anche una limitazione funzionale. Al termine del periodo stabilito per la prova, l’utilizzatore è tenuto ad acquistare regolare licenza a pagamento o a cessare ogni forma di utilizzo; CSIG & IS software copyleft: individua un modello di gestione dei diritti dautore basato su un sistema di licenze attraverso le quali lautore (in quanto detentore originario dei diritti sullopera) indica ai fruitori dellopera CODICE SORGENTE E CODICE ESEGUIBILE che essa può essere utilizzata, diffusa e spesso anche modificata liberamente, pur nel rispetto di alcune condizioni essenziali. software di dominio pubblico: espressione del diniego di interesse da parte del programmatore. Pone il software in uno stato privo di copyright; software proprietario: dotato di limitazioni d’uso, di redistribuzione o copia, di modifica, poste dall’autore e certificate da un mezzo tecnico o legale; software commerciale: sviluppato da un’azienda con la finalità di distribuirlo sul mercato a pagamento. Non necessariamente si tratta di software proprietario: applicativi commerciali freeware inquadrano la distribuzione con contratti di assistenza a pagamento 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 17 Wednesday, May 11, 2011 18 Codice sorgente e codice eseguibile Use case: Oracle Sun Java CODICE SORGENTE: file .java contenente codice in linguaggio Java (ovvero che ne rispetti la sintassi e la semantica). L’accesso o meno al codice sorgente del software è prerequisito parte di ogni tipologia di licenza CSIG & IS CSIG & IS Codice sorgente: espressione del software in una forma intelligibile espressa in un qualche linguaggio di programmazione, che deve essere tradotta in linguaggio macchina per poter essere eseguita dal computer. Codice eseguibile: traduzione del codice sorgente del software in una forma che permetta immediata esecuzione (o interpretazione) da parte dell’entità software preposta alla traduzione in codice macchina. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 19 Wednesday, May 11, 2011 20
  • 6. Use case: Oracle Sun Java Use case: Oracle Sun Java CODICE COMPILATO (BYTECODE ESEGUIBILE): file .class interpretabile CODICE COMPILATO (BYTECODE ESEGUIBILE): file .class interpretabile (eseguibile) da un’entità software denominata Java Virtual Machine (eseguibile) da un’entità software denominata Java Virtual Machine CSIG & IS CSIG & IS SORGENTE: INTELLIGIBILE, MODIFICABILE BYTECODE: ESEGUIBILE, NON INTELLIGIBILE PROGRAMMATORE LICENZIATARIO 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 21 Wednesday, May 11, 2011 22 L’importanza del codice sorgente Utilizzo del codice sorgente di un sw E’ il “substrato” a partire dal quale il software prende vita Il programmatore, durante le varie fasi di sviluppo, produce e archivia diverse revisioni del codice sorgente (CVS versioning system) Fornisce un gran numero di informazioni tecniche low level relative al software: CSIG & IS CSIG & IS Al momento della consegna il software è basato su un sorgente etichettato con un numero di versione, generalmente 1.x se definitivo o 0.x se ancora in algoritmi utilizzati deployment architettura software implementata Revisioni dell’applicativo successive alla consegna: librerie utilizzate modifica diretta della versione 1.x, operando sul codice sorgente gestione della sicurezza utilizzo della versione 1.x, aggiungendo moduli funzionali che si appoggiano sull’applicativo completo (o su parti di esse) protezione dei dati, information hiding 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 23 Wednesday, May 11, 2011 24
  • 7. Modifica del codice sorgente Utilizzo del codice sorgente Effettuata dal programmatore stesso o da terze parti L’accesso al codice sorgente apre all’utilizzatore anche ulteriori prospettive: Può alterare il funzionamento a regime dell’applicativo, stabilito dalle specifiche funzionali realizzazione di componenti utilizzando i medesimi algoritmi del codice (guida all’uso) sorgente analizzato CSIG & IS CSIG & IS Richiede approfondita conoscenza dell’architettura utilizzata dall’applicativo (documentazione tecnica) adattamento del codice sorgente alle proprie esigenze In generale, dato un applicativo fornito alla revisione 1.x o successiva, le operazioni di miglioramento dell’applicativo intervenendo direttamente sul codice modifica / aggiornamento / correzione realizzate intervenendo sul sorgente sono di elevata sorgente (non riducendosi al mero utilizzo del binario) complessità: necessario sviluppo team-based sviluppo di librerie che utilizzano sorgenti già collaudati design patterns contributo alla comunità di sviluppatori (gruppi di discussione internet, repositories pubblici, documentazione liberamente accessibile, case documentazione on code studies) 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 25 Wednesday, May 11, 2011 26 Open Source Software (OSS) Software OSI Certified Per ottenere la certificazione di Software Open Source, esistono inoltre alcuni criteri La definizione di software “Open Source” è stata proposta dalla Open aggiuntivi da rispettare, tra cui: Source Initiative ed è attualmente utilizzata per definire quali tipologie di licenze possano essere qualificate come “a sorgente aperto” (corollario: OSI inviolabilità del codice originale, ovvero data una versione del codice sorgente CERTIFIED). (eventualmente modifica da più utenti), deve essere possibile ottenere la versione originale dell’autore (applicabile tramite l’adozione di patches sull’originale); CSIG & IS CSIG & IS In generale, la qualifica di OSS prescrive il rispetto dei 3 canoni non deve essere inibito l’accesso al sorgente per determinate tipologie di utenti o fondamentali: gruppi di utenti; la licenza d’uso originale deve poter essere applicabile a qualunque sottinsieme di 1. l’oggetto del licensing non deve godere di commerciabilità con diritto utenti, senza la necessità di emetterne di nuove; esclusivo (free redistribution); non possono esistere restrizioni relative a determinati ambiti di utilizzo; 2. il codice sorgente deve essere disponibile (source code); la licenza non deve porre restrizioni su altro software distribuito insieme al software licenziato. Per esempio, la licenza non deve richiedere che tutti gli altri programmi distribuiti sugli stessi supporti siano software open source. 3. deve essere attuabile la generazione di opere derivate da quella oggetto della licenza (derived works). La licenza non deve contenere clausole che dipendano o si basino su particolari tecnologie o tipi di interfacce. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 27 Wednesday, May 11, 2011 28
  • 8. Codice eseguibile (o compilato) Eseguibile --> Sorgente? Destinato all’esecuzione, attraverso librerie del sistema operativo (es. .exe in Reverse engineering è il processo per cui è possibile risalire a dettagli ambiente windows), oppure attraverso entità software fornite dal linguaggio di tecnologici, architetturali e di codifica di un applicativo software programmazione utilizzato (es. jvm java) Dall’eseguibile (o dal compilato) è possibile ricavare il codice sorgente che Non intelligibile ne ha portato alla generazione CSIG & IS CSIG & IS L’eventuale clonazione - con l’obiettivo di generare un applicativo copia - può Esistono tools che permettono di generare diagrammi architetturali (UML essere funzionale e basata sul livello di presentazione dell’applicativo per linguaggi a oggetti) (interfaccia grafica), ma non è realizzabile dal punto di vista del codice Nel caso di codice compilato (bytecode) esistono ulteriori forme di utilizzo CODICE SORGENTE differenti dall’esecuzione in senso stretto del termine VIA MAINTAINJ creazione di componenti che utilizzano il compilato, e precisamente tutte le OR OTHERS TOOLS funzionalità disponibili nella sua interfaccia pubblica DIAGRAMMI UML BYTECODE O ESEGUIBILE creazione di librerie, composte da uno o più compilati 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 29 Wednesday, May 11, 2011 30 Reverse engineering: osservazioni Codice sorgente indispensabile? Linguaggi come Java e ActionScript3 di Adobe utilizzano una tecnica a bytecode per arrivare all’effettiva “esecuzione” del software o del componente Di norma vietato dalla legge, salvo che sia necessario per ottenere l’interoperabilità del software decompilato con altri programmi e non vi sia CSIG & IS CSIG & IS altro modo di ottenere tale interoperabilità (ad esempio: il programmatore ha in precedenza reso disponibile una patch per l’interoperabilità: in questo caso ovviamente la decompilazione è vietata); Sorgente .java Bytecode .java JVM questa precisa facoltà di decompilare è prevista dalla legge vigente questione controversa: una eventuale clausola che impedisca la decompilazione del software inserita nella licenza è nulla, e sarà dunque possibile decompilare se necessario ottenere l’interoperabilità. Sorgenti .swf e as Binario .fXX FLASH PLAYER 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 31 Wednesday, May 11, 2011 32
  • 9. Licensing summary ,,OTHERS” GPL LGPL X11 prop. licenses CSIG & IS AGPL FREE SOFTWARE LICENSING E CASI D’USO AD HOC talvolta derivative da licenze esistenti SOFTWARE PROPRIETARIO, COMMERCIALE, CON LIMITAZIONI D’USO 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 33 Wednesday, May 11, 2011 34 GNU General Public License (GPL) GPL: preamble AMBITO DI APPLICAZIONE: free software, copyleft software “The licenses for most software are designed to take away your freedom to First version by Richard Stallman in 1989, revisioni successive nel 1991 e share and change it. By contrast, the GNU General Public License is nel 2007 (v3, attuale) intended to guarantee your freedom to share and change free software—to CSIG & IS CSIG & IS make sure the software is free for all its users.“ “Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.” ... Il testo della licenza, dunque, non è modificabile. “When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.” “GNU” IS A RECURSIVE ACRONYM FOR “GNUS NOT UNIX Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 35 Wednesday, May 11, 2011 36
  • 10. GPL: limitations GPL: obiettivi ...if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure 1. Mantenere il software free, gratuito, in modo che risulti liberamente that they, too, receive or can get the source code. And you must show them redistribuibile senza autorizzazione del licensor these terms so they know their rights.” CSIG & IS CSIG & IS 2. L’utilizzatore riceve il software “as is”, senza alcun tipo di garanzia “...we want to make certain that everyone understands that there is no applicabile (no warranty) warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is 3. Impedire qualunque tipologia di brevetto (patent) restrittivo delle facoltà del not the original, so that any problems introduced by others will not reflect on licenziatario the original authors’ reputations.” “If you develop a new program, and you want it to be of the greatest “We wish to avoid the danger that redistributors of a free program will possible use to the public, the best way to achieve this is to make it free individually obtain patent licenses, in effect making the program software which everyone can redistribute and change under these terms.” proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.” Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 37 Wednesday, May 11, 2011 38 GPL: distribuzione GPL: verbatim copies Due casistiche ben distinte: redistribuzione del software in copia 1:1 (“verbatim copies”) È permessa la distribuzione di “copie esatte” del codice sorgente del Programma, con qualunque mezzo, a condizione che: CSIG & IS CSIG & IS modifica del software o di parte di esso e successiva redistribuzione dell’applicativo modificato si aggiunga un’appropriata nota di copyright; GNU GENERAL PUBLIC LICENSE: TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION siano intatti gli avvisi sulla Licenza sulle le clausole non-permissive AND MODIFICATION aggiunte in accordo con la sezione 7; “This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: siano intatti gli avvisi circa lassenza di garanzia; that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”. Activities other than copying, distribution and modification are not covered by this License; they are outside its sia fornita ai destinatari una copia della Licenza scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 39 Wednesday, May 11, 2011 40
  • 11. GPL: modifica e redistribuzione GPL: aggregazione e composizione È possibile distribuire unopera basata sul Programma, o le modifiche per L’aggregazione di più componenti o software (o più programmi tra di loro) produrla a partire dal Programma, nella forma di codice sorgente secondo i stabilisce un rapporto di utilizzo reciproco tra di essi; termini della sezione 4, ammesso che tu rispetti anche tutte le seguenti condizioni: non esiste una relazione funzionale stretta per cui l’aggregazione dei singoli CSIG & IS CSIG & IS componenti vada a formare un programma a sé stante; informazioni esaustive dell’avvenuta modifica, con indicazione della data “raccolta di software” all’interno di un unico supporto di memorizzazione o una locazione logica; informazioni adeguate sulla Licenza e sulle condizioni aggiuntive (sezione 7) Linclusione di un programma coperto da questa Licenza in un aggregato non comporta lapplicazione di questa Licenza alle altre parti dellaggregato. rilasciare l’opera, nel suo complesso, sotto Licenza GPL In molti casi è possibile distribuire il software coperto da GPL accanto ad un se lopera ha delle interfacce utente interattive, ciascuna deve mostrare sistema proprietario. È necessario assicurarsi che i programmi liberi e i non delle Adeguate Informazioni Legali liberi del sistema comunichino tra di loro ma siano tra di loro indipendenti 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 41 Wednesday, May 11, 2011 42 GPL: implementazione GPL: utilizzo di librerie Inserimento di una clausola all’inizio di ogni file sorgente (es. tramite blocco di commento o documentazione /** */ , in cui si indichi la natura GNU GPL del programma; inclusione, nella struttura logica del programma (es. directories), di una copia in A “library” means a collection of software functions and/or data prepared so formato digitale della GNU GPL (testo ufficiale); as to be conveniently linked with application programs (which use some of CSIG & IS CSIG & IS those functions and data) to form executables. la nota di copyright deve comprendere lanno in cui il programma è stato completato (quindi, se è stato completato nel 1998 ma non è stato pubblicato fino al 1999, bisogna La GPL non permette di incorporare componenti GPL all’interno di software scrivere 1998). Bisogna aggiungere lanno per ogni versione: per esempio, "Copyright proprietari. E’ espressamente vietato dal testo della licenza 1998, 1999 Rita Rossi" se alcune versioni sono state completate nel 1998 ed altre nel 1999. Se più persone hanno contribuito a scrivere il programma, vanno scritti tutti i loro nomi; Le librerie rilasciate sotto licenza GPL, dunque, sono incorporabili all’interno di un software che verrà poi rilasciato con un tipo di licenza compatibile nel caso in cui sia stato prelevato codice da altro software in licenza GPL, includere anche le note di copyright dell’originale; GNU Lesser General Public License più adeguata per tali casistiche inserire le informazioni di contatto, fondamentali per permettere all’utilizzatore di comunicare con l’autore. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 43 Wednesday, May 11, 2011 44
  • 12. GNU Lesser General Public License Libraries: dal punto di vista del programmatore Qual è il tipo di licenza migliore da abbinare alle proprie librerie personalizzate? The GNU Lesser General Public License (LGPL) is another license created by the Free Software Foundation for the purpose of permitting a certain Utilizzando GPL si inibisce l’utilizzo della libreria nei software proprietari, rendendola class of programs, generally subroutine libraries, to be licensed under an disponibile solo per gli applicativi free FSF license but be permitted to link with non-GPL software programs. CSIG & IS CSIG & IS La licenza GPL non risulta particolarmente indicata quando le funzionalità offerte dalla LGPL-licensed libraries can be linked with non-GPL licensed programs, libreria sono largamente disponibili in altre librerie including proprietary software. Ad esempio, nel caso delle librerie C vi è larga disponibilità di LGPL: se il programmatore dovesse rilasciare la propria libreria in modalità GPL, gli sviluppatori di software proprietario - banalmente - se ne cercherebbero altre; Tipologia di licenza fondamentale per il programmatore: permette Viceversa, nel caso in cui la libreria sviluppata offra funzionalità uniche, rilasciarla sotto l’utilizzo di librerie di terze parti - fornite con LGPL - all’interno di licenza GPL è decisamente produttivo dal punto di vista della comunità di sviluppatori: software anche non dotati di licenza GPL esisterà almeno un applicativo free con codice aperto che la utilizza; repository www.sourceforge.net La presenza di un buon numero di librerie GPL con funzionalità uniche, non disponibili con LGPL, darà un vantaggio notevole allo sviluppo del software libero 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 45 Wednesday, May 11, 2011 46 Use case: pdf generator iText libraries Use case: pdf generator iText libraries Linguaggio utilizzato: Oracle Sun Java J2SE ITEXT LIBRARIES HTTP://ITEXTPDF.COM LINKER ALTRE LIBRARIES CSIG & IS CSIG & IS iText ® is a library that allows you to create and manipulate PDF documents. It enables developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation. CODICE SORGENTE Developers can use iText to: Serve PDF to a browser Generate dynamic documents from XML files or databases Use PDFs many interactive features COMPILATO O ESEGUIBILE 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 47 Wednesday, May 11, 2011 48
  • 13. Use case: AGPL iText libraries Use case: AGPL iText libraries Le librerie sono reperibili nel sito ufficiale http://itextpdf.com/ in formato .jar iText free è fornito con licenza AGPL Tale formato è diffusissimo in ambito java (ma utilizzabile anche in altri The GNU Affero General Public License is a free, copyleft license for linguaggi ad oggetti) software and other kinds of works, specifically designed to ensure CSIG & IS CSIG & IS cooperation with the community in the case of network server software L’archivio .jar è disponibile in due versioni: It requires the operator of a network server to provide the source code of bytecode, compilato Java. Il software importa (collega) le librerie e le the modified version running there to the users of that server. Therefore, utilizza public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version sorgenti. Oltre all’importazione, l’utente ha accesso ai files sorgenti e ha facoltà di modificarli in base alle proprie esigenze. Il sorgente risulta utile anche per operazioni di debug e risoluzione di problematiche di HTTP://WWW.GNU.ORG/LICENSES/AGPL.HTML programmazione. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 49 Wednesday, May 11, 2011 50 Use case: AGPL iText libraries Use case: AGPL iText libraries Lo scenario tipico è di utilizzo . in quanto tali librerie hanno un livello di maturità notevole la modifica, tuttavia, non è esclusa ed è conseguenza diretta dell’appartenza della AGPL Although iText is a free/open source software (F/OSS) project, giving you a lot of freedom alla macrofamiglia delle GPL. and flexibility regarding the use of the iText software, this doesn’t mean youre free to do anything you want with the product: you have to respect the Affero General Public License le librerie, dunque, risultano componente funzionale indispensabile per il software stesso (AGPL) CSIG & IS CSIG & IS nel file binario (o compilato, o bytecode, o eseguibile) è incluso un collegamento alle librerie DOWNLOAD SOURCES: rispetto alla GPL v2 prevede l’accesso al codice sorgente via (linking dinamico) network Criticità: If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Programs complete source in quanto componente di terze parti, le librerie sono integrabili nel pacchetto fornito code, you must not remove that facility from your modified version of the Program or work all’utente? based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP con quale licenza? of the complete source code of your modified version or other derivative work. con quali regole di utilizzo? HTTP://WWW.AFFERO.ORG/OAGF.HTML HTTP://ITEXTPDF.COM/TERMS-OF-USE/ 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 51 Wednesday, May 11, 2011 52
  • 14. Use case: AGPL iText libraries Use case: AGPL iText libraries Esistono anche varie tipologie di licenze commerciali per iText Come soddisfare i requisiti AGPL, per iText with free license? Tali licenze garantiscono caratteristiche differenti rispetto alla AGPL: fornire il codice sorgente del proprio applicativo diritto al risarcimento nel caso di infrazioni relative alla proprietà intellettuale o al diritto d’autore CSIG & IS CSIG & IS rilasciare l’applicativo con licenza compatibile non è più obbligatorio osservare i vari obblighi derivanti dal copyleft imposto dalla AGPL, quindi non sarà più necessario: realizzare un collegamento ai sorgenti delle librerie iText, contenute distribuire il codice sorgente, incluso quello dell’applicativo; all’interno di un file .jar (archivio java). Tipicamente, viene realizzato un licenziare il proprio software con AGPL; pulsante di collegamento al sito del produttore nell’interfaccia di la menzione e l’inclusione della nota di copyright di iText e della licenza AGPL originale; comando dell’applicativo. fornire tracciabiltà delle modifiche effettuate sul codice originale includere, immutata, la licenza originale di iText; nei metadati del file pdf generato non risulta necessario mantere intatto il tag PDF Producer line (iText) , ma la personalizzazione è permessa tracciare eventuali modifiche sul codice originale di iText, nel caso in cui si sia intervenuto direttamente sui sorgenti per adattarli. In abbinamento alla licenza commerciale, è acquistabile anche un contratto di assistenza personalizzato 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 53 Wednesday, May 11, 2011 54 Licenza X11 (o MIT) Caso d’uso: licenza X11 (o MIT) PUTTY: implementazione gratuita dei protocolli Telnet e SSH, Licenza di tipo permissivo, compatibile con la GPL per client Windows e Unix Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including Licenza X11-MIT (Open Source certified) without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell CSIG & IS CSIG & IS copies of the Software, and to permit persons to whom the ”... anybody (even companies) can use PuTTY without restriction (even for commercal purposes) and owe nothing to me or anybody else. Also, apart from having to maintain the Software is furnished to do so, subject to the following conditions: copyright notice and the licence text in derivative products, anybody (even companies) can adapt the PuTTY source code into their own programs and products (even commercial The above copyright notice and this permission notice shall beincluded in all copies or substantial products) and owe nothing to me or anybody else. And, of course, there is no warranty and portions of the Software. if PuTTY causes you damage youre on your own, so dont use it if youre unhappy with that. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS In particular, note that the MIT licence is compatible with the GNU GPL. So if you want to FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR incorporate PuTTY or pieces of PuTTY into a GPL program, theres no problem with that.” COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. HTTP://WWW.CHIARK.GREENEND.ORG.UK/~SGTATHAM/PUTTY/ 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 55 Wednesday, May 11, 2011 56
  • 15. Quale tipologia di licensing? La scelta della licenza opportuna richiede dunque considerazioni complesse e non va sottovalutata; CSIG & IS il punto di partenza per indirizzare la scelta sulla giusta strada può essere rappresentato dalla necessità di fornire o meno il codice sorgente; CONSIDERAZIONI CONCLUSIVE è possibile affidarsi a licenze già esistenti appartenenti alle macrocategorie esaminate: in tal caso è importante ricordarsi che il testo della licenza originale non può essere modificato; esistono casistiche in cui è possibile modificarle, avendone ben chiare le conseguenze. Tuttavia è questa un’operazione non semplice e financo pericolosa. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 57 Wednesday, May 11, 2011 58 Licensing ad hoc? GRAZIE PER VOSTRA ATTENZIONE Premessa dunque l’esistenza “sul mercato” di un gran numero di licenze, per l’azienda sviluppatrice di software risulta spesso conveniente realizzare licenze ad Padova, 5 maggio 2011 ore 15.30 :: Sala 3 hoc per i propri software commerciali; Relatore: Ing. Igor Serraino Deve essere garantita la riusabilità della stessa licenza e l’applicabilità in contesti CSIG & IS CSIG & IS software simili tra di loro; www.serraino.it spesso constatiamo poca attenzione nella predisposizione della propria igor@serraino.it licenza “homemade”, risultato di azzardati “taglia e cuci”: la creazione di licenze ad hoc va affidata a figure professionali operanti nell’ambito del Diritto informatico; vale la pena, in alcuni (e forse in molti) casi, elaborare ex novo una propria licenza (o anche diversi modelli di licenza a seconda del caso). Ciò permette di arrivare ad un risultato ottimale per le esigenze della società o del AVV. ANDREA MAGGIPINTO :: WWW.MAGGIPINTO.ORG programmatore freelance, ad esempio prevedendo specifiche clausole di esclusione di responsabilità. 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione 2011, Diritti riservati IS. Eʼ vietata ogni forma di pubblicazione WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011 WWW.SERRAINO.IT senza preventiva autorizzazione dellʼautore. SMAU PADOVA 2011Wednesday, May 11, 2011 59 Wednesday, May 11, 2011 60