software que licencias licencia libre informatica ejemplos copyleft licensing gpl

licensing - que - Cómo envolver el código GPL en un servicio, un controlador Kernel u otro mecanismo para evitar la licencia



que es gpl en informatica (4)

Respecto al siguiente extracto de este comentario :

AFAIK, está bien interactuar con el código GPL sobre un adaptador de red. Normalmente, no está bien (otra vez, AFAIK) tener un código que esté más estrechamente acoplado que eso, particularmente si su código no puede funcionar sin el código GPL, pero ese es un área gris.

Entonces, si quiero usar una biblioteca de gráficos que sea GPL (y no LGPL), ¿podría decidir convertirla en parte de un servicio de gráficos disponible en una computadora Linux siempre y cuando publique mi código que implementa este servicio con esta biblioteca?

Digamos que la biblioteca implementa SVG y decido que quiero hacer todo el dibujo de mi pantalla en gráficos vectoriales con SVG. En lugar de implementar SVG en mis varias aplicaciones (y abrir así su código fuente), creo un servicio (o incluso un controlador kernel) que escucha en un socket (o implementa un dispositivo gráfico) que toma datos SVG y los muestra en la pantalla usando la biblioteca. Lanzo el código de servicio / kernel según la GPL de la biblioteca. No lanzo código para ninguno de mis programas que usan ese servicio o controlador de kernel. Publiqué la API para el servicio / kernel driver para que otros puedan implementarlo, reemplazarlo y aún así ejecutar mis binarios con un servicio / controlador diferente, o desarrollar reflectores, etc.

  • ¿Estoy violando las cláusulas legales de GPL?
  • ¿Estoy violando el espíritu de la GPL?

Estoy seguro de que otros han pensado en esto, ¿ha ocurrido y cuál fue la reacción de la comunidad?

-Adán


Estoy de acuerdo con los comentarios anteriores de que esto se ve mal en lo que respecta al espíritu de la GPL. Hacerlo de todos modos probablemente encuentre cierta resistencia en la comunidad que podría tomar formas como:

  • No comprobando tu trabajo en los troncos del proyecto
  • No distribuye su trabajo si se publica por separado
  • Verificando, luego modificando la API como lo consideren conveniente sin importar cómo afecta su programa cerrado, y distribuyendo la versión modificada a través de los canales normales (de hecho garantizando todo el infierno para sus usuarios)

y por supuesto

  • Escribir, distribuir y empujar un frente competitivo.

Entonces podrías preguntarte si vale la pena. (Recuerde que las comunidades basadas en la reputación pueden tener largos recuerdos de algunos tipos de desaires).

Las reacciones pasadas de la comunidad a los enfoques dudosos de la GPL han incluido:

  • La GPLv3 que está estructurada para hacer algunos de estos trucos más difíciles
  • Una amplia coalición en la comunidad Linux kernel contra la inclusión de módulos que existen para cargar firmware cerrado.
  • Nombrar y avergonzar a los infractores, e (igual de importante) reconocimiento público para aquellos que han limpiado sus actos.

Obligatorio No soy un abogado.

¿Estás violando las cláusulas legales de la GPL? Probablemente no. ATI y nVidia hacen este tipo de cosas con sus controladores gráficos para Linux. Sin embargo, es importante tener en cuenta que Linux es GPLv2; esto puede haber cambiado con GPLv3.

¿Estás violando el espíritu de la GPL? Sí, y a juzgar por la forma en que se escribió su pregunta, usted ya sabía esto.


Tarde o temprano es posible que desee obtener un abogado para preguntas tan profundas. En cuanto a su segunda pregunta: Para mí, está violando el espíritu de la GPL en una situación como la que se le dio.

Cuando comparo las licencias de MySql con esto, he visto muchas aplicaciones comerciales que se han distribuido con una licencia comercial e instaladas con la versión GPL de MySql. No quisiera juzgar si esto es legal o no, pero con un servidor de base de datos y la abstracción existente es más o menos natural: Interfaz de aplicaciones con una interfaz de base de datos genérica (odbc, jdbc, lo que sea equivalentes de perl / php / ruby) eso es hablar a través de un controlador a una de muchas aplicaciones.

Con buena voluntad y conscientemente convirtiendo una pieza de software GPL en un servidor, crear una capa de interfaz y tener la versión GPLed como la única implementación de esa interfaz se siente mal.

Puede ser más fácil ponerse en contacto con los autores y solicitar una licencia de código abierto comercial o más permisiva. Por supuesto, debe ofrecer pagar si tiene algún valor para usted. A juzgar por su profunda pregunta, parece ser de mayor valor para usted.


Una buena regla general es: si te estás preguntando si estás violando o no el espíritu de la GPL, entonces probablemente sí lo estés.