Trovare la licenza giusta per supportare solo la comunità open source. GPLv3 troppo rigida, LGPLv3 troppo permissiva
Ho creato una libreria open source ( https://github.com/pitschr/knx-link) progettato per essere utilizzato da altri progetti open source; non dagli utenti finali. Attualmente è concesso in licenza come GPLv3.
Il mio obiettivo principale è che ogni progetto che utilizza la mia libreria deve essere open source . Per me personalmente non importa se l'altro progetto che utilizza la mia libreria è concesso in licenza, ad esempio, su Apache-2.0 o MIT fintanto che il progetto utilizzato dall'utente finale è open source , ad esempio su GitHub.
Sulla base di diverse licenze vedo che:
- LGPLv3 non sarebbe la scelta giusta in quanto permette di essere collegato tramite un software proprietario
- La GPLv3 sembra essere troppo rigida per me, in quanto impone che anche altri software debbano essere concessi in licenza come GPLv3. Inoltre, la GPLv3 non consente di essere utilizzata da un progetto con licenza Apache-2.0 / MIT
- Le licenze Apache-2.0 e MIT non sembrano essere l'opzione per me in quanto possono essere utilizzate direttamente dal software proprietario
Non sono riuscito a trovare la licenza giusta per il mio scopo. Ancora una volta, va benissimo usare la mia libreria fintanto che il progetto / software dell'utente finale stesso è open source senza imporre che debba essere concesso in licenza anche con GPLv3 ? Il mio obiettivo principale è supportare solo la comunità open source!
Sono solo con l'idea? Qual è il modo migliore per ottenere? Quale licenza sarebbe più adatta a me?
Grazie, Christoph (che è un po 'confuso)
Risposte
Esistono due versioni fondamentalmente diverse delle licenze open source:
a) quelli permissivi come MIT, Apache ecc. che - in parole povere - non si preoccupano di cosa succede alle loro fonti fintanto che i crediti vengono mantenuti e comunicati.
b) E ci sono le licenze più strettamente open source, le licenze copy-left, che vogliono assicurarsi che anche qualsiasi derivato rimanga open source, in particolare la licenza GPL.
La licenza viene solitamente scelta dagli autori (iniziali) per un motivo che desidera il primo o il secondo.
In quanto tale licenza come si cerca potrebbe essere predisposta, ma serve a poco: un progetto con licenza permissiva non vorrebbe fare uso di una licenza che può essere utilizzata solo in progetti open-source; la sua licenza è stata scelta in modo particolare in modo che sia possibile un uso proprietario.
Anche un progetto già con una licenza copy-left non necessita di tale licenza - potrebbe anche utilizzare la GPL che garantisce proprio questo: essere open source e rimanere open source.
In quanto tale, si potrebbe anche sostenere che esiste già una licenza che può essere utilizzata solo in un progetto open source: la GPL. La maggior parte delle licenze open source sono compatibili con la GPL nel senso che possono essere utilizzate in un progetto con licenza GPL (semplicemente cambiando la licenza in GPL per il software derivato / combinato, anche quando esistono eccezioni notevoli come l'incompatibilità con Apache o MPL ).
Supponiamo che qualcuno utilizzi il tuo progetto (concesso in licenza con la tua licenza personalizzata) in un'applicazione con licenza MIT. Poiché la licenza MIT consente esplicitamente la distribuzione del software in modalità closed source, la licenza personalizzata sarebbe inefficace e non avrebbe senso.
Se non vuoi che la tua libreria venga usata nel software proprietario, la scelta migliore sarebbe la GNU GPL.
Esistono licenze compatibili con GNU GPL. Il software con licenza GNU GPL può contenere codice con qualsiasi licenza compatibile.