Licensing e antipirateria                                                                                                 ...
Criticità                                                                                                                 ...
Riconoscimento a livello internazionale                                                                                   ...
Dal punto di vista dell’autore...                                                                                         ...
Distribuzione del software: terminologia            software freeware (libero): distribuito gratuitamente. Sono generalmen...
Use case: Oracle Sun Java                                                                                                 ...
Modifica del codice sorgente                                                                                               ...
Codice eseguibile (o compilato)                                                                                           ...
Licensing summary                                                                                                         ...
GPL: limitations                                                                                                          ...
GPL: modifica e redistribuzione                                                                                            ...
GNU Lesser General Public License                                                                                         ...
Smau Padova 2011 Igor Serraino
Smau Padova 2011 Igor Serraino
Smau Padova 2011 Igor Serraino
Upcoming SlideShare
Loading in...5
×

Smau Padova 2011 Igor Serraino

1,378

Published on

Licensing e antipirateria nella realizzazione di applicativi ad hoc

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,378
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Smau Padova 2011 Igor Serraino

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×