Un CLA crea un'enorme resistenza per il contributo. Richiede il potenziale contributore - spesso uno sviluppatore di software - per fare pressione sugli avvocati e sui dirigenti della sua organizzazione (che può significare mesi di lobbismo doloroso, noioso, spiacevole, interno) e ottenere un documento legale firmato dai rappresentanti ufficiali della sua organizzazione (in una grande azienda, è difficile). Quel contributore non farà lo sforzo per un software libero sconosciuto (lui / lei potrebbe fare questo sforzo doloroso per un software molto popolare).
Il CLA è probabilmente più facile da accettare in organizzazioni molto piccole come piccole start-up o PMI, perché lo sviluppatore può semplicemente chiedere direttamente al suo capo = il proprietario o il manager delle PMI, ma le persone che lavorano in esse sono meno probabili per contribuire a un progetto di software gratuito esterno.
Rimuove anche la possibilità di piccoli contributi (qualcuno che ti invia alcune dozzine di righe di patch non si preoccupa di firmare il CLA, e se il CLA è necessario per inviare la patch, lui non inizierò nemmeno a lavorare su quella piccola patch), e questo è il modo in cui ottieni i contributori iniziali.
Quindi, come sviluppatore di software e amico del software libero, ti direi di evitare i CLA.
Ovviamente, gli avvocati della tua organizzazione ti diranno il contrario (perché anche gli avvocati devono dimostrarsi utili, e perché possono trovare storie dell'orrore, o perché pensano di concedere licenze al software gratuito ....).
BTW, la mancanza di una procedura CLA formale è forse uno dei motivi per cui github ha avuto tanto successo.
Credo che prima di tutto dovresti rendere il tuo software libero popolare e di successo e attirare piccoli contributori; per questo è necessario evitare CLA.
Nel caso in cui non sia chiaro, sto avvisando di non avere alcun CLA, non aggiungendo qualche CLA più tardi.