Risposta breve
Una combinazione di Eclipse Public License e LGPL garantisce esattamente ciò che desideri: le modifiche del tuo codice devono essere rese disponibili, ma l'uso del codice in un prodotto più grande non costringe il prodotto più grande a essere rilocalizzato. La combinazione è necessaria per consentire l'uso del codice in progetti GPL e non GPL.
Questo è un modo in cui progetti come JGraphT hanno fatto.
Hanno licenziato il loro progetto sotto EPL e LGPL.
La motivazione e la procedura sono descritte in loro wiki .
Risposta lunga
Penso che la licenza pubblica Mozilla ( MPL ) o la licenza pubblica Eclipse ( EPL ) è la licenza che stai cercando, perché" se viene creato un lavoro derivato dalla libreria (qualsiasi miglioramento della libreria per esempio), è [IS] reso disponibile a tutti sotto quella stessa licenza. "
La licenza MPL e EPL è compresa tra GPL e MIT.
MIT consente all'utente di fare qualsiasi cosa con esso, inclusa la modifica, la vendita e non restituire il codice modificato alla comunità.
GPL obbliga l'utente a fornire tutto il codice alla community, anche se la tua libreria è solo l'1% dell'intero prodotto.
LGPL obbliga l'utente a dare via la modifica della parte LGPL del codice.
MPL ed EPL sono simili a LGPL: costringe anche l'utente a rendere disponibile la sorgente modificata. "Sorgente modificata" include solo la parte del codice coperto da MPL- / EPL. Ciò significa che l'utente può creare un nuovo prodotto dalla tua libreria. Se modifica la parte MPL- / EPL, deve pubblicarla. Le nuove cose da lui non devono essere pubblicate.
Ritengo che MPL / EPL sia più adatto, poiché LGPL parla esplicitamente di "librerie" e MPL parla solo di "Software coperto" (che è un ambito più ampio).
Tuttavia, la scelta di EPL causa problemi con la combinazione del software con il software GPL: L'EPL non è compatibile con GPL . Questo non è il caso se usi semplicemente la MPL .
Se vuoi assicurarti che il tuo codice possa essere utilizzato sia nei progetti GPL che non GPL, esegui una doppia licenza del codice sotto LGPL ed EPL come descritto nella risposta breve.
Esempi
- JGraphT
- logback
-
qooxdoo . Stanno progettando "di semplificare e modernizzare i termini di licenza del qooxdoo" e quindi passano dalla doppia licenza al MIT.