2010-09-13 16 views
30

¿Podría sugerir cuáles son las conocidas licencias de "código abierto" que me permiten usar bibliotecas bajo estas licencias en un servicio web propietario (accesible en Internet para el público), que no soy va a hacer código abierto.Servicios web y bibliotecas de código abierto - licencia

Estoy de acuerdo en afirmar que estoy usando la biblioteca, y estoy de acuerdo con compartir los cambios que realizo en la biblioteca.

Creo que las GPL no funcionan aquí, ya que no voy a lanzar todo el producto como GPL, ¿qué otras opciones?

Eso es lo que he encontrado sobre Meebo & libpurple:

Tengo una pregunta licencias. ¿Sientes que el uso de Meebo de libpurple es aceptable dado el estado GPL de la base de código libpurple? De acuerdo con una publicación en el sitio web de Meebo, consideran que no son necesarios para liberar su código fuente porque no distribuyen directamente los binarios entre los clientes (ya que Meebo es una aplicación web) . El motivo que pido es porque estoy pensando en comenzar un proyecto usando la base de código libpurple y me pregunto cuáles serían las restricciones de licencia .

y el desarrollador libpurble respondió que está bien: -S

Además, me he encontrado esto:

La laguna se hace referencia es que un “Application Service Provider” (de ahí "ASP") obtiene el beneficio de la licencia de una licencia copyleft, por ejecutando el programa y (presumiblemente) obteniendo los beneficios que provienen de haciendo que las personas accedan al programa en ejecución en la red; pero el proveedor puede argumentar que ellos no están redistribuyendo el trabajo como tal, por lo que no están obligados para ofrecer a los destinatarios la misma libertad.

que dice que podemos usar GPL v2 v3 código & en los servicios web, mientras que nosotros no estamos distribuyendo la propia aplicación (por ejemplo, como hace Google). ¿Es eso correcto?

+1

Pregunta a tu abogado? Cualquier consejo que recibas aquí será anecdótico en el mejor de los casos. Puedo decirte lo que * pienso * podría ser una buena opción, pero ¿quién soy para comentar? – Pete

+0

En mi país (Bielorrusia) a nadie le importa :-) Incluso en Rusia, todas estas licencias no cumplen con las leyes locales y no funcionan en absoluto. – BarsMonster

+0

¡Es bueno para ti cuidarlo, incluso si nadie más en tu país lo hace! –

Respuesta

33

Esto terminó siendo una respuesta larga, así que para aquellos que no quieren leer todo:

tl; dr: Usted no tiene que preocuparse acerca de la ejecución del código en su propio servidor , a menos que la licencia sea AGPL. Tienes que liberar tu código fuente si utilizas las bibliotecas JavaScript de GPL, pero esas no son comunes. En algunos casos, puede ser beneficioso publicar sus modificaciones, incluso si no está obligado a hacerlo.

que dice que podemos usar GPL v2 v3 código & en los servicios web, mientras que nosotros no estamos distribuyendo la propia aplicación (por ejemplo, como hace Google). ¿Es eso correcto?

Sí, esto es correcto. Muchas empresas usan su propia versión modificada del código GPL dentro de la empresa, sin tener que distribuir las modificaciones.

Desde el GPLv3:

Para “propagan” un trabajo significa hacer nada con ella que, sin permiso, que le haga directa o indirectamente responsable de infringir las leyes de copyright aplicables, excepto la ejecución en una computadora o modificando una copia privada. La propagación incluye copiar, distribuir (con o sin modificación), poner a disposición del público, y en algunos países, otras actividades también.

"transmitir" un trabajo significa cualquier tipo de propagación que permite a otras partes hacer o recibir copias. La mera interacción con un usuario a través de una red informática, sin transferencia de una copia, no está transmitiendo.

...

Usted podrá realizar, ejecutar y difundir trabajos amparados que no distribuya, sin condiciones, siempre y cuando no tenga otra licencia en vigor. Puede transmitir los trabajos cubiertos a otros con el único propósito de que ellos realicen modificaciones exclusivamente para usted, o proporcionarle instalaciones para ejecutar dichos trabajos, siempre que cumpla con los términos de esta Licencia al transmitir todo el material que no controla. derechos de autor. Quienes hagan o dirijan las obras cubiertas para usted deben hacerlo exclusivamente en su nombre, bajo su dirección y control, en términos que les prohíban hacer copias de su material protegido por derechos de autor fuera de su relación con usted.

Esto significa que usted tiene permiso para usar y modificar el programa en sus propios servidores, incluso con los usuarios interactuar con él de forma remota, sin ninguna de las condiciones adicionales, tales como proporcionar el código fuente, que se requiere de usted si "transmite" el programa a otro usuario. Por lo tanto, siempre que lo utilice internamente en su propio servidor, puede ejecutar el código modificado GPL al contenido de su corazón sin tener que distribuir la fuente modificada a nadie más.

El GPLv2 tampoco restringe la ejecución del código en su propio servidor, y por lo tanto no requiere que distribuya el código fuente de sus modificaciones, aunque es un poco menos explícito sobre este caso que el GPLv3 (que es muy claro):

Las actividades distintas de la copia, distribución y modificación no están cubiertas por esta Licencia; están fuera de su alcance. El acto de ejecutar el Programa no está restringido, y el resultado del Programa está cubierto solo si sus contenidos constituyen un trabajo basado en el Programa (independientemente de haberse realizado mediante la ejecución del Programa). Si eso es cierto depende de lo que haga el Programa.

Desde el FAQ GPLv2:

A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources?
La GPL permite a cualquier persona hacer una versión modificada y utilizarlo sin tener que distribuir a otros. Lo que esta compañía está haciendo es un caso especial de eso. Por lo tanto, la compañía no tiene que liberar las fuentes modificadas.
Es esencial que las personas tengan la libertad de realizar modificaciones y usarlas de forma privada, sin publicar esas modificaciones.

El AGPL es una licencia que está diseñado para que tenga que distribuir su código fuente a sus usuarios, incluso si sólo están ejecutando en un servidor. Fue creado porque la GPL no proporciona tales restricciones, y algunas personas querían tales restricciones en su software. Sin embargo, no se libera casi tanto software bajo AGPL como GPLv2 y v3.

Casi todos free software licenses listados por la FSF, o open source licenses enumerados por la OSI tampoco tienen restricciones para ejecutar el código en su propio servidor.

Ahora, una cosa a tener en cuenta es que todo lo anterior se aplica solo al código que se ejecuta en su propio servidor. El código JavaScript, que se envía al cliente y se ejecuta en su máquina, es completamente diferente. El GPL hace aplicar en este caso. La mayoría de las bibliotecas de JavaScript (jQuery, Prototype, Dojo, MooTools) se lanzan bajo licencias permisivas (estilo MIT/BSD), aunque asegúrese de verificar la licencia de cualquier biblioteca que use; algunas personas pueden liberar bibliotecas bajo GPL o LGPL.

Incluso si no está requiere para liberar su código fuente, en algunos casos puede ser beneficioso hacerlo. En particular, si realiza muchas modificaciones en un proyecto y luego lanza una nueva versión, puede ser mucho trabajo realizar y volver a aplicar todas esas modificaciones a la nueva versión. Si en su lugar envía los parches nuevamente al proyecto original, y ellos piensan que sus parches son lo suficientemente buenos para postularse, entonces sus cambios serán parte del proyecto ascendente, y cualquier cambio que hagan incluirá sus modificaciones.

Ahora, si está utilizando una biblioteca, esa razón podría no aplicarse al código que solo la está usando, pero se aplicará a las correcciones o mejoras que realice en la biblioteca.

Descargo de responsabilidad estándar: No soy abogado, y esto no es asesoramiento legal. Si necesita asesoramiento legal real, hable con un abogado.

+0

Gracias por esta gran respuesta, Brian. Esta era mi sospecha también antes de comenzar a investigar. Una pregunta: con la excepción JS, ¿cree que la GPL 'infecta' incluso el código del lado del servidor? No estoy seguro de la diferencia entre 'mera agregación' y 'combinación de dos módulos en un programa'. El JS en este caso no es una parte requerida del software, pero sin duda mejora la experiencia del usuario; es un editor WYSIWYG sin cargo. –

5

No soy abogado y esto no es un consejo legal, pero creo que aparte de la AGPL, estarás bien con casi todas las licencias, ya que no estás distribuyendo el software, simplemente utilizándolo en tu servidor.

3

Ciertamente, GPL2 y GPL3 (y las versiones LGPL) le permiten usar el código en su aplicación web o servicio web y no distribuir la fuente. El MIT, BSD, Apache y otras licencias permisivas similares también lo permiten.

El AGPL requiere que se distribuya el código fuente de su aplicación web derivada o servicio web. La Sección 13 requiere que proporcione la fuente modificada a los usuarios que interactúan con el sistema de forma remota.

Dicho esto, si está ganando dinero en la aplicación, vale la pena consultar a un abogado para estar seguro. Si no hay dinero involucrado, me preocuparía menos involucrar a un abogado.

Además, a menudo puede evitar un abogado al preguntar a los autores de las bibliotecas que desea utilizar.

Cuestiones relacionadas