¿La licencia de código abierto del MIT requiere que los derivados del trabajo se hagan públicos (bajo la licencia del MIT)?

9

Estoy buscando una licencia de código abierto para una biblioteca que quiero publicar. Idealmente, uno debería poder usar esta biblioteca en aplicaciones gratuitas o comerciales sin pagarme una tarifa, pero si se crea algún trabajo derivado de la biblioteca (cualquier mejora de la biblioteca, por ejemplo), debería estar disponible para todos bajo esa misma licencia

En otras palabras, quiero poner la siguiente ética: "Usted se beneficia de este trabajo de forma gratuita, y si lo mejora, yo también puedo beneficiarme de su mejora de forma gratuita". Es una licencia tipo copyleft que estoy buscando.

La licencia MIT parece una posible solución, pero no me queda claro si los trabajos derivados del código cubierto por esta licencia DEBEN estar disponibles PÚBLICAMENTE para todos. ¿Alguien puede aclarar / confirmar esto? Si hay otra licencia de código abierto más apropiada que cubra mis necesidades, también estoy interesado. Gracias.

Jérôme Verstrynge
fuente
Una discusión un poco más avanzada está aquí: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

Respuestas:

9

La licencia MIT no requiere que los trabajos derivados sean de código abierto. Estás buscando la GPL .

La GPL otorga a los destinatarios de un programa de computadora los derechos de la Definición de Software Libre y utiliza copyleft para garantizar que las libertades se conserven cada vez que se distribuye el trabajo, incluso cuando el trabajo se cambia o se agrega. La GPL es una licencia copyleft, lo que significa que los trabajos derivados solo pueden distribuirse bajo los mismos términos de licencia ...

Hormiga
fuente
1
La GPL obliga al usuario a publicar el trabajo derivado bajo la GPL, lo que genera demasiadas restricciones. Solo quiero que las modificaciones de mi biblioteca estén disponibles. ¿Debo usar LGPL?
Jérôme Verstrynge
8
En ese caso, sí, la LGPL es más apropiada.
Ant
Tenga en cuenta que la (L) GPL se activa solo en la redistribución. Un usuario final que crea un trabajo derivado solo para uso privado no está sujeto a las obligaciones (L) GPL. Es decir, estrictamente hablando, esta no es una respuesta a la pregunta como está redactada.
MSalters
77
@MSalters: Creo que sería casi imposible saber que alguien ha derivado algo de su código a menos que lo publiquen de alguna forma, lo que hace que el problema sea algo discutible.
Ant
6

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

koppor
fuente
¿Puede explicar por qué cree que el MPL cumple con los criterios que el OP está buscando?
maple_shaft
¿Debería verse 'licencia dual' como 'si usa este software en un producto GPL, este software tiene licencia para usted bajo GPL, de lo contrario, bajo MPL'? ¿Hay algún proyecto que haga tal cosa?
9000
@ 9000 De acuerdo con las preguntas frecuentes en GNU , el código está cubierto por MPL y GNU. El segundo párrafo es un poco extraño y no entendí las implicaciones.
koppor