¿Cómo puedo detectar y documentar una violación de la GPL?


15

¿Cómo detectar que alguien copió el código fuente abierto con licencia de GPL en su aplicación comercial de código cerrado, cuando no tiene acceso a su código fuente cerrado?

Editar: ¡Grandes respuestas! Parte 2. ¿Qué sucede si es una aplicación web en la que ni siquiera tiene acceso a los ejecutables?

Escenario: copian la fuente, hacen algunos cambios menores en la interfaz gráfica de usuario para que la interfaz sea casi idéntica; agregue una nueva característica al back-end totalmente idéntico; y no pueden volver a lanzarlo a código abierto.


1
Sí, es más que una "buena idea". Es ejecutable a través de repercusiones legales (en muchas jurisdicciones). Es decir, contratar (u obtener) un abogado y un equipo de análisis.
pst

Después de editar, esto es bastante claro. Probablemente no se habría migrado en su forma actual. Como no se puede devolver tan fácilmente, he hecho todo lo posible para responder. También revisé tu título.
Tim Post

Vigile a este tipo ;)
MarkJ

Respuestas:


6

Parece que estás, de hecho tratando de detectarlo , lo que significa que tienes que profundizar en el ejecutable compilado (o en las bibliotecas asociadas) del programa propietario para saberlo. Está buscando cadenas y símbolos que obviamente coinciden con el software libre que sospecha.

En un sistema operativo tipo UNIX, la stringsutilidad proporciona una gran pista. Un análisis cuidadoso generalmente revelará lo que necesita. Si ves foolib_easy_init, bueno ... el programa compilado está usando foolib.

Esto, por supuesto, varía con los niveles de optimización del compilador, la ofuscación realizada antes de la compilación y posiblemente los símbolos no utilizados / de depuración que se eliminan, pero las personas que son demasiado flojas para escribir su propio software son generalmente igualmente flojas cuando se trata de ocultar eso.


1
Ya veo, ¿qué pasa si el programa es una aplicación web, donde ni siquiera tienes acceso a los binarios? Copian todo el código fuente con licencia GPL, cambian un par de elementos GUI y lanzan su propia aplicación web de código cerrado con un front end casi idéntico y un backend totalmente idéntico. Luego agregan una nueva función a la aplicación sin lanzarla como código abierto. ¿Es factible detectar este tipo de violación de GPL?
siamii 01 de

3
@ bizso09: Eso no es una violación de la GPL, suponiendo que estemos hablando del back-end. Vea mi respuesta para más detalles.
David Thornley

2
@ bizso09: solo sería una infracción de la GPL si la aplicación se le transfiere en formato ofuscado / compilado sin el código fuente. Simplemente ponerlo "en servicio" y permitir que las personas lo usen no sería una violación. Sin embargo, violaría la Affero GPL, que cubre específicamente el software que interactúa con una red. Aún así, es posible que pueda detectarlo a través de las herramientas firebug / dev inspeccionando todos los elementos (o incluso buscando errores conocidos que existan en el código que sospecha que se usó incorrectamente).
Tim Post

4

BusyBox ha tenido varios casos de alto perfil de demandar a los fabricantes de hardware por usar BusyBox sin publicar fuentes. Estas demandas fueron presentadas por los abogados de Software Freedom Law Center .

Si su proyecto es lo suficientemente maduro como para unirse a Software Freedom Conservancy, también podría contratar los servicios de SFLC. (No estoy seguro si los proyectos que no son de Conservancy podrían usar los servicios de SFLC --- debería verificarlo).


Muy buen enlace. Ni siquiera sabía que existían cosas así.
pst

1
¿Investigan por usted o simplemente proporcionan a los abogados? Porque creo que el OP estaba buscando el primero
TheLQ

1
-1 Si bien es interesante, esto no responde a la pregunta formulada.
HedgeMage 01 de

1
@HedgeMage: la pregunta era un poco más ambigua antes de la edición.
detly

3

La GPL solo tiene una aplicación limitada para aplicaciones web del lado del servidor. Cualquier cosa del lado del cliente se está distribuyendo, pero esto normalmente es Javascript, y el usuario obtiene automáticamente la fuente. Todo lo que esté estrictamente del lado del servidor se ejecuta, no se distribuye, y la GPL se aplica principalmente a la distribución.

Esta fue la motivación para Affero GPL, que (IIRC) dice esencialmente que si usa el software AGPLed en algo así como una aplicación web, es necesario ofrecer distribuir la fuente.


1
Correcto. La AGPL cubre específicamente 'software que interactúa con una red'. Se aplicaría tanto a ... un servidor IMAP ... como a una aplicación web.
Tim Post

2

Si se comporta como y se ejecuta como su programa, puede comenzar con objdumpherramientas similares. Esta vieja entrada de Slashdot muestra otro método más formal para detectar la violación de la GPL.


1

Harald Welte ha tenido éxito con los enfoques de la zanahoria y el palo para lograr que las compañías que han usado su código con licencia GPL de manera inadecuada cumplan con los términos de la licencia. Muchas compañías simplemente necesitaban ser educadas sobre las consecuencias de sus decisiones y resolver sus problemas fuera de los tribunales.


-1 En realidad no aborda la pregunta formulada, que es cómo identificar tales abusos, no qué hacer después de encontrar uno.
HedgeMage 01 de

55
@HedgeMage - la pregunta fue editado recientemente, en realidad era bastante confuso que se ha migrado aquí, cuando en realidad es probable que haga pertenecen en SO.
Tim Post

2
@Tim: ¿Podemos ir ahora y tomar represalias a favor de @HedgeMage ahora? Pleeeez? :-P (Para acechadores de terceros: No, eso no es una sugerencia seria. Tanto Tim como yo somos moderadores en otros sitios de SE y nunca participaríamos en algo así. ¡Seguro!)
Chris Jester-Young

1

Si detecta una violación de la GPL (alguien usó el código bajo su copyright y no ofreció la fuente mientras distribuía los archivos binarios), póngase en contacto con el infractor y solicite resolver la situación. Documente los correos, datos de cuándo contactó a quién, etc.

Si no es su derecho de autor pero detectó la violación, póngase en contacto con el titular original del derecho de autor junto al infractor e infórmele también sobre la violación. Es aconsejable antes de contactar al infractor.

Si el software es un trabajo combinado con muchos titulares de derechos de autor, lo mismo se aplica a usted si usted es solo uno de los titulares de derechos de autor o solo un grupo de titulares de derechos de autor (y no todos). Son sus derechos de autor, y la GPL se aplica a cualquier tipo de derivados, grandes o pequeños.

Si se debe a limitaciones técnicas que no pueden obtener conocimiento si una violación probable realmente es una violación, debe buscar otras formas de obtener más información. Por ejemplo, al hacerle una pregunta al infractor probablemente, al obtener acceso a fuentes binarias o incluso a través de terceros, etc.

Si el código en cuestión está bajo GPL v2 y hay una violación de los términos de la licencia, se aplica la rescisión. El infractor ha perdido todos los derechos para usar el código GPL. Debe ponerse en contacto con todos los titulares de los derechos de autor nuevamente y solicitar la restitución de los derechos, de lo contrario, el uso del código infringe los derechos de autor.

Si el código en cuestión está bajo GPL v3 y hay una violación de los términos de la licencia, la rescisión también está vigente, pero el infractor puede recuperarse de esto deteniendo la violación por sí mismo, a menos que un titular de derechos de autor solicite más.

Editar: Esto es meramente información general. Si desea analizar el aspecto legal concreto de esto, debe ser propietario de los derechos de autor y debe comunicarse con su equipo legal por adelantado para averiguar qué necesita para una prueba y qué se sugiere para resolver una violación, incluso sin la ley como Esto es mucho más práctico.

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.