Licenze floss

47
Le principali licenze FLOSS Avv. Marco Scialdone BLOG: http://scialdone.blogspot.com Choosing a FLOSS License

description

Un'analisi delle principali licenze free libre open source

Transcript of Licenze floss

Page 1: Licenze floss

Le principali licenze FLOSS

Avv. Marco Scialdone BLOG: http://scialdone.blogspot.com

Choosing a FLOSS License

Page 2: Licenze floss

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Page 3: Licenze floss

▸ Copyleft licenses: sono quelle licenze che impongono che tutte le versioni modificate del software originario siano rilasciate sotto la stessa licenza. Una licenza copyleft assicura che il codice sia “forever free” (ad es. GNU GPL)

▸ Permissive licenses: sono quelle licenze che garantiscono la disponibilità delle prerogative dalle stesse accordate solo per la prima generazione del software. Permettono infatti al licenziatario di rilasciare versioni modificate con termini maggiormente restrittivi (ad es. ISC)

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Licenze FLOSS: una distinzione

Page 4: Licenze floss

▸ Licenze più diffuse e con comunità forti:◦ Apache License, 2.0◦ New and Simplified BSD licenses◦ GNU General Public License (GPL)◦ GNU Library or "Lesser" General Public License

(LGPL)◦ MIT license◦ Mozilla Public License 1.1 (MPL)◦ Common Development and Distribution License◦ Eclipse Public License

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Le principali licenze

Page 5: Licenze floss

▸ Licenze per specifiche finalità:◦ Educational Community License◦ IPA Font License◦NASA Open Source Agreement 1.3◦Open Font License 1.1 (OFL 1.1)

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Le principali licenze

Page 6: Licenze floss

▸ Altre licenze:◦ Affero GNU Public License◦ Boost Software License (BSL1.0)◦ Common Public Attribution License 1.0

(CPAL)◦ European Union Public License

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Le principali licenze

Page 7: Licenze floss

▸ Guardati intorno: scegliendo la stessa licenza utilizzata in progetti simili o collegati sarà più facile interagire con terzi e condividere il codice.

▸ Interazione: considera la licenza con cui sono rilasciate le librerie e il restante codice che il tuo lavoro incorpora, modifica o da cui dipende.

▸ Non inventare: sebbene sia sempre possibile scrivere una nuova licenza, è altamente sconsigliato. Le licenze esistenti sono sicuramente in grado di soddisfare le tue esigenze. Inoltre scegliere una licenza significa anche scegliere la comunità che la supporta.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

Come scegliere una licenza

Page 8: Licenze floss

▸ Vantaggi: ◦ È la licenza più diffusa◦ Larga disponibilità di codice licenziato GPL◦ Larga disponibilità di supporto e di

documentazione per una corretta implementazione della licenza

▸ Possibili svantaggi:◦ Forte clausola copyleft

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

La licenza GNU GPL

Page 9: Licenze floss

▸ È lecito copiare e distribuire copie letterali del codice sorgente del Programma così come viene ricevuto, con qualsiasi mezzo, a condizione che venga riprodotta chiaramente su ogni copia una appropriata nota di copyright e di assenza di garanzia; che si mantengano intatti tutti i riferimenti a questa Licenza e all'assenza di ogni garanzia; che si dia a ogni altro destinatario del Programma una copia di questa Licenza insieme al Programma. È possibile richiedere un pagamento per il trasferimento fisico di una copia del Programma, è anche possibile a propria discrezione richiedere un pagamento in cambio di una copertura assicurativa.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: le copie esatte

Page 10: Licenze floss

▸ È lecito modificare la propria copia o copie del Programma, o parte di esso, creando perciò un'opera basata sul Programma, e copiare o distribuire tali modifiche o tale opera secondo i termini del precedente comma 1, a patto che siano soddisfatte tutte le condizioni che seguono:a) Bisogna indicare chiaramente nei file che si tratta di copie

modificate e la data di ogni modifica.b) Bisogna fare in modo che ogni opera distribuita o

pubblicata, che in parte o nella sua totalità derivi dal Programma o da parti di esso, sia concessa nella sua interezza in licenza gratuita ad ogni terza parte, secondo i termini di questa Licenza.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: opere derivate

Page 11: Licenze floss

c) Se normalmente il programma modificato legge comandi interattivamente quando viene eseguito, bisogna fare in modo che all'inizio dell'esecuzione interattiva usuale, esso stampi un messaggio contenente una appropriata nota di copyright e di assenza di garanzia (oppure che specifichi il tipo di garanzia che si offre). Il messaggio deve inoltre specificare che chiunque può ridistribuire il programma alle condizioni qui descritte e deve indicare come reperire questa Licenza. Se però il programma di partenza è interattivo ma normalmente non stampa tale messaggio, non occorre che un'opera basata sul Programma lo stampi.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: opere derivate

Page 12: Licenze floss

▸ Questi requisiti si applicano all'opera modificata nel suo complesso. Se sussistono parti identificabili dell'opera modificata che non siano derivate dal Programma e che possono essere ragionevolmente considerate lavori indipendenti, allora questa Licenza e i suoi termini non si applicano a queste parti quando queste vengono distribuite separatamente. Se però queste parti vengono distribuite all'interno di un prodotto che è un'opera basata sul Programma, la distribuzione di quest'opera nella sua interezza deve avvenire nei termini di questa Licenza, le cui norme nei confronti di altri utenti si estendono all'opera nella sua interezza, e quindi ad ogni sua parte, chiunque ne sia l'autore.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: contaminazione

Page 13: Licenze floss

▸ E' lecito copiare e distribuire il Programma (o un'opera basata su di esso) sotto forma di codice oggetto o eseguibile patto che si applichi una delle seguenti condizioni:

a) Il Programma sia corredato del codice sorgente completo, in una forma leggibile da calcolatore, e tale sorgente sia fornito secondo le regole dei precedenti commi 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi.b) Il Programma sia accompagnato da un'offerta scritta, valida per almeno tre anni, di fornire a chiunque ne faccia richiesta una copia completa del codice sorgente, in una forma leggibile da calcolatore, in cambio di un compenso non superiore al costo del trasferimento fisico di tale copia, che deve essere fornita secondo le regole dei precedenti commi 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: distribuire il codice

Page 14: Licenze floss

c) Il Programma sia accompagnato dalle informazioni che sono state ricevute riguardo alla possibilità di ottenere il codice sorgente. Questa alternativa è permessa solo in caso di distribuzioni non commerciali e solo se il programma è stato ottenuto sotto forma di codice oggetto o eseguibile in accordo al precedente comma B.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.2: distribuire il codice

Page 15: Licenze floss

▸ Ti è permesso distribuire copie esatte del codice sorgente del Programma come lo hai ricevuto, con qualunque mezzo, ammesso che tu aggiunga in maniera appropriata su ciascuna copia una appropriata nota di copyright; che tu lasci intatti tutti gli avvisi che affermano che questa Licenza e tutte le clausole non-permissive aggiunte in accordo con la sezione 7 sono valide per il codice che distribuisci; che tu lasci intatti tutti gli avvisi circa l'assenza di garanzia; che tu fornisca a tutti i destinatari una copia di questa Licenza assieme al Programma. Puoi richiedere il pagamento di un prezzo o di nessun prezzo per ciascuna copia che distribuisci, e puoi offrire supporto o garanzia a pagamento.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: le copie esatte

Page 16: Licenze floss

▸ Puoi distribuire un'opera basata sul Programma, o le modifiche per produrla a partire dal Programma, nella forma di codice sorgente secondo i termini della sezione 4, ammesso che tu rispetti anche tutte le seguenti condizioni:

1. L'opera deve recare con sé delle informazioni adeguate che affermino che tu l'hai modificata, indicando la data di modifica.2. L'opera deve recare informazioni adeguate che affermino che essa è rilasciata sotto questa Licenza e sotto le condizioni aggiuntive secondo quanto indicato dalla Sezione 7. Questa condizione modifica la condizione espressa alla sezione 4 di "lasciare intatti tutti gli avvisi".

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: opere derivate

Page 17: Licenze floss

3. Devi rilasciare l'intera opera, nel suo complesso, sotto questa Licenza a chiunque venga in possesso di una copia di essa. Questa Licenza sarà pertanto applicata, assieme ad eventuali clausole aggiunte in osservanza della Sezione 7, all'opera nel suo complesso, a tutte le sue parti, indipendentemente da come esse siano pacchettizzate. Questa Licenza nega il permesso di licenziare l'opera in qualunque altro modo, ma non rende nullo un tale permesso ammesso che tu lo abbia ricevuto separatamente.4. Se l'opera ha delle interfacce utente interattive, ciascuna deve mostrare delle Adeguate Informazioni Legali; altrimenti, se il Programma ha delle interfacce interattive che non visualizzano delle Adeguate Informazioni Legali, il tuo programma non è obbligato a visualizzarle.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: opere derivate

Page 18: Licenze floss

▸ Puoi distribuire un Programma coperto da questa licenza in forma di codice oggetto ammesso che tu fornisca anche il Sorgente corrispondente in uno dei seguenti modi:

a) Distribuendo il codice oggetto in, o contenuto in, un prodotto fisico (inclusi i mezzi fisici di distribuzione), accompagnato dal Sorgente Corrispondente su un supporto fisico duraturo comunemente utilizzato per lo scambio di software.b) Distribuendo il codice oggetto in, o contenuto in, un prodotto fisico (inclusi i mezzi fisici di distribuzione), accompagnato da un'offerta scritta, valida per almeno tre anni e valida per tutto il tempo durante il quale tu offri ricambi o supporto per quel modello di prodotto, di fornire a chiunque possieda il codice oggetto (1) una copia del Sorgente Corrispondente di tutto il software contenuto nel prodotto che è coperto da questa Licenza, su un supporto fisico duraturo comunemente utilizzato per lo scambio di software, ad un prezzo non superiore al costo ragionevole per effettuare fisicamente tale distribuzione del sorgente, oppure (2) accesso alla copia del Sorgente Corrispondente attraverso un server di rete senza alcun costo aggiuntivo.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: distribuire il codice

Page 19: Licenze floss

c) Distribuendo copie singole del codice oggetto assieme ad una copia dell'offerta scritta di fornire il Sorgente Corrispondente. Questa possibilità è permessa soltanto occasionalmente e per fini non commerciali, e solo se tu hai ricevuto il codice oggetto assieme ad una tale offerta

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: distribuire il codice

Page 20: Licenze floss

d) Distribuendo il codice oggetto mediante accesso da un luogo designato (gratis o dietro pagamento di un prezzo), e offrendo un accesso equivalente al Sorgente Corrispondente alla stessa maniera a partire dallo stesso luogo senza costi aggiuntivi. Non devi obbligare i destinatari a copiare il Sorgente Corrispondente assieme al codice oggetto. Se il luogo dal quale copiare il codice oggetto è un server di rete, il Sorgente Corrispondente può trovarsi su un server differente (gestito da te o da terze parti) che fornisca funzionalità equivalenti per la copia, a patto che tu fornisca delle indicazioni chiare accanto al codice oggetto che indichino dove trovare il Sorgente Corrispondente. Indipendentemente da quale server ospiti il Sorgente Corrispondente, tu rimani obbligato ad assicurare che esso rimanga disponibile per tutto il tempo necessario a soddisfare queste condizioni.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: distribuire il codice

Page 21: Licenze floss

e) Distribuendo il codice oggetto mediante trasmissione peer-to-peer, a patto che tu informi gli altri peer circa il luogo in cui il codice oggetto e il Sorgente Corrispondente sono gratuitamente offerti al pubblico

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL v.3: distribuire il codice

Page 22: Licenze floss

Non sei obbligato ad accettare i termini di questa Licenza al solo fine di ottenere o eseguire una copia del Programma. Similmente, propagazioni collaterali di un Programma coperto da questa Licenza che occorrono come semplice conseguenza dell'utilizzo di trasmissioni peer-to-peer per la ricezione di una copia non richiedono l'accettazione della Licenza. In ogni caso, solo e soltanto questa Licenza ti garantiscono il permesso di propagare e modificare qualunque programma coperto da questa Licenza. Queste azioni violano le leggi sul copyright nel caso in cui tu non accetti questa Licenza. Pertanto, modificando o propagando un programma coperto da questa Licenza, indichi implicitamente la tua accettazione della Licenza.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

GNU GPL: contratto o no?

Page 23: Licenze floss

▸ Caratteristiche: ◦ È classificata come “weak copyleft” (copyleft

debole)◦ Permette combinazioni con software proprietario

generalmente non ammesse dalla GPL▸ Perché:◦ Originariamente concepita per le librerie, può

comunque essere la soluzione ottimale se la combinazione sw prorietario/sw libero è funzionale al progetto che si sta sviluppando

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

La licenza GNU LGPL

Page 24: Licenze floss

▸ Caratteristiche: ◦ È una “variazione sul tema” della GPL◦ E' legata al fenomeno SAAS (Software as a Service)

▸ Perché:◦ Le disposizioni della GPL si applicano solo quando

quando c'è distribuzione di software a un utente. Perciò in assenza di distribuzione (come nel caso SAAS) non ci sarebbe obbligo di fornire il sorgente.◦ La AGPL impone, invece, che tu offra il

corrispondente sorgente agli utenti.

Aprile 2010 - Avv. Marco Scialdone - [email protected] /

La licenza GNU Affero GPL

Page 25: Licenze floss

Altre licenze FLOSS• Licenza BSD La distribuzione e l'uso dei sorgenti e del codice eseguibile, con o senza modifiche, sono permessi secondo le seguenti condizioni: ▸ 1. Il codice sorgente o l'eseguibile devono essere

accompagnati dalla licenza BSD. ▸ 2. Il nome dell'autore/i non puo' essere usato senza

permesso da terzi per promuovere software derivati dal programma originale. Dal 1999 questa clausola e' pero' stata abolita, e non e' piu' valida per le licenze BSD successive.

• Licenza MIT ▸ E' in pratica identica alla vecchia licenza BSD.

Page 26: Licenze floss
Page 27: Licenze floss

Altre licenze FLOSS

Apache Software License ▸ Simile alla licenza BSD: si può, redistribuire il software e

i sorgenti con o senza modifiche, ma occorre mantenere l'intestazione: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)" Il Software derivato dal codice di Apache non può inoltre fregiarsi del suo nome a meno di un permesso scritto concesso da Apache Software Foundation.

Page 28: Licenze floss

European Union Public License▸ The EUPL (European Union Public Licence) è

una licenza FLOSS “copyleft” creata dalla Commissione Europea. La licenza è tradotta in 22 lingue. La versione 1.1. è stata rilasciata nel gennaio 2009

▸ EUPL nasce dall'esigenza di avere una licenza pienamente compatibile con il quadro normativo comunitario e sul cui sviluppo la Commissione Europea potesse conservare il pieno controllo.

Page 29: Licenze floss

European Union Public License▸ Il Licenziante concede al Licenziatario il

diritto di compiere gli atti seguenti:◦ utilizzare l’Opera in qualsiasi circostanza e per ogni utilizzo◦ riprodurre l’Opera◦ modificare l’Opera originaria e creare Opere derivate basate

su di essa◦ comunicare al pubblico, anche mediante messa a

disposizione o esposizione dell’Opera o di copie di essa e, a seconda dei casi, rappresentare l’Opera in forma pubblica◦ distribuire l’Opera o copie di essa◦ cedere in prestito e in locazione l’Opera o copie di essa◦ concedere in sub-licenza i diritti sull’opera o copie di essa

Page 30: Licenze floss

European Union Public LicenseComunicazione del codice sorgente

▸ Il licenziante può fornire l’Opera o sotto forma di Codice sorgente o come Codice eseguibile. Se l’opera è fornita come Codice eseguibile, il Licenziante fornisce, in aggiunta, una copia leggibile dall’elaboratore del Codice sorgente dell’Opera a corredo di ogni copia dell’Opera da lui distribuita oppure indica, in un avviso che segue l’indicazione dei diritti d’autore apposta sull’Opera, un archivio in cui il Codice sorgente è facilmente e gratuitamente accessibile per tutto il periodo in cui il Licenziante distribuisce o comunica l’opera.

Page 31: Licenze floss

European Union Public LicenseObblighi del licenziatario

▸ Diritto di Attribuzione: il Licenziatario lascia intatti tutti gli avvisi relativi ai diritti d’autore, ai brevetti o ai marchi e tutte le indicazioni che fanno riferimento alla Licenza e all’esclusione della garanzia. Ogni copia dell’Opera che il Licenziatario distribuisce o comunica deve essere corredata di una copia di tali avvisi e di una copia della Licenza. Su tutte le Opere derivate il Licenziatario deve apporre o far apporre avvisi ben visibili indicanti che l’Opera è stata modificata e la data della modificazione.

Page 32: Licenze floss

European Union Public LicenseObblighi del licenziatario

▸ Clausola “copyleft”: se il Licenziatario distribuisce o comunica copie delle Opere originarie o delle Opere derivate basate sull’Opera originaria, la distribuzione o comunicazione ha luogo nell’osservanza delle clausole della presente Licenza o di una sua versione successiva. Il Licenziatario (che in tal caso diventa Licenziante) non può offrire né imporre termini o condizioni ulteriori sull’Opera o sulle Opere derivate che alterino o restringano le condizioni della Licenza.

Page 33: Licenze floss

European Union Public LicenseObblighi del licenziatario

▸ Clausola di compatibilità: se il Licenziatario distribuisce o comunica le Opere derivate o copie delle Opere derivate basate sull’Opera originaria o su altra opera concessa in licenza secondo le condizioni di una Licenza compatibile, la Distribuzione o Comunicazione può avvenire nell’osservanza delle clausole della licenza compatibile. Ai fini dell’applicazione della presente clausola, l’espressione “Licenza compatibile” si riferisce alle licenze enumerate nell’allegato della presente Licenza.

Page 34: Licenze floss

European Union Public LicenseObblighi del licenziatario

▸ Fornitura del codice sorgente: se distribuisce o comunica copie dell’Opera, il Licenziatario fornirà copia del Codice sorgente in formato leggibile dall’elaboratore oppure indicherà un archivio in cui tale Codice sorgente è facilmente e liberamente accessibile, per tutto il tempo in cui distribuisce o comunica l’Opera.

Page 35: Licenze floss

European Union Public LicenseLicenze compatibili

▸ GNU GPL v. 2▸ Open Software License (OSL) v. 2.1, v. 3.0▸ Common Public License v. 1.0▸ Eclipse Public License v. 1.0▸ Cecill v. 2.0

Page 36: Licenze floss

EUPL vs. GNU Gpl v.3▸ The EUPL include SaaS (Software as a Service):

se un Internet service provider modifica il software licenziato EUPL e lo usa per i propri servizi online (ad es. Google), questo per la licenza è “software distribution”, mentre non lo è per la GPL.

▸ The EUPL, a differenza della GPL v.3, non affronta il problema “Tivoisation”. Non ci sono specifiche disposizioni concernenti le misure tecnologiche di protezione a livello hardware.

Page 37: Licenze floss

Maintaining Permissive-

Licensed Files in a

GPL-licensed project

Page 38: Licenze floss

Come preservare la nota ©▸ Tutte le licenze FLOSS richiedono in qualche

forma la conservazione della nota copyright▸ Molte di queste licenze, tra cui la GNU Gpl,

consentono che tale nota sia collocata in un unico “luogo”, ad esempio in un file “copyright”

▸ Tradizionalmente però gli sviluppatori hanno preferito allegare la nota copyright al sorgente di ciascun file di un progetto

Page 39: Licenze floss

1° caso: includere in forma non modificata file licenziati con licenze permissive

▸Si tratta dell'ipotesi più semplice▸ In questo caso lo sviluppatore dovrà semplicemente limitarsi a lasciare il file e la relativa nota inalterati

Page 40: Licenze floss

1° caso: includere in forma non modificata file licenziati con licenze permissive

Page 41: Licenze floss

2° caso: includere in forma modificata in un progetto GPL file licenziati con licenze

permissive▸ In questa caso vengono apportate modifiche

▸ Il file modificato viene licenziato GPL▸ Tuttavia è comunque necessario riportare la nota copyright relativa al file originario, unitamente alla nuova nota copyright

Page 42: Licenze floss

2° caso: includere in forma modificata in un progetto GPL file licenziati con licenze

permissive

Page 43: Licenze floss

a practical a practical guide to guide to

GPL GPL compliancecompliance

Page 44: Licenze floss

Evitare gli errori più comuni ● Valutare correttamente l'applicabilità della licenza

GNU/Gpl rispetto ad ogni componente non GPL● Monitorare l'acquisizione di software di terze parti e

i processi di approvvigionamento● Tenere traccia dei cambiamenti apportati così da

sapere in ogni momento quali sorgenti generano un certa distribuzione

● Evitare il c.d. “build guru”: un unico sviluppatore o pochi membri del team che siano gli unici a partecipare alla costruzione ed all'assemblaggio del prodotto finale

Page 45: Licenze floss

How to be GPL compliant... ● Mettere a disposizione il codice sorgente per

ogni distruzione binaria, secondo una delle modalità previste nella GPL v.2 o v.3:

– Opzione A: includere il sorgente per ogni distribuzione binaria

– Opzione B: offrire il codice sorgente separatamente

– Opzione C (solo GPL v.3): distribuzione dei sorgenti via Internet anche attraverso network peer to peer

Page 46: Licenze floss

Se qualcosa va storto... ● Rispondi prontamente alle contestazioni legali● Ripristina i tuoi diritti (termination clause):

– Sii conforme alle previsioni della licenza;– Informa i terzi dei loro diritti– Nomina un responsabile per la GPL

compliance;– Trasmetti report periodici di compliance

per un certo periodo dopo il ripristino

Page 47: Licenze floss

Avv. Marco ScialdoneEmail: [email protected]

Pec: [email protected]

Blog: http://scialdone.blogspot.comSite: www.computerlaw.it