¿Cómo se escapa a la GPL?

24

DESCARGO DE RESPONSABILIDAD No pretendo saber nada sobre licencias. De hecho, ¡todo lo que digo a continuación puede ser completamente falso!

Historia de fondo:

Recientemente, he estado buscando un motor de juego decente, y creo que he encontrado uno que realmente me gusta, Cafu Engine .

Sin embargo, tienen un plan de licencia dual, donde todo lo que haces con el motor se ve obligado por GPL, a menos que pagues por una licencia comercial. No digo que sea un mal motor, incluso dicen que están muy relajados con las tarifas de licencia. Sin embargo, el hecho de que incluso involucre a la GPL me asusta.

Entonces mi pregunta es, básicamente, ¿cómo se puede escapar de la GPL?

Aquí hay un ejemplo: el motor id Tech, también conocido como el motor Quake, o el motor Doom, fue la base del popular motor Source. Sin embargo, el motor id Tech ha sido lanzado bajo la GPL, y el motor Source es propietario. ¿Valve obtuvo una licencia diferente? ¿O hicieron algo para escapar de la GPL? ¿Hay alguna forma de escapar de la GPL? O, si usa el código fuente de GPL como base para otro proyecto, ¿está obligado a usar la GPL y poner su código fuente a disposición del mundo? ¿Podría una persona aleatoria tomar el motor id Tech, modificarlo más allá del punto de reconocimiento y luego usarlo como un motor patentado para productos comerciales? ¿O están obligados a hacerlo de código abierto?

Una última cosa, generalmente no tengo ningún problema con el código abierto. Sin embargo, siento que el código abierto tiene su lugar, pero eso no está en el mundo de los bosques.

tehtros
fuente
3
Respondió su propia pregunta con la cotización que proporcionó. Además, Source (HL2) no se basó en Quake. Estás pensando en GoldSrc (HL1).
Justin Skiles
Es una pena que esto haya sido rechazado porque la pregunta es claramente responsable y tiene varias respuestas precisas.
Kylotan
1
Pregúntele a su abogado y, de hecho, pregúntele a la compañía que fabrica el motor, pero tal como lo entiendo para los motores de juegos, la GPL solo puede aplicarse al código y cualquier modificación que haya realizado, y no a sus otros activos [como mapas , sonidos, arte, etc.]. ¿Por qué no es eso aceptable para ti?
Random832
1
También podría preguntar cómo puede robar el código fuente de Microsoft y salirse con la suya. Tiene dos opciones y solo dos opciones: jugar según las reglas que el propietario del código estipula con su (s) licencia (s) y / o tarifas, o ir a usar otra cosa.
Sean Middleditch
1
"Sin embargo, siento que el código abierto tiene su lugar, pero eso no está en el mundo de los arbustos". ¿Pero cree que usar el código de alguien y no pagar la licencia comercial ni aceptar los términos de la alternativa tiene su lugar en el mundo de los negocios? Esto no es tanto negocio como robo. No es que esto no ha happenened en el mundo de los negocios con la suficiente frecuencia ... - Parece como si realmente no quieren código abierto (comprensiblemente) desde el punto de vista del programador, pero tienen una aversión más dogmática contra ella desde el punto de vista monetario . Bueno, estas vistas no son compatibles.
Leftaroundabout

Respuestas:

28
  1. Si tiene derechos de autor sobre el código fuente, puede liberar ese código como desee. Su publicación bajo GPL no impide una publicación bajo otra licencia no restrictiva o incluso más restrictiva. No estoy seguro de los detalles de Source / id Tech, pero supongo que Valve negoció su propia licencia.

  2. Si utiliza el código GPL en su proyecto, debe proporcionar el código fuente a los usuarios. Esto no significa que deba ejecutar un sitio web o conservar una copia del mismo para proporcionarlo a pedido. Esto no significa que deba hacer públicos todos los cambios tan pronto como los realice; solo cuando redistribuye el software, el código y los cambios que realice van con él. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Si usa incluso una línea de código GPL en su proyecto, ahora está sujeto a los términos de la GPL. Una (aunque no es la única forma) es liberar su código bajo GPL también (o no liberarlo en absoluto).
    Si lo modifica más allá del punto de reconocimiento y no cumple con los términos, probablemente se saldrá con la suya (es decir, no será demandado), pero el hecho de que se salga con la suya no significa que no lo haga. t en violación de la licencia, o corregirlo.

  4. Para usar el 'código GPL' sin GPL, debe obtenerlo bajo otra licencia, de modo que ya no sea 'código GPL' (pagando a Cafu). No hay salida de la GPL: fue diseñado específicamente para ser una licencia viral por sus inventores y su propósito se negaría si fuera posible.

Dicho esto, si desea utilizar el código GPL en su programa, puede crear una entidad independiente que su aplicación utilice (si la vinculación dinámica satisface esto es discutible, pero generalmente se acepta que cuando el resultado es un solo programa, se invoca la GPL ) Entonces, por ejemplo, podría crear un nuevo proyecto con el código GPL y el suyo, que lanzará con su aplicación (propietaria), junto con la GPL y el código fuente. Sin embargo, su aplicación se comunica con ella a través de CLI o RPC y, por lo tanto, puede permanecer libre de la GPL.

Hoy en día, muchos desarrolladores adoptan LGPL, que permite la vinculación en la mayoría de sus formas sin que GPL se transfiera al proyecto de destino. (Sin embargo, si modifica la biblioteca en sí, aún debe proporcionar el código de la biblioteca).

Tenga en cuenta que además del punto 2, se considera de buena educación publicar cualquier mejora que realice en el código fuente abierto, independientemente de la licencia.

revs sebf
fuente
99
Si usa incluso una línea de código GPL en su proyecto, su proyecto ahora está bajo la licencia GPL. No. Si usa una línea de código GPL, su proyecto no cumple con la licencia GPL, y quien escribió esa línea puede demandarlo. Un posible remedio es lanzar su proyecto bajo la GPL, pero eso no sucede automáticamente.
TRiG
3
(Esto aún no le impide venderlo o lanzarlo bajo una licencia menos restrictiva además de la GPL ...) Sí, lo hace. Si libero el código bajo GPL, alguien más no puede venir y simplemente poner ese mismo código en (por ejemplo) el dominio público. Todavía tengo ese código; Solo lo puse a disposición de otros en las condiciones de la GPL.
Evan Harper
44
A pesar de algunas imprecisiones menores, +1 porque menciona la solución más obvia, más fácil, más rápida y más accesible: para usar el 'código GPL' sin GPL, debe obtenerlo bajo otra licencia . Póngase en contacto con los titulares de los derechos de autor, negocie una licencia diferente. Obviamente, esto también funciona para cualquier otra licencia.
Martin Sojka
11
Esta respuesta y todos los comentarios omiten una condición importante: las condiciones de GPL se aplican a la distribución , no al uso . Si usa mil líneas de código GPL en sus herramientas internas (que no distribuye), entonces aún no está sujeto a los términos GPL.
MSalters
1
"probablemente te saldrás con la tuya". Hmmm, me encanta esa sensación cálida y confusa que recibo de esta respuesta.
Trevor Boyd Smith
64

Usted escapa de la GPL pagando a los desarrolladores por una licencia comercial.

Tapio
fuente
27
+1, creo que el Capitán Obvio de alguna manera no está registrado en stackexchange :)
teodron
1
+1, aunque para ser más precisos, obtienes permiso para usar el código sin la GPL. No significa necesariamente que tenga que pagar (aunque a menudo lo hará).
Kylotan
en realidad no, estás diciendo esto como si siempre hubiera una alternativa comercial para cada licencia GPL en la tierra; depende de cuál sea la estrategia del propietario de ese código.
user827992
44
Yo diría "Te escapas de la GPL pagando a los desarrolladores una licencia comercial, dándoles así una parte adecuada del dinero que esperas ganar como recompensa por los muchos años de esfuerzo que pusieron por escrito".
DJClayworth
1
Casi, "Usted escapa de la GPL pagando a los desarrolladores por una copia del código que no tiene gravamen GPL (algo así como MIT)".
Jonathan Dickinson
10

Básicamente te preguntas "¿Cómo robo el código de otra persona?" Si desea utilizar el código con derechos de autor de alguien, debe obtener una licencia de ellos. Si la única licencia que tiene de ellos para usar su código es la GPL, entonces debe cumplirlo o está violando sus derechos de autor. Si puede hacer que le otorguen una licencia diferente para su código, entonces está bien, pero no escapa de la GPL.

Jason Goemaat
fuente
3
-1. Te escapas de la GPL: porque te dan una licencia completamente diferente. Tampoco está robando su código, si sigue los pasos que le piden (por ejemplo, pagar dinero).
Jonathan Dickinson el
55
No, en ese caso su uso de su código no tiene absolutamente nada que ver con la GPL. Escapar implica estar atrapado por algo.
Jason Goemaat
@ JonathanDickinson Creo que su punto aquí es que el OP no parece querer pagar por una licencia. Quiere obtenerlo gratis, pero sin las restricciones de GPL.
Paul
Esto me hizo gravitar hacia la carga (en lugar de robar) "Sin embargo, el hecho de que incluso involucra a la GPL me asusta". Suena más como (bien fundado) miedo a que la pancarta GPL cuelgue sobre el código.
Jonathan Dickinson
2
@ Jonathan. El OP dice que zie no sabe nada sobre licencias, por lo que sospecho que su miedo a la GPL no está "bien fundado".
TRiG
8

¿Realmente necesitas escapar de la GPL? Todo lo que la GPL requiere que haga es liberar su propio código fuente bajo la GPL. No se aplica a niveles de juego, activos artísticos, etc. Todavía puede vender su juego y hacer que el código esté disponible a través de la GPL para las personas que lo compran si lo desean, o que esté disponible en línea para todos.

El único problema es si desea utilizar bibliotecas de terceros que no sean GPL, ya que no podrá distribuirlas junto con su motor GPL.

Si necesita escapar de la GPL, mire su página de licencias , suenan lo suficientemente flexibles como para poder llegar a un acuerdo.

Mella
fuente
Estoy de acuerdo con esta respuesta, especialmente porque la mayoría de las personas realmente no agregan tanto valor adicional cuando usan un motor. Son los otros activos que realmente es donde está el valor.
Paul
5

Hay muchos malentendidos sobre lo que la GPL es en realidad y lo que realmente significa, y estoy detectando uno en su pregunta:

todo lo que haces con el motor está forzado bajo GPL

Ese no es el caso en absoluto. La fuente del motor permanece bajo la GPL con seguridad, pero vale la pena leer las preguntas frecuentes de la GPL, particularmente las partes relacionadas con la salida de un programa GPL, que creo que son relevantes aquí: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

¿Hay alguna manera de que pueda GPL la salida que la gente obtiene del uso de mi programa? Por ejemplo, si mi programa se usa para desarrollar diseños de hardware, ¿puedo exigir que estos diseños sean gratuitos?

En general esto es legalmente imposible; la ley de derechos de autor no le permite opinar sobre el uso de los resultados que las personas obtienen de sus datos utilizando su programa. Si el usuario usa su programa para ingresar o convertir sus propios datos, los derechos de autor en la salida le pertenecen a él, no a usted. En términos más generales, cuando un programa traduce su entrada a alguna otra forma, el estado de copyright de la salida hereda el de la entrada desde la que se generó.

Entonces, la única forma en que puede opinar sobre el uso de la salida es si partes sustanciales de la salida se copian (más o menos) del texto en su programa. Por ejemplo, parte de la salida de Bison (ver arriba) estaría cubierta por la GNU GPL, si no hubiéramos hecho una excepción en este caso específico.

Podría hacer artificialmente que un programa copie cierto texto en su salida incluso si no hay una razón técnica para hacerlo. Pero si ese texto copiado no tiene ningún propósito práctico, el usuario podría simplemente eliminar ese texto de la salida y usar solo el resto. Entonces no tendría que obedecer las condiciones de redistribución del texto copiado.

Esto cambia su situación bastante. En realidad, no está en una posición en la que cualquier contenido que desarrolle para o con este motor también se encuentre bajo la GPL; ese contenido es suyo, usted posee los derechos de autor y puede obtener la licencia que desee.

IANAL, etc.

Maximus Minimus
fuente
2
No sé nada sobre el motor específico, pero lo anterior solo es cierto si el motor toma los diseños de tus juegos y produce un juego independiente como resultado. Si el motor en sí, o parte de él se distribuye con el juego, o se vincula al código del juego, la GPL se aplica a todo.
rjmunro
Creo que es bastante posible que un motor sea GPL pero el contenido del juego no lo sea. El contenido del juego no es código y no se "vincula" al motor de la misma manera que el código; los mapas, texturas, modelos, etc. no se vinculan al motor de esta manera. Desafortunadamente, las preguntas frecuentes de la GPL no son claras al respecto (lo cual es una razón válida para evitar el uso de la GPL).
Maximus Minimus
Esta respuesta describe más lo que sucede con el contenido producido con alguna herramienta GPL. Al igual que un documento escrito en un editor de texto GPL no se verá obligado a ser GPL. Pero esto no se puede traducir a un motor de juego. Un motor de juego no toma código y produce un juego independiente sin relación con el motor: incluirá todo el motor en su juego.
Matsemann
4

Solo la persona, el grupo de personas o la actividad propietaria del código pueden cambiar su propia licencia.

Si ese código es suyo, puede cambiar la licencia cada vez que lo desee, decidir si se le pagará o no, puede hacer lo que quiera, pero si el código no es suyo, quédese con la licencia si desea evitar problemas; Grandes problemas

El propietario también puede negarse a aceptar que le paguen, es una situación como la que tiene con las patentes, si puede demostrar que posee el código no significa que lo esté poniendo en el mercado por dinero, muchos muchos veces, se supone que la patente o la licencia obligan al mercado o al usuario a permanecer en un espacio confinado.

La respuesta es no y la única forma de cambiar la licencia es esperar que el propietario lo haga.

usuario827992
fuente
Muy bueno como respuesta general, sin embargo, en este caso es evidente que aceptan el pago de copias del código con una licencia diferente. +1 (también doy respuestas más generales :)).
Jonathan Dickinson
4

La idea es simple: si la compañía escribió el código, posee todos los derechos y, por lo tanto, puede dárselo a algunas partes bajo licencia GPL, a otras bajo licencia comercial y a otra persona que lo pueden regalar, o alquiler, o lo que quieran.

El hecho de que hayan proporcionado el código a alguna parte bajo GPL, impone restricciones de GPL a esa parte , pero no puede imponer restricciones al propietario del código .

Solo, si el propietario del código usó en su software algún código GPL de terceros , escrito y propiedad de otra persona, entonces todo su proyecto está bloqueado en GPL para siempre (o hasta que eliminen este código GPL de terceros u obtengan un Licencia GPL para ello). Tenga en cuenta que lo mismo es igualmente cierto para el motor 100% comercial sin GPL: si incluyen algún código GPL, violan la GPL, no tienen derecho a vender licencias comerciales y usted no tiene derecho a comprar dicha licencia.

Por lo tanto, si todo el código en el "Cafu Engine" está escrito por el personal de Cafu, no tiene ningún problema con la GPL. Si obtiene una licencia comercial de Cafu, entonces la licencia GPL no se aplica a usted en absoluto.

Sandman4
fuente
Esta respuesta es buena, excepto que parece suponer que el póster original es parte del personal de Cafu y posee el código, lo que no parece ser el caso.
Kylotan
Yo no supongo que. Me pregunto qué te hizo pensar eso.
Sandman4
Su último párrafo dice más o menos eso, porque equivale a "personal de Cafu" a "usted".
Kylotan
@Kylotan Editó el último párrafo para que quede un poco más claro. Sin embargo, no puedo decirlo correctamente, todos pueden expresarlo mejor.
Sandman4
Esta es la mejor respuesta por un largo camino. He editado el último párrafo, pero no tengo permisos de edición en este sitio, por lo que tendrá que esperar la aprobación.
rjmunro
2

Hay una forma de "escapar" de la GPL o (prácticamente) cualquier otra licencia. Realice una implementación de sala limpia.

Contrata dos grupos de personas. La tarea del primer grupo es estudiar el material original en minuciosos detalles y describirlo. El segundo grupo, que nunca podrá ver el material original, escribirá una nueva implementación basada en la descripción.

Así es como se creó el BIOS en clones de PC originales; el BIOS fue lo único que IBM no permitió que otras personas copiaran.

Esto no significa que esté a salvo de demandas judiciales ... las patentes y la basura de "verse y sentirse" todavía están ahí, y al menos en los Estados Unidos, cualquiera puede demandar a alguien sin ninguna razón en particular (o al menos así parece). .)

Jari Komppa
fuente
1

Con respecto a la pregunta sobre el motor Quake: el código se puede lanzar bajo GPL y también bajo otras licencias. Valve autorizó a Quake pagando dinero a iD. Más tarde, todos en el mundo obtuvieron una Licencia GPL (sic) para usar el código fuente de Quake. Cuando iD GPL ajustó el motor, no convirtieron retroactivamente otras licencias a GPL; Eso sería imposible. De hecho, iD aún puede licenciar el motor Quake bajo una licencia diferente si lo desean, ya que poseen los derechos de autor originales.

Gregory Avery-Weir
fuente