Licenze floss

1,521 views

Published on

Un'analisi delle principali licenze free libre open source

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

No Downloads
Views
Total views
1,521
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Licenze floss

  1. 1. Choosing a FLOSS License Le principali licenze FLOSS Avv. Marco Scialdone BLOG: http://scialdone.blogspot.com
  2. 2. Aprile 2010 - Avv. Marco Scialdone - marcoscialdone@gmail.com /
  3. 3. Licenze FLOSS: una distinzione ▸ 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 - marcoscialdone@gmail.com /
  4. 4. Le principali licenze ▸ 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 - marcoscialdone@gmail.com /
  5. 5. Le principali licenze ▸ 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 - marcoscialdone@gmail.com /
  6. 6. Le principali licenze ▸ 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 - marcoscialdone@gmail.com /
  7. 7. Come scegliere una licenza ▸ 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 - marcoscialdone@gmail.com /
  8. 8. La licenza GNU GPL ▸ 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 - marcoscialdone@gmail.com /
  9. 9. GNU GPL v.2: le copie esatte ▸ È 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 - marcoscialdone@gmail.com /
  10. 10. GNU GPL v.2: opere derivate ▸ È 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 - marcoscialdone@gmail.com /
  11. 11. GNU GPL v.2: opere derivate 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 - marcoscialdone@gmail.com /
  12. 12. GNU GPL v.2: contaminazione ▸ 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 - marcoscialdone@gmail.com /
  13. 13. GNU GPL v.2: distribuire il codice ▸ 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 - marcoscialdone@gmail.com /
  14. 14. GNU GPL v.2: distribuire il codice 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 - marcoscialdone@gmail.com /
  15. 15. GNU GPL v.3: le copie esatte ▸ 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 - marcoscialdone@gmail.com /
  16. 16. GNU GPL v.3: opere derivate ▸ 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 - marcoscialdone@gmail.com /
  17. 17. GNU GPL v.3: opere derivate 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 - marcoscialdone@gmail.com /
  18. 18. GNU GPL v.3: distribuire il codice ▸ 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 - marcoscialdone@gmail.com /
  19. 19. GNU GPL v.3: distribuire il codice 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 - marcoscialdone@gmail.com /
  20. 20. GNU GPL v.3: distribuire il codice 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 - marcoscialdone@gmail.com /
  21. 21. GNU GPL v.3: distribuire il codice 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 - marcoscialdone@gmail.com /
  22. 22. GNU GPL: contratto o no? 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 - marcoscialdone@gmail.com /
  23. 23. La licenza GNU LGPL ▸ 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 - marcoscialdone@gmail.com /
  24. 24. La licenza GNU Affero GPL ▸ 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 - marcoscialdone@gmail.com /
  25. 25. 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.
  26. 26. 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.
  27. 27. 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.
  28. 28. 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
  29. 29. European Union Public License Comunicazione 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.
  30. 30. European Union Public License Obblighi 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.
  31. 31. European Union Public License Obblighi 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.
  32. 32. European Union Public License Obblighi 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.
  33. 33. European Union Public License Obblighi 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.
  34. 34. European Union Public License Licenze 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
  35. 35. 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.
  36. 36. Maintaining Permissive- Licensed Files in a GPL-licensed project
  37. 37. 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
  38. 38. 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
  39. 39. 1° caso: includere in forma non modificata file licenziati con licenze permissive
  40. 40. 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
  41. 41. 2° caso: includere in forma modificata in un progetto GPL file licenziati con licenze permissive
  42. 42. a practical guide to GPL compliance
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. Avv. Marco Scialdone Email: marcoscialdone@gmail.com Pec: marcoscialdone@ordineavvocatiroma.org Blog: http://scialdone.blogspot.com Site: www.computerlaw.it

×