¿Qué significa "sublicencia" en realidad?

13

Primero, está claro que el derecho de sublicenciar no le otorga el derecho de volver a licenciar.

Digamos que tenemos una biblioteca con licencia MIT (1 archivo), alguien agrega algunas características a la biblioteca pero las coloca bajo GPL (en el mismo archivo 1). ¿O si alguien quiere sublicenciar tiene que separar el código?

Si alguien quiere usar la biblioteca, ¿cómo se manejan las licencias?
Digamos que el desarrollador usa solo las características bajo la licencia MIT, incluso si en el archivo hay algunas características bajo GPL.
¿Tiene que GPL su aplicación debido al código de licencia GPL?
¿Tiene que eliminar el código GPL para estar libre de las restricciones GPL o puede usar la biblioteca bajo los permisos / restricciones del MIT siempre que no use el código GPL?

Lilian A. Moraru
fuente

Respuestas:

5

alguien agrega algunas funciones a la biblioteca [MIT] pero las coloca bajo GPL (en el mismo archivo 1). Si alguien [más] quiere "sublicenciar", [¿tiene que separar el código?

Si por sublicencia te refieres a usar el código bajo la licencia MIT menos restrictiva, entonces sí. La persona que GPL hace su nuevo código básicamente dice: "No puede usar mi código a menos que su código también se distribuya bajo los términos de GPL".

¿Tiene que [el sublicenciador] eliminar el código GPL [recién licenciado] para estar libre de las restricciones GPL?

Si.

Robert Harvey
fuente
Estaba buscando licencias de código abierto ( tldrlegal.com/browse ). Me gustaría proteger a otros usuarios de la biblioteca (que pueden tomarla de otra persona) de restricciones adicionales. Casi todas las licencias de código abierto permisivas populares permiten sublicenciar. Ms-PL parece bueno para eso, pero tiene otras restricciones (también hay GPL pero no quiero obligar a los usuarios de la biblioteca a GPL su software) ...
Lilian A. Moraru
No tengo claro qué tiene que ver la "sublicencia" con esto. ¿Está tratando de elegir una licencia que lo permita y qué significa para usted "sublicencias"?
Robert Harvey
De programmers.stackexchange.com/questions/105912/… Entiendo que alguien puede mezclar otra licencia con la licencia actual y las restricciones de la biblioteca actual se agregan a las restricciones de la biblioteca adicional. O se podría aplicar la biblioteca adicional al código que agregó a la fuente original. Y no, preferiría una licencia que no permita que alguien mezcle una licencia más restrictiva.
Lilian A. Moraru
3
Creo que necesitas mantener esto simple; míralo en términos de "distribución", no de "sublicencias". Todas las licencias de código abierto permiten a las personas usar el código internamente de la forma que deseen; es solo cuando se produce la distribución que cualquier restricción de copyleft se hace evidente. En su caso, tiene a alguien que quiere GPL su código. La elección resultante (que solo tiene que hacer si redistribuye) es simple: o vive con las nuevas restricciones que él ha impuesto, o evita su código y permanece con el código original con licencia del MIT.
Robert Harvey
1
La respuesta aquí es mayormente incorrecta. Agregando una respuesta a continuación para aclarar.
Chris Travers
20

IANAL, pero he discutido este y muchos problemas similares con abogados lo suficiente como para tener una buena idea de lo que estoy hablando aquí. Este no es un consejo legal. La mejor lectura de fondo es el libro de Larry Rosen en el contexto del software de código abierto.

Derechos, Licencias, Copyright y Sublicencias

Según la ley de derechos de autor, el titular de los derechos de autor tiene determinados derechos exclusivos sobre su trabajo. La mayoría o la totalidad de estos (dependiendo de la jurisdicción) pueden tener una licencia exclusiva o no exclusiva para un tercero. Si se permite la sublicencia, un licenciatario puede transmitir algunos o todos los derechos de la licencia a un tercero mediante un contrato directo con ellos.

Actualmente en los Estados Unidos, los estatutos asumen que los licenciatarios exclusivos tienen derecho a sublicenciar (aunque supongo que esto podría aclararse más en la licencia exclusiva). Esto tiene sentido porque se supone que los licenciatarios exclusivos tienen el control. No se supone que los licenciatarios no exclusivos otorguen tal monopolio por parte del licenciante.

Por ejemplo, supongamos que escribo una novela. Supongamos que ofrezco una licencia exclusiva para el trabajo en su forma actual como libro, y le ofrezco a otra persona una licencia no exclusiva para hacer una secuela que es un trabajo derivado. El licenciatario exclusivo puede emitir licencias no exclusivas a otros autores para usar extractos del libro mediante sublicencias. El licenciatario no exclusivo no puede autorizar otra secuela no autorizada de mi novela, ni puede el licenciatario exclusivo sublicenciar un derecho que no se le ha otorgado (derechos de película, por ejemplo).

Licencias BSD vs MIT y sublicencias: una diferencia posiblemente grande

Esta sección se basa principalmente en el libro de Rosen (arriba). Si necesita asesoramiento legal, contrate a un abogado y no lo obtenga de Stack Exchange.

La licencia MIT permite explícitamente sublicenciar mientras que la licencia BSD no. Después de la discusión anterior, esto significa que la licencia MIT permite algo que la licencia BSD probablemente no permite en la mayoría de las jurisdicciones, a saber, la sublicencia. Sin embargo, ambas licencias abordan solo el código y el software proporcionados, y ninguno de los dos limita en qué se puede licenciar una obra en su conjunto. Esto lleva a una pregunta importante sobre cómo interpretar que la GPL v3 es compatible con las licencias BSD por cierto.

Bajo la licencia MIT, puede hacer básicamente dos cosas aparentemente similares:

1) Puede incorporar el trabajo en sus propios trabajos y distribuirlos bajo una licencia más restrictiva.

2) Puede tomar el trabajo original con licencia del MIT, agregarle restricciones adicionales y distribuir el trabajo bajo una licencia más restrictiva, pero donde no haya modificado el código en absoluto. La GPL v3 afirma que requiere que esto sea compatible, si se considera que la GPL rige todos los términos de la licencia. [1]

Sin embargo, bajo la familia de licencias BSD, solo puede agregar restricciones a su propio código y a los trabajos derivados que cree. No puede agregarlos al código original transfiriendo solo algunos de los derechos otorgados a usted. Por lo tanto, no puedo tomar PostgreSQL con licencia BSD, renombrarlo a PostSQL y licenciarlo bajo la GPL, pero puedo tomar Kerberos con licencia MIT y renombrarlo como HadesHound y licenciarlo bajo la GPL (en ambos casos suponiendo que no el código ha cambiado). Esto significa que el vehículo para los derechos es diferente (siempre directo en el caso de la licencia BSD, ya sea directo o indirecto en el caso de la licencia MIT).

Conclusiones

Sublicencia es un término legal. Si desea leer sobre lo que realmente significa, mi recomendación es comenzar a hablar con abogados, el Centro de Leyes de Software Freedom y otros, y consultar diccionarios legales. Sin embargo, la idea básica es que si se otorga esto, un licenciatario puede convertirse en un licenciante de algunos de los derechos de la subvención que recibió, independientemente de cualquier otro reclamo que pueda tener para controlar los derechos de autor sobre lo que distribuye.

Está preguntando acerca de un documento legal específico y un término utilizado en él. Espero que esto ayude a explicar exactamente qué significa ese término y qué impacto proporciona.

Es probable que muchas de sus preguntas sean largas y complicadas, [2] y dependan de la jurisdicción, pero una regla básica con respecto a la Licencia MIT es que si su canal afirma que ahora tiene licencia bajo la GPL, está bajo la GPL. Sin embargo, esto puede o no ser una suposición segura bajo la licencia BSD. Además, esto es cierto independientemente de si la versión original se modificó o no si se utilizó la licencia MIT. Según la licencia BSD, el alcance de las modificaciones es determinante respecto de qué licencia rige.

[1] Una solución es ver la GPL de una manera diferente y permitir que los "avisos legales razonables" ( restricciones adicionales en la sección 7) incluyan avisos de derechos de licencia adicionales. En este caso, uno tendría permisos adicionales que eran removibles, regidos bajo la sección 7 como permisos adicionales, pero también permitiría, como restricción adicional (bajo la sección 7 (b)), un aviso que indique que ciertos derechos no son removibles. Esta es una de las cosas que no me gustan de la GPL v3, a saber, que nos hace pensar como un abogado con respecto a cómo abordar la compatibilidad de licencias.

[2] Por ejemplo, hay una pregunta abierta si la distribución de software que se vincula a una biblioteca de terceros requiere permiso de copyright. Si este es el caso, PostgreSQL compilado en MinGW requiere el permiso de Microsoft y pueden revocarlo en cualquier momento , pero si no lo hace, entonces puedo escribir programas propietarios que se vinculen contra GNU Readline y la FSF no puede reclamar Esto es una infracción de derechos de autor. Esta pregunta abierta hace que la mayoría de sus preguntas sobre si un desarrollador puede vincular a una biblioteca bajo una licencia que no sea la GPL sea imposible de responder con certeza.

Chris Travers
fuente
1
TL; DR: Hable con un abogado.
Robert Harvey
1
Hasta cierto punto sí. Pero también opino que, como profesionales, debemos estar relativamente informados sobre estos temas. Si la única pregunta es "¿puedo usar un código con licencia MIT en mi aplicación GPL?" Que se puede responder de forma segura como "sí". Si la pregunta es "¿puedo vincular mi aplicación propietaria a una versión GPL de una biblioteca con licencia MIT?" Es un buen momento para hablar con un abogado.
Chris Travers
1
(Tampoco estoy realmente seguro de que la sublicencia sea siempre tan necesaria con respecto al software de código abierto, FWIW).
Chris Travers
0

No soy abogado, ni juego uno en la televisión:

Si bien la respuesta predeterminada para una pregunta como esta es solo hablar con un abogado, creo que una mejor respuesta es hablar con el autor original. Dígales qué va a hacer con él y cuál es su público objetivo. Recuerde, el autor no renuncia a sus derechos de autor para su trabajo al publicar bajo una licencia, el autor es libre de elegir lo que quiere permitir con él. El autor puede decir "puede bifurcar esta biblioteca bajo esta otra licencia que tiene los requisitos que busca" o simplemente decir "puede liberar su software utilizando la licencia que desee, renuncio al requisito de X siempre que haga Y" . Personalmente, obtuve un permiso especial para liberar para bifurcar el software de código abierto de un autor bajo Apache en lugar de GPL. Concedido para un gran proyecto actualmente soportado como Qt,

Teniendo en cuenta que veo toneladas de aplicaciones de código abierto lanzadas bajo la GPL, diría que los autores realmente no entienden lo que realmente significa. Recuerde, si usa el código GPL, incluso si se trata de una sola línea, toda su aplicación debe publicarse bajo los términos de la GPL (eso es un poco extremo, por supuesto, ningún autor de código abierto lo perseguiría por una sola línea, pero es El requisito de la licencia).

Además, no estoy de acuerdo con la respuesta de Chris Travers.

Según este cuadro, tanto BSD como MIT permiten a alguien liberar bajo una licencia diferente. Aquí hay otra fuente que sugiere que permite la sublicencia. Leí la nueva licencia BSD y no sugiere nada acerca de no permitirle liberar bajo una licencia diferente; sin embargo, tiene estipulaciones que no le prohíben cambiar la licencia en un producto derivado.

Natalie Adams
fuente
Soy el "autor". Quiero asegurarme de que todo sea bueno para los usuarios.
Lilian A. Moraru
La licencia BSD requiere que coloque la licencia en copias del código fuente. La licencia proporciona subvenciones directas de autor. En ausencia de sublicencias, no existe un mecanismo para cambiar la licencia del código existente con licencia BSD sin hacer valer sus propios derechos de autor sobre su propio código directamente. Eso es lo que le permite hacer la sublicencia, es decir, agregar restricciones que no están presentes en la licencia original. Espero que esto lo aclare. Nuevamente, el libro de Rosen me pareció muy útil aquí.
Chris Travers
Por supuesto, una vez que tenga sus propios derechos de autor para afirmar, la distinción desaparece. Entonces, una vez que agregue su propio código al archivo, puede agregar las restricciones que desee, pero se aplican solo a su propio código y no puede afirmarlas contra el código que obtuvo bajo la licencia BSD sin un derecho explícito de sublicenciar. Entonces, la diferencia es entre afirmar restricciones en su propio código y afirmarlas en el código que obtuvo bajo una licencia diferente.
Chris Travers