¿Puedo usar paquetes con licencia GPL, LGPL, MPL con mi aplicación y convertirla en código cerrado?


11

Vi que una compañía está usando BusyBox y también usando paquetes Gpl + Lgpl + Mpl, y luego tienen su propia aplicación ejecutándose. Su aplicación es un paquete de código cerrado.

Usted compra el dispositivo pero es de código cerrado. ¿Cómo es que GPL mezclado con LGPL + MPL se convierte en fuente cerrada?

Pensé que la regla es ?? ¿O estoy equivocado o la siguiente información está mal ?:

GPL: si lo usa en su aplicación, debe liberar su aplicación bajo la GPL. Eso no significa que no pueda venderlo (como venden CD de Linux), sino que también debe liberar el código fuente de forma gratuita. Eso podría funcionar para usted, pero probablemente no.

LGPL: si lo usa en su aplicación, aún puede tener una aplicación con licencia patentada de código cerrado. Pero si modifica la biblioteca LGPL, debe liberar sus modificaciones bajo la LGPL, aunque su aplicación pueda permanecer cerrada.


Primero, BusyBox es un programa, no un sistema. En segundo lugar, BusyBox en particular tiene una excelente página de licencia de Busybox sobre esto. Y el resto está cubierto en las preguntas frecuentes de GPL .
mctylr

BusyBox es el proyecto que más litigó con éxito los problemas de GPL. Ha habido varias compañías que incluyeron BusyBox pero no pudieron proporcionar el código BusyBox a sus usuarios finales. De todos los códigos para empujar el sobre con BusyBox es probablemente la peor opción.
Elin

Respuestas:


12

Está perfectamente bien vender un "agregado" de software de código abierto y de código abierto de acuerdo con las preguntas frecuentes de GPL. Si la compañía compiló un Linux, construyó su propio programa sobre él usando solo bibliotecas LGPL y vendió el producto resultante mientras publicaba todas las fuentes de GPL / LGPL con él, no están violando la GPL.

El punto aquí es: la GPL no se extiende a los programas que simplemente se ejecutan en la misma computadora y se comunican / interactúan con el programa de código cerrado. Por supuesto, un administrador de ventanas de código abierto como BusyBox puede administrar ventanas de código cerrado. Como regla general, la GPL llega hasta el espacio de direcciones del código con licencia.


3
Eso es más o menos lo que iba a decir, así que también iba a agregar una nota sobre tivoización .
Mark Booth

1
@Google: Sí, pero debe distribuir todas las fuentes de las partes de GPL con su distribución.
thiton

1
@Google: La GPL requiere que los trabajos derivados contengan avisos "destacados" de que son derivados. (GPL, secciones 4 y 5). Por lo tanto, podría marcarlo como Bnome3 Desktop, pero necesitaría un subtítulo que diga 'Basado en Gnome 3', y los avisos de derechos de autor tendrían que enumerar 'El Proyecto GNOME'. Tenga en cuenta que fedora no se distribuye bajo GPL en una unidad grande, es un gran grupo de muchos bits que están cada uno bajo GPL et al.
ipeet

2
La "regla de oro" es lo que mantiene a los abogados empleados. Solo digo ...
pap

1
Solo una nota, pero ... BusyBox (mayúscula 'b') no es un Administrador de ventanas. Creo que te confundiste con * Box, línea de WM, como Openbox, Blackbox, Fluxbox, etc. (todo en minúscula 'b') BusyBox es una sola pieza de software (más específicamente, un sistema de arranque) que combina varias herramientas UNIX . Estoy seguro de que fue solo una confusión.
haylem

4

IANAL, pero esto es lo que he aprendido. Me interesaría saber si algo de esto es incorrecto:

LGPL: Si estáticamente vincular que en su aplicación y distribuir la aplicación compilada a continuación, hay que liberar la fuente bajo la GPL para cualquier persona que recibe el binario .


1
Según tengo entendido, usted acaba de describir la LGPL. Como dijo thiton, "la GPL llega hasta el espacio de direcciones del código con licencia".
ipeet

Simplemente no es correcto. Si se vincula con una biblioteca gpl, su programa debe ser gpl. No importa si enlaza estática o dinámicamente. Es por eso que inventaron lpgl para dar a los autores de la biblioteca la opción de vincular sin restringir la licencia
Esben Skov Pedersen

1

GPL NO es compatible con código cerrado. Si usaran paquetes / módulos con licencia GPL y cerraran la fuente, en el caso general estarían violando las condiciones GPL.


Una gran empresa hizo esto, donde Busybox en sí es GPL y usaron zoneinfo http://www.twinsun.com/tz/tz-link.htm LGPLy su dispositivo integrado es de código cerrado, haciendo negocios por más de muchos años. ¿Seguirás diciendo que están violando las condiciones de la GPL?
YumYumYum

2
@Google: De acuerdo, entonces una empresa hizo algo durante varios años. ¿Estás diciendo que eso lo hace legal? Usando ese razonamiento, exceder el límite de velocidad para conducir sería legal por aquí.
David Thornley

@DavidThornley: Bueno, desafortunadamente no soy yo. La empresa que lo está haciendo no es legal o legal no está clara porque en la Ley de TI no hay 100% de respuestas disponibles, por lo que tratar de entender para evitar cometer errores en mis proyectos, donde muchos otros parecen haber cometido esos errores. (es solo porque los recursos son limitados, no están disponibles para que los principiantes se den cuenta durante el desarrollo, luego se convierte en una pesadilla, como en mi caso lo estoy teniendo).
YumYumYum

1

Hay casos claros y luego algunos turbios para los cuales obtendrá más opinión de los abogados que presente el caso.

Sus reglas coinciden con mi comprensión, pero lo que variará es la definición precisa de "uso". El sistema de derechos de autor en el que se basa la licencia no se trata de "usar" sino de "crear un trabajo derivado" y algunos argumentarán con buenos argumentos que un sistema hecho de diferentes programas puede ser tal que los diferentes programas estén lo suficientemente vinculados como para que el todo el sistema es un trabajo derivado de cualquiera de ellos, mientras que otro programa único vinculado dinámicamente a una biblioteca no es un trabajo derivado de la biblioteca porque la biblioteca implementa un protocolo claramente definido y podría ser reemplazado (he visto libreadline utilizado en tal una manera con un simple contenedor GPL para que coincida con una interfaz proporcionada por la aplicación). Pídale a su abogado consejos específicos para su caso. Nos vemos ante el juez si el titular de los derechos de autor no está


1

(Esta respuesta no estaba destinada a esta pregunta, sino a una más específica gity cubre su caso específico con mayor detalle de lo que esta pregunta prácticamente permitiría. Vea el comentario 599873 para obtener más información. Se mantendrá aquí en este formulario al menos hasta que se resuelva el asunto .)

  • Git está cubierto por GPLv2 .
  • En general, si tiene alguna pregunta sobre las licencias de FSF, el camino a seguir es
    • la licencia en sí misma (no es un tope de puerta y es bastante comprensible. El tiempo invertido en aprenderlo se pagará diez veces).
    • Preguntas frecuentes de FSF sobre sus licencias , específicamente, preguntas frecuentes sobre GPLv2 ,
    • otros materiales relacionados en la web, incluidas las instalaciones de FSF; aunque esté atento a su autoridad
    • como último recurso (menos un abogado), FSF en sí (no son una firma de abogados, por supuesto, por lo que solo le darán comentarios generales sin tener en cuenta la jurisdicción, ya que son libres de ignorar una solicitud. Mi práctica dice responden a consultas razonables que aún no se han respondido en otro lugar, aunque puede llevar un tiempo).

  • En su caso, los materiales relacionados son:
    • GPLv2 # section2 :

      b) Debe hacer que cualquier trabajo que distribuya o publique, que en su totalidad o en parte contenga o se derive del Programa o de cualquier parte del mismo, tenga licencia en su conjunto sin cargo para todos los terceros bajo los términos de esta Licencia .
      <...>
      Estos requisitos se aplican al trabajo modificado en su conjunto. Si las secciones identificables de ese trabajo no se derivan del Programa y pueden considerarse razonablemente trabajos independientes y separados en sí mismos, entonces esta Licencia y sus términos no se aplican a esas secciones cuando los distribuye como trabajos separados. Pero cuando distribuye las mismas secciones como parte de un todo que es un trabajo basado en el Programa, la distribución del todo debe estar en los términos de esta Licencia, cuyos permisos para otros licenciatarios se extienden a todo el conjunto, y por lo tanto a cada uno. y cada parte, independientemente de quién lo escribió.

      Por lo tanto, no es la intención de esta sección reclamar derechos o impugnar sus derechos de trabajo escrito completamente por usted; más bien, la intención es ejercer el derecho de controlar la distribución de obras derivadas o colectivas basadas en el Programa.

      Además, la mera agregación de otro trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un volumen de un medio de almacenamiento o distribución no incluye el otro trabajo dentro del alcance de esta Licencia.

    • Preguntas frecuentes sobre GPLv2 #NFUseGPLPlugins :

      Depende de cómo el programa invoca sus complementos. Si el programa usa fork y exec para invocar complementos, entonces los complementos son programas separados, por lo que la licencia del complemento no requiere requisitos sobre el programa principal.

Por lo tanto, no puede hacer que su trabajo "contenga",git pero puede incluirlo como una entidad separada que utiliza su trabajo. El ejemplo de VMWare muestra que este último incluye empaquetarlo en la distribución o un archivo compuesto dentro de la distribución (una imagen ISO que era).

¿Cuál es la distinción? Me llevó un tiempo llegar a una conclusión. Al final, el párrafo "no es la intención ... reclamar derechos ... más bien ... controlar la distribución de trabajos derivados o colectivos basados ​​en el Programa" me convenció de que la distinción es si el trabajo resultante es considerado un derivado de la parte GPL bajo la ley de derechos de autor. Con esta última, GPL no puede ayudarlo: debe consultar la ley de derechos de autor aplicable o seguir los pasos de otra persona.


Esta respuesta fue dirigida a programmers.stackexchange.com/questions/289785/… . Lo cerraron antes de que terminara la investigación. Dado que cubre el asunto mejor que la respuesta aceptada en esta pregunta, pero tiene demasiadas partes específicas para esa, intentaré reabrirla para volver a publicarla por estos motivos.
ivan_pozdeev

2
Esta pregunta no pregunta sobre git. FWIW otra pregunta mencionada en su comentario, tampoco parece preguntar sobre git (solo menciona un sonido similar "libgit.a")
mosquito

@gnat, bueno, léelo un poco más y verás "git.exe".
ivan_pozdeev

Ya veo, gracias! Aún así, mencionar git en la respuesta aquí puede parecer confuso para los lectores, es como si saliera de la nada. Considere la posibilidad de editar para dar cuenta de eso
mosquito

1
"Esta respuesta no fue pensada para esta pregunta". Luego, elimine su respuesta o cámbiela para abordar la pregunta.
Andy
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.