Términos de licencia al portar software libre a otro idioma


17

Estoy explorando la idea de portar un paquete de software existente a otro idioma. Se publica bajo la licencia Apache 2.0 y se distribuye de forma gratuita; pero hay una gran diferencia entre usar una biblioteca y crear una copia de ella. Por supuesto, daría crédito completo y sería honesto acerca de su origen, y ciertamente no planeo ganar dinero desde el puerto, solo lo uso en otros proyectos.

He leído la licencia, por supuesto, que dice:

  1. Concesión de licencia de copyright. Sujeto a los términos y condiciones de esta Licencia, cada Colaborador por la presente le otorga una licencia de derechos de autor irrepetible, sin cargo, libre de regalías, irrepetible, mundial, no exclusiva, sin cargo para reproducir, preparar Obras Derivadas de, mostrar públicamente, realizar públicamente, sublicenciar y distribuir el Trabajo y dichos Trabajos derivados en forma de Fuente u Objeto.

[...]

  1. Redistribución. Puede reproducir y distribuir copias de la Obra u Obra derivada de la misma en cualquier medio, con o sin modificaciones, y en forma de Fuente u Objeto, siempre que cumpla con las siguientes condiciones:

    a. Debe proporcionar a cualquier otro destinatario del Trabajo o los Trabajos derivados una copia de esta Licencia; y

    b. Debe hacer que los archivos modificados lleven avisos prominentes que indiquen que cambió los archivos; y

    C. Debe conservar, en la forma Fuente de cualquier Obra Derivada que distribuya, todos los avisos de derechos de autor, patente, marca registrada y atribución de la forma Fuente de la Obra, excluyendo aquellos avisos que no pertenecen a ninguna parte de la Obra Derivada; y

    re. Si la Obra incluye un archivo de texto "AVISO" como parte de su distribución, entonces cualquier Obra Derivada que distribuya debe incluir una copia legible de los avisos de atribución contenidos en dicho archivo de AVISO [...]

    Puede agregar su propia declaración de derechos de autor a sus modificaciones y puede proporcionar términos y condiciones de licencia adicionales o diferentes para el uso, reproducción o distribución de sus modificaciones, o para cualquier obra derivada en su conjunto, siempre que su uso, reproducción y distribución de el Trabajo cumple con las condiciones establecidas en esta Licencia.

Lo que suena muy parecido a un puerto (como un "Trabajo derivado") está completamente permitido con o sin el permiso del autor, siempre que conserve diligentemente copias de la licencia, avisos de derechos de autor existentes, atribución, etc.

Pero eso no significa que entiendo todas las implicaciones de esto. Por ejemplo, ¿el puerto necesariamente tendría que compartir la misma licencia que el original?

No he comenzado ninguno de los trabajos, ni he contactado a los autores del paquete todavía (aunque lo haré). Quiero establecer si existe algún riesgo de que se desperdicie mucho trabajo. También necesito saber si necesitaría hacer una implementación de sala limpia basada solo en la API, o si podría basar mi trabajo en el código fuente existente (que aún no he visto).


En caso de que tuviera alguna duda, el código que quiero portar no es trivial y logra cosas que me resultaría muy difícil de lograr por mi cuenta.
Marcus Downing

Respuestas:


10

Las traducciones (tanto a un lenguaje natural diferente como a un lenguaje de programación diferente) se consideran trabajos derivados.

Cuando se crea un trabajo derivado que es radicalmente diferente del original como resultado de una traducción a un lenguaje de programación diferente (no muy relacionado), en realidad es bastante difícil entender cómo deben aplicarse los requisitos de la licencia de Apache. Le recomiendo encarecidamente que discuta con los encargados del paquete original cómo les gustaría ver cómo se manejan los derechos de autor y es posible que también desee discutirlo con un abogado.

La parte problemática es la cláusula 4c:

C. Debe conservar, en la forma Fuente de cualquier Obra Derivada que distribuya, todos los avisos de derechos de autor, patente, marca registrada y atribución de la forma Fuente de la Obra, excluyendo aquellos avisos que no pertenecen a ninguna parte de la Obra Derivada; y

El problema aquí es que con un cambio tan radical, es casi imposible saber qué avisos (derechos de autor y atribución) del trabajo original legalmente también pertenecen a la versión traducida y, por lo tanto, qué avisos deben conservarse y cuáles deben eliminarse.


77
"hablar con un abogado" es en realidad una barrera bastante abrupta para alguien que planea hacer un trabajo y regalarlo gratis.
Marcus Downing

2
@MarcusDowning: Sí, pero a veces es el mejor consejo que podemos dar.
Bart van Ingen Schenau

@BartvanIngenSchenau No he encontrado nada que indique que una reescritura en otro idioma constituya un trabajo derivado. Supongo que no es posible una traducción automática. Proporcione algunos enlaces para respaldar su declaración. Encontré esto: rosenlaw.com/lj19.htm . Todo este asunto es importante para mí por otros motivos.
Frank Hileman


1
@FrankHileman: ¿Qué tal "Los trabajos derivados comunes incluyen traducciones, [...] de trabajos preexistentes" ( copyright.gov/circs/circ14.pdf ). Una traducción a un lenguaje de programación diferente sigue siendo una traducción.
Bart van Ingen Schenau

-2

Los derechos de autor se aplican solo al código fuente original. No puedo proporcionar asesoramiento legal (legalmente :)) en mi país, pero cuando usa un idioma diferente, es un cuerpo de código fuente diferente. Las consideraciones éticas son un asunto diferente. Intentaría usar una licencia que sea aceptable para los autores originales, para preservar el espíritu de la contribución original de código abierto a la comunidad. Además, los autores originales deben ser acreditados.


Tenía la impresión de que un puerto no limpio a otro idioma constituía un trabajo derivado ya que el nuevo código tomaría implementaciones específicas del original, no solo inspiración o similitud API. De lo contrario, evadir licencias portando con un pequeño cambio sería fácil y sucedería todo el tiempo. (No estoy seguro de quién te rechazó, no fui yo)
Marcus Downing

Debemos recordar que los derechos de autor se aplican al texto del código fuente; No es como una patente.
Frank Hileman

También generalmente cuando codifica en otro idioma, no puede reutilizar ninguno de los códigos originales. Esa fue la suposición en mi respuesta.
Frank Hileman

1
@FrankHileman Los derechos de autor ciertamente también se aplican al contenido nocional creativo; cf. (para elegir un ejemplo) Anderson v. Stallone en el que el acusado escribió una secuela de Rocky y fue declarado culpable de infracción, a pesar de que no utilizó nada literalmente del texto de cualquier otro guión o grabación de Rocky . Seguramente el "¿qué tan similares son las obras?" la prueba como parte de la determinación de la infracción no solo incluye comparaciones textuales textuales.
apsillers

@FrankHileman: Para las obras literarias, las traducciones (a otro idioma natural) se consideran obras derivadas para derechos de autor, incluso si los dos idiomas usan sistemas de escritura completamente diferentes (por ejemplo, inglés vs japonés). Como las leyes de derechos de autor son las mismas para obras literarias y software, su argumento no es válido.
Bart van Ingen Schenau
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.