I traduje un GPLv2 C
programa para Python
, pero se encontró que era difícil de extender como diseñado y volvió a escribir porciones significativas de la misma. El programa ahora es estructuralmente completamente diferente, pero hay varias funciones traducidas textualmente en uso.
La paradoja de la Nave de Teseo (como se afirma en Wikipedia) "plantea la cuestión de si un objeto al que se le han reemplazado todos sus componentes sigue siendo fundamentalmente el mismo objeto".
Si logré escribir reemplazos para las funciones textuales, ¿podría volver a otorgar la licencia a una licencia que prefiera?
Relacionado, ¿podría sacar la arquitectura evolucionada y reutilizarla con una licencia diferente? Creo que sería muy útil por sí solo, pero no me gusta la idea de que ahora está "contaminada" con la licencia GPL.
Seguimiento : decidí contactar al titular de los derechos de autor y recibí permiso para volver a otorgar la licencia . ¡A veces la mejor manera es interactuar socialmente en lugar de mediante programación!
Respuestas:
Primero, la respuesta es no (para una traducción), no puede volver a licenciarlo legalmente ni hacer nada fuera de las legalidades de la licencia original. Es muy posible que hayas hecho 10 veces el trabajo del autor original, pero no importa, es viral. No solo porque es GPL, sino porque no es un diseño limpio o reescrito.
Luché brevemente con esto en 1992 cuando hice una reescritura masiva de una vieja base de código MUD. Teníamos un juego exitoso, pero queríamos hacer lo nuestro, y la gente estaba dispuesta a pagarlo, sin embargo, la licencia de DikuMUD nos prohíbe estrictamente ganar dinero. Un competidor, en ese momento, también había basado los suyos en la misma base de código, y optaron por ignorar descaradamente los derechos de autor, eliminar todos los rastros de los mismos y básicamente mentir a todos, incluidos ellos mismos. Su lógica era "no existe ninguno del código original" y "hemos realizado reescrituras y mejoras masivas" y generalmente ignoran el hecho de que comenzaron con 20,000 líneas de código. Cobraban por artículos en el juego y ganaban demasiado dinero para parar.
Estaba ciertamente envidioso. Pero investigué la ley de derechos de autor, consulté mi conciencia y decidí que ni siquiera podía usar el código que había escrito porque honestamente no diseñé el servidor del juego desde cero.
Así que decidí poner mi dinero donde estaba mi boca y escribir desde cero, con una copia de la Programación de la Red UNIX de W. Richard Steven conmigo en todo momento, comencé. Escribir desde cero, a mi manera, me enseñó mucho más que cuando reescribí DikuMUD, y también me enseñó que realmente no entendía lo que significaba estar sobre los hombros de otra persona. En seis meses tenía 50,000 líneas de código operativo que podría llamar mío. Lo llamé MUD ++ y lo lancé bajo BSD. Mal escrito en el estilo anterior C ++, todavía era el primer MUD C ++ gratuito y de código abierto que conozco. Hasta el día de hoy nadie me lo puede quitar. Tenía el mejor servidor TCP en ese momento, nadie más podía hacer un "reinicio activo" sin soltar jugadores, y pronto todos estaban robando la función (y he notado que muchos GUD MUD tienen fragmentos de mi código BSD, siempre interesante cómo GPL puede secuestrar BSD-ware pero no al revés ). Eventualmente, seguí adelante, así que no fue como si la decisión fuera una oportunidad para mi fortuna, pero mientras los otros muchachos ganaron mucho dinero por un tiempo, por última vez parecía que habían disminuido, en un mundo de juegos gráficos. ya no hay mucha demanda masiva de texto.
La historia no termina ... unos años más tarde, estaba trabajando para IBM y Disney nos contrató para escribir un juego multijugador 3D en tiempo real para el centro Epcot, y pude usar el núcleo TCP de MUD ++ como base para eso. ¡Servidor de juegos! Si no hubiera tenido mi propio código, no me hubieran permitido usarlo, y honestamente me ahorró semanas de tiempo de codificación. Al final, estoy orgulloso de las elecciones que hice y tengo una historia que contarles a mis hijos.
La gente subestima y subestima el beneficio de comenzar con el marco de trabajo de otra persona sobre el cual construir.
Si crees que lo "posees", ponte a prueba. Comienza de nuevo, con un libro de Python a tu lado. Mira cómo se siente. No hagas trampa y no mires la antigua base de código. Mira la salida. Oblígate a pensar en cada aspecto por tu cuenta, haciendo una investigación honesta. Serás mejor para ello y probablemente tendrás un mejor producto.
Sin embargo, antes de hacer eso, intente contactar al autor original. Pregúnteles si estarían dispuestos a volver a licenciar. Si planea vender binarios, ofrezca regalías. Muchos autores que lanzaron cosas GPL en los años 90 y 2000, ahora tienen 30, 40 y 50 años y entienden lo que significa ganarse la vida con el software. He visto más de una licencia de sus cosas de GPL a MIT, Apache, Boost o BSD.
Por último, una licencia no anula los derechos anteriores al código que pueda tener. O si escribiste un complemento limpio de forma independiente, por ejemplo, si escribiste un motor TCP como un complemento para un juego de Tetris de un solo jugador, y puede mantenerse limpio de manera independiente (especialmente si lo lanzaste previamente con otra licencia) Puede reutilizar su código en otros proyectos. Usted también tiene derechos de autor.
Mi creencia es gratis es GRATIS. Si tienes que adjuntar cadenas, no lo llames gratis. Alguien me envió un correo años después y me dijo que habían usado mi juego en un motor comercial, principalmente el TCP y posiblemente el intérprete de código de bytes. Estaban haciendo dinero. No me importó un poco. Estaba feliz como lo estoy ahora, como un padre orgulloso.
fuente
Este escenario está cubierto en las preguntas frecuentes de GPL :
fuente
Es dudoso, incluso si reescribió toda la biblioteca desde cero, que pasaría un escrutinio legal. El código se consideraría "contaminado" porque ha visto el código en la biblioteca con licencia GPL.
El enfoque estándar para este problema se llama "implementación de sala limpia". Escribe un documento de requisitos y hace que otra persona lo implemente (que no ha visto el código GPL).
Consulte también esta pregunta: reescribir el código GPL para cambiar la licencia
Como alguien lo puso acertadamente allí, una traducción china de Harry Potter sigue siendo un trabajo derivado, a pesar de que toda la información ha sido reemplazada.
Por supuesto, la probabilidad de que lo demanden por reescribir una biblioteca con licencia GPL (y la moralidad de confiar en esa baja probabilidad) son discusiones completamente diferentes.
En cuanto a agregar funcionalidad al código original, esta es (parte de) la definición misma de trabajos derivados: agregar al trabajo original. No importa cuánto haya agregado o cuán pequeño fue el trabajo inicial, sigue siendo derivado.
fuente
Observación: La GPL solo es relevante si libera su trabajo. ¿Ya lo lanzaste?
Observación: Este no es un sitio web de asesoría legal, por lo tanto, deseche todo ese FUD legal y aplique el sentido común.
Opinión: La GPL, o cualquier licencia, no tiene ideas de derechos de autor , reclama el código fuente, no importa cuán pequeño sea su parte. Entonces, si, y solo si su trabajo "derivado" no puede identificarse como derivado del original, porque cambió la estructura del código y reimplementó toda la funcionalidad, es para todos los propósitos prácticos, ya no es derivado, porque, bueno, sería ser indistinguible de una implementación de sala limpia.
Sin embargo, esto es muy difícil (¿imposible?) De lograr cuando tiene una base de código existente que modifica, en lugar de comenzar desde cero.
fuente
Usted posee los derechos de autor de cualquier código que escriba. Lo que exige la GPL es: cualquier código que contribuya o publique junto con el código GPL, también debe liberarlo bajo una licencia similar. Sin embargo, los derechos de autor siguen siendo tuyos.
Entonces, si libera su software a la mitad de la reescritura (por lo que hay una mezcla de su código y el código anterior), entonces debe liberar esa parte de su código como GPL, y esto no se puede revocar. Sin embargo, el titular de los derechos de autor es el que decide los términos de la licencia, por lo que todavía tiene el derecho de "doble licencia" esencialmente esa parte del código, incluida la combinación con otro código que usted solo escribió y la venta / renovación de licencia, etc.
Advertencias:
(fuente: una sesión de "derechos de autor y código abierto" organizada por mi empresa hace unas semanas)
fuente
Si.
Las otras respuestas usan demasiado texto que explica opiniones sobre si debería o no, pero esas opiniones no son tan relevantes para la pregunta.
El hecho es que tendrá un nuevo trabajo una vez que haya reemplazado las últimas partes, que ciertamente se construyeron al observar un trabajo de GPL. Esa no es una preocupación importante en la ley de derechos de autor (las patentes serían otro problema). Todo lo que distribuyas será tu creación.
Hay mucho material que respalda la teoría de que los derechos de autor en un programa de software son la suma de derechos de autor parciales. Por ejemplo, el MPL reconoce explícitamente este modelo. La demanda de Google / Oracle se redujo a derechos de autor a nivel de línea.
fuente
La respuesta corta es que no puedes saber.
Cuando hablas con Richard, descubres que está "loco como un zorro" en muchas de sus implementaciones. La GPL está escrita específicamente para tener ambigüedades y frases poco claras. En general, se expresan en contra del beneficio del autor de la licencia, pero también le preocupan a su abogado de PI. Inteligentemente, le preocupa cada vez más a su abogado de propiedad intelectual a medida que la empresa crece. Una pequeña empresa comercial que realiza la "interpretación razonable" de la GPL podría ser un riesgo aceptable, pero una gran empresa de software podría encontrar más prudente quemar a todo un equipo que logró contaminarse la GPL.
No hay respuesta. No habrá una respuesta. Esa es la respuesta.
fuente