Reescribió el código GNU GPL v2 en otro idioma: ¿puedo cambiar una licencia?

11

Reescribí algunas partes de Mercurial (que está licenciado bajo GNU GPL v2) en C #. Naturalmente, busqué mucho en el código original de Python y algunas partes son traducciones directas de Python a C #.

¿Es posible tener "mi código" licenciado bajo diferentes términos o incluso formar parte de una aplicación comercial de código cerrado? Si no es así, ¿puedo volver a licenciar "my-code" bajo LGPL, abrirlo y luego usar esta biblioteca C # de código abierto en mi aplicación comercial de código cerrado?

Anton Gogolev
fuente
3
Si trabajó desde el código original (en lugar de volver a implementar desde los protocolos y documentos), puede caer en el ámbito del "trabajo derivado", en cuyo caso aún puede estar bajo la licencia original. Habla con un abogado.
@MichaelT ¿No sería el uso de documentos y protocolos de ingeniería inversa también un "trabajo derivado"?
Anton Gogolev
3
no necesariamente. El trabajo derivado toma el original y lo transforma en otra forma. Con los medios más tradicionales, una pintura tiene derechos de autor, una fotografía de la pintura es un trabajo derivado. Cuando se hace correctamente, una ingeniería inversa de sala limpia evita esto. Consulte también ¿Cuáles son los problemas de derechos de autor y licencias del código de portabilidad? de SO.
INAL, pero AFAIK solo la traducción automática de códigos está cubierta por derechos de autor.
vartec
1
@vartec ¿Alguna prueba de eso?
Anton Gogolev

Respuestas:

17

El texto de la licencia cubre específicamente las traducciones, por lo que no, no podrá volver a otorgar la licencia.

El "Programa", a continuación, se refiere a dicho programa o trabajo, y un "trabajo basado en el Programa" significa el Programa o cualquier trabajo derivado según la ley de derechos de autor: es decir, un trabajo que contiene el Programa o una parte de ya sea textualmente o con modificaciones y / o traducido a otro idioma.

Mason Wheeler
fuente
1
IANAL pero supongo que "Traducido a otro idioma" en este contexto no se refiere a un lenguaje de programación diferente. La ley de derechos de autor solo protege la expresión exacta de una idea, no la idea misma.
Onorio Catenacci
2
@Onorio: GPL no es un copyright, es una licencia.
Mason Wheeler
55
@OnorioCatenacci este es uno de esos casos donde el "lenguaje" se vuelve un poco pegajoso. La frase clave es "trabajo derivado", que el OP ciertamente ha creado. GPL permite expresamente la creación de trabajo derivado (también conocido como "Gratis ..."), pero las restricciones de licencia originales aún se aplican al derivado. GPL permite una nueva licencia (enchufe descarado, vea mi respuesta). Esta es más una pregunta sobre licencias en lugar de derechos de autor.
@MasonWheeler "significa ya sea el Programa o cualquier trabajo derivado bajo la ley de derechos de autor", nuevamente, no es un abogado, pero eso parece decir que el derecho de autor estaría involucrado de alguna manera.
Onorio Catenacci
1
@MasonWheeler "GPL no es un derecho de autor, es una licencia". ¿Te importaría explicar eso? Todo lo que puede hacer una licencia es otorgarle ciertos derechos sobre una obra protegida por derechos de autor. Si (grande si) los derechos de autor en el nuevo trabajo no pueden ser reclamados por los titulares de los derechos de autor de las obras originales, entonces la licencia no aplica.
Jaydee
3

Basado en:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Deberías estar de acuerdo con el segundo escenario que representaste.

Las partes que copió permanecen bajo GPLv2, pero toda su biblioteca se puede lanzar como LGPL v2.1 o posterior. Luego puede vincular su código fuente cerrado a esa biblioteca bajo los términos de la LGPL.

Como siempre, haga algunas excavaciones y asegúrese de comprender cuáles son las restricciones.


fuente
3
Definitivamente no. Piénselo: la GPL no tendría ningún sentido si fuera así. Puede tomar cualquier código GPL v2 y cambiarlo a LGPL. Eso haría superflua la GPL. Eche un vistazo a la letra pequeña: "LGPLv2.1 le da permiso para volver a licenciar el código bajo cualquier versión de la GPL (no LGPL) desde GPLv2. Si puede cambiar el código LGPLed en este caso para usar una versión adecuada de la GPL en su lugar (como se indica en la tabla), puede hacer esta combinación ". Eso solo significa que es legal cambiar su biblioteca LGPL a GPL, pero no al revés. Lo cual tiene sentido nuevamente.
Dilema el