GPL en el lugar de trabajo?

12

Una vez me entrevisté en una empresa de consultoría en la que surgió en la conversación que usan productos de código abierto (lo que es genial, he usado Hibernate, JBoss, etc. extensamente). Una cosa que me sorprendió es que cuando Les pregunté si utilizaban la licencia OSS con licencia GPL al escribir aplicaciones para los clientes y dijeron "Claro, todo el tiempo! Mientras el cliente obtenga lo que quiere y esté contento". Ahora, no soy abogado ni un gran aficionado a las licencias, pero tenía la impresión de que al usar el código GPL (digamos algunas bibliotecas que usted incluye), entonces se requiere que libere toda la aplicación bajo la misma licencia. Cuando señalé esto, recibí una respuesta rápida de "Bueno, les damos a los clientes todo el código fuente cuando terminamos, así que realmente no es un problema".

No queriendo seguir presionando el tema (las entrevistas no son el lugar para argumentos como ese), lo dejo pasar. Sin embargo, eso todavía me preocupa sobre esa práctica particular del negocio. ¿Cuál es la palabra oficial en el código de licencia GPL y qué tan "abierto" debe ser? ¿Tiene que publicarlo y decir "Mi empresa usó esta biblioteca, por lo que aquí está el sitio donde puede descargar nuestra aplicación de sistema de compras y cumplimiento de pedidos que gastamos millones de dólares para construir"? En esta situación, ¿es adecuada la compañía para usar el código GPL sin el conocimiento del cliente? ¿Es suficiente simplemente "darles la fuente"?

    
pregunta Ryan Hayes 13.10.2010 - 21:58

4 respuestas

15

Se aplican exenciones de responsabilidad estándar: no soy abogado y usted tampoco.

GPL, en su esencia, trata de proteger los derechos de quienes usan el programa para obtener y usar la fuente también. No no exige que publique la fuente de cualquier programa que escriba que use el código GPL, simplemente que si publica dicho programa también debe proporcionar la fuente.

Puedo escribir cualquier número de aplicaciones para mi uso personal, extraer el código GPL y nunca dar a nadie la fuente de esto. Puedo escribir esas aplicaciones para uso interno de mi empresa y solo necesito proporcionar la fuente a las personas dentro de mi empresa que usan el programa (prácticamente, tendría que hacerlo de todos modos si tuvieran alguna buena razón para solicitarlo). Si escribo un programa de este tipo para otra entidad, simplemente tengo que darles a ellos el código (y dejar claro que el programa tiene licencia GPL): si ellos van Para distribuirlo, también deben hacer que la fuente esté disponible, pero estoy fuera de la imagen.

Entonces, la única preocupación que puede tener su empresa de consultoría es que no lograron informar a sus clientes de la licencia en la que se encontraba el código que proporcionaron. De hecho, miento: si hubieran negociado una licencia diferente con sus clientes (el cliente posee todos los derechos de código ...) entonces también podrían estar en el agua caliente ... Pero esto es verdadero para cualquier código de terceros: a menos que sea de dominio público, debe cumplir con la licencia, y no debe volver a otorgarle una licencia a menos que el titular de los derechos de autor le haya otorgado ese derecho.

    
respondido por el Shog9 13.10.2010 - 22:23
7

Como consultor, me ocupo de plantear los problemas de licencia con mi cliente para que puedan tomar una decisión informada. Si la mejor tecnología para aplicar a su problema es bajo GPL pero no pueden cumplir con la licencia, entonces no puedo usarla. En la práctica, esto ha tenido dos efectos.

Primero, muchos están felices de pagar por un producto comercial específicamente para evitar este problema. Esto es especialmente común en el mundo de los sistemas embebidos, donde el cumplimiento de la GPL requeriría efectivamente la publicación del diseño completo del hardware y la documentación de cómo funciona todo para cumplir con el espíritu de la GPL, que es un intento de hacer posible que un usuario final cambie el producto. . Si bien es posible hacer productos que estén abiertos, requiere un gran compromiso en todos los niveles de la empresa. El problema mayor es que muchos de los componentes de un diseño están documentados para nosotros por sus creadores bajo NDA y, en realidad, es imposible crear un código compatible con GPL que use la documentación publicada bajo NDA.

En segundo lugar, ahora tenemos una preferencia por la licencia MIT y sus muchos familiares (lo que deja en claro que el uso comercial es aceptable) sobre la GPL en cualquier revisión. No he tenido ningún objeto del cliente para liberar correcciones de errores y mejoras realizadas en las comunidades de productos relevantes. Dado que la licencia es permisiva, puedo cumplir con mis obligaciones de NDA, mantener satisfecho a mi cliente y contribuir a las comunidades relevantes.

    
respondido por el RBerteig 13.10.2010 - 22:39
2

El código abierto no significa necesariamente libre.

IANAL tampoco, pero en general el requisito para la GPL es proporcionar el código fuente para su proyecto. Ciertamente puedes vender un producto a otra persona. Sin embargo, creo que no se puede evitar que se lo den. Eso es probablemente lo que hace que la mayoría del software GPL sea gratis, como en la cerveza. Estoy bastante seguro de que no tiene que publicar su código en world + dog solo porque es GPL'd.

Desde el preámbulo a v3 de la GPL (énfasis mío):

  

Las licencias para la mayoría de software y otros trabajos prácticos están diseñados para quitarle la libertad de compartir y cambiar los trabajos. Por el contrario, la Licencia Pública General de GNU está destinada a garantizar su libertad de compartir y cambiar todas las versiones de un programa, para garantizar que siga siendo un software gratuito para todos sus usuarios. Nosotros, la Free Software Foundation, usamos la Licencia Pública General de GNU para la mayor parte de nuestro software; Se aplica también a cualquier otro trabajo publicado de esta manera por sus autores. También puedes aplicarlo a tus programas.

     

Cuando hablamos de software libre, nos referimos a la libertad, no al precio. Nuestras licencias públicas generales están diseñadas para garantizar que usted tenga la libertad de distribuir copias del software gratuito (y cobrar por si lo desea), que recibe el código fuente o puede obtenerlo si lo desea, que puede cambiar el software o usar partes de él en nuevos programas gratuitos y que sabe que puede hacer estas cosas.

( fuente )

En esta situación, ¿es adecuada la compañía para usar el código GPL sin el conocimiento del cliente? ¿Es suficiente simplemente "darles la fuente"?

Esta es una pregunta ligeramente diferente. Si el cliente tiene alguna expectativa y esa expectativa se dicta en un contrato, la compañía puede tener un problema. De lo contrario, depende de ellos determinar la mejor manera de hacer el trabajo. Sin embargo, se supone que deben incluir un aviso en el código fuente con respecto a la licencia. No estoy seguro de si deben revelar esto a su cliente de otra manera.

    
respondido por el George Marian 13.10.2010 - 22:47
-5

No, tienes razón. Heres por qué:

Considere si tenemos una aplicación bajo GPL. Ahora, entonces no puede ser usado por código propietario.

Si fuera suficiente solo para abrir el código fuente que usa GPL, podría abrir un proyecto basado en él como BSD.

Entonces el software propietario podría usar el producto GPL.

    
respondido por el alternative 13.10.2010 - 22:14

Lea otras preguntas en las etiquetas