# Contributor License Agreement

Un Contributor License Agreement (CLA) è un accordo contrattuale che definisce i termini in base ai quali un bene immateriale tutelato da proprietà intellettuale viene concesso, da una terza parte, a un'azienda/progetto. Si applica in genere a software con licenza open source.

## Fondamento logico

I CLA possono essere utilizzati per consentire all'azienda produttrice di perseguire facilmente la risoluzione legale in caso di controversie sul copyright, o per distribuire prodotti realizzati grazie a contributi ricevuti da terzi. I CLA sono importanti soprattutto per progetti aziendali open source con una licenza copyleft. Senza un accordo di questo tipo, il contributo vincolerebbe il titolare dei diritti.
Lo scopo di un CLA è garantire che il tutore dei risultati di un progetto abbia la proprietà o la concessione dei diritti necessari su tutti i contributi apportati, in modo da consentire la distribuzione in base alla licenza scelta. In alcuni casi ciò significa che il contributore assegna il copyright di tutti i contributi al proprietario del progetto; in altri casi, concede una licenza irrevocabile per consentire al responsabile del progetto di utilizzare il contributo. I CLA svolgono anche un ruolo di sensibilizzazione sulle questioni relative ai diritti di proprietà intellettuale all'interno di un progetto.
L'efficacia dell'utilizzo dei CLA in un progetto dipende dall'entità dello stesso. Essi possono includere termini legali che richiedono una revisione e approvazione da parte degli avvocati, e possono anche richiedere spese amministrative per il manutentore del progetto. Possono trovare un'utilità particolare in progetti più grandi, con molti contributi e collaboratori, che persisteranno a lungo. Ma possono avere meno utilità per le comunità open source relativamente più piccole o meno formali in cui la base di codice è stata creata da pochi collaboratori.
In definitiva, sono le esigenze di un particolare progetto open source a determinare se un CLA sarà utile o meno e quali disposizioni specifiche dovrebbero esservi incluse.

## Contenuto

Vi sono molte variazioni tra i diversi CLA, ma sono spesso coperti i seguenti istituti giuridici:
* Copyright: i collaboratori concedono un ampio assetto di autorizzazioni e talvolta viene richiesto loro di concedere tutti i diritti al progetto. Il CLA garantisce inoltre che i partecipanti abbiano il diritto di contribuire con le loro modifiche al progetto.
* Marchi: i collaboratori assicurano che i marchi (se presenti) siano di proprietà del progetto piuttosto che dei singoli contributori. Ciò evita possibili controversie in futuro se i partecipanti lasciano il progetto.
* Brevetti: i partecipanti concedono una licenza di brevetto al progetto al fine di garantire che un collaboratore non possa attaccare il progetto in futuro affermando i suoi brevetti contro di esso.
* Diritti morali: ai contributori viene chiesto di non far valere alcun diritto morale (ove esistano) al fine di bloccare le opere derivate.
* Contributi dei minori: alcuni accordi di collaborazione definiscono come vengono gestiti i contributi dei minori.

## Canonical Ltd

Il Contratto di collaborazione di Canonical è un contratto di licenza di collaborazione (CLA) richiesto da Canonical Ltd per tutti i contributi a diversi progetti realizzati da Canonical.
In esso, il contributore assegna il copyright a Canonical e allo stesso tempo Canonical dà al contributore "una licenza globale, non esclusiva, perpetua e esente da royalty di utilizzare, copiare, modificare, comunicare e rendere disponibile al pubblico [...] e distribuire, in ogni caso, in forma originale o modificata, i contributi assegnati come (essi) desiderano ".
Canonical ha avviato il progetto Harmony "... per aiutare le organizzazioni che utilizzano accordi di collaborazione fornendo modelli variabili standardizzati con spiegazioni chiare e concise. . . . "
A partire da agosto 2011, Canonical richiede che i contributi vengano concessi in licenza ai sensi di un CLA di Harmony, piuttosto che concedere il copyright a Canonical. Con il CLA di Harmony, "il contributore concede a Canonical una licenza per utilizzare i suoi contributi. Il contributore continua a detenere il diritto d'autore nel contributo, con tutti i diritti di riutilizzo, ridistribuzione e modifica del codice contribuito, consentendo loro di condividere tale contributo anche con altri progetti. "
Tra i progetti che richiedono ai partecipanti di firmare questo accordo troviamo:
* Unity
* XSplash
* Launchpad
* LightDM
* Mir display server
* Puppet
* Uncomplicated Firewall (ufw)
* Update Manager
* Ubiquity
* Ubuntu One
* Upstart

## Apache Software Foundation

L'Apache Software Foundation (ASF) mantiene due accordi di licenza per collaboratori (CLA), uno per i singoli collaboratori e uno per i contributi aziendali. Il CLA individuale copre i seguenti punti:
* I collaboratori concedono all'ASF e ai destinatari del software distribuito dall'ASF una licenza di copyright perpetua, globale, non esclusiva, gratuita, esente da royalty, irrevocabile per riprodurre, preparare opere derivate, visualizzare pubblicamente, eseguire pubblicamente, concedere in licenza e distribuire l'opera e tali opere derivate in forma di fonte o oggetto.
* I collaboratori concedono una licenza di brevetto per i loro contributi.
* I collaboratori riconoscono di essere legalmente autorizzati a concedere la licenza di cui sopra.
* I collaboratori riconoscono che ciascuno dei loro contributi è la loro creazione originale.
* I contributori non sono tenuti a fornire supporto per i loro contributi, tranne nella misura in cui desiderano fornire supporto.
* I contributori si impegnano a informare l'ASF quando cambiano le circostanze.

## Altri esempi

Tra le altre aziende e progetti che utilizzano CLA troviamo:
* .NET Foundation
* Apache Software Foundation
* Canonical Ltd
* Clojure
* CyanogenMod
* Diaspora
* Digia / Qt Project
* Discourse
* Django
* Dojo Toolkit
* eBay Software Foundation, LLC Filiale di eBay
* Eclipse
* Elastico
* Facebook
* Go
* Google
* InfluxDB
* Joomla
* jQuery
* Kubernetes
* OpenBMC
* Python
* Meteor
* Microsoft
* MuseScore
* OpenMediaVault
* OpenStack
* Puppet
* Salesforce
* Zend Technologies per Zend Framework (solo serie 1.x)