Respuesta corta
Una combinación de la Licencia pública de Eclipse y la LGPL garantiza exactamente lo que desea: las modificaciones de su código deben estar disponibles, pero el uso del código en un producto más grande no obliga a que el producto más grande se vuelva a licenciar. La combinación es necesaria para permitir que el código se use en proyectos GPL y no GPL.
Esta es una forma en que proyectos como JGraphT lo han hecho. Renuevan su proyecto bajo EPL y LGPL. La motivación y el procedimiento se describen en su wiki .
Respuesta larga
Creo que la Licencia pública de Mozilla ( MPL ) o la Licencia pública de Eclipse ( EPL ) es la licencia que está buscando, porque "si se crea algún trabajo derivado de la biblioteca (cualquier mejora de la biblioteca, por ejemplo), [ES ] puesto a disposición de todos con la misma licencia ".
La licencia MPL y EPL se encuentra entre GPL y MIT.
MIT permite al usuario hacer todo con él, incluida la modificación, venta y no devolver el código modificado a la comunidad.
GPL obliga al usuario a regalar todo el código a la comunidad, incluso si su biblioteca es solo el 1% de todo el producto.
LGPL obliga al usuario a regalar la modificación de la parte LGPL del código.
MPL y EPL son similares a LGPL: también obliga al usuario a hacer que la fuente modificada esté disponible. "Fuente modificada" incluye solo la parte del código cubierto por MPL / EPL. Eso significa que el usuario puede crear un nuevo producto a partir de su biblioteca. Si modifica la parte MPL- / EPL, tiene que publicarla. Las cosas nuevas de él no necesitan ser publicadas.
Siento que el MPL / EPL es más apropiado, ya que LGPL habla explícitamente de "bibliotecas" y MPL solo habla del "Software cubierto" (que es un alcance más amplio).
Sin embargo, elegir EPL causa problemas al combinar el software con el software GPL: el EPL no es compatible con GPL . Este no es el caso si solo usa el MPL .
Si desea asegurarse de que su código pueda usarse tanto en proyectos GPL como no GPL, obtenga una licencia doble del código bajo LGPL y EPL como se describe en la respuesta breve.
Ejemplos