Servicios Web y bibliotecas de código abierto-licencias [cerrado]


Podría sugerir cuáles son las conocidas licencias de "código abierto" que me permiten usar bibliotecas bajo estas licencias en servicios web propietarios (accesibles en Internet al público), que no voy a hacer de código abierto.

Estoy bien para declarar en algún lugar que estoy usando la biblioteca, y estoy bien con compartir los cambios que hago en la biblioteca.

Supongo que los GPL no funcionan aquí, ya que no voy a lanzar todo el producto como GPL, ¿ qué otros ¿opciones?

Eso es lo que he encontrado sobre Meebo & libpurple:

Tengo una pregunta sobre licencias. ¿Sienten que el uso de Meebo libpurple es aceptable dado el estado GPL de la base de código libpurple? Según un post en el sitio web de Meebo, sienten que no son necesario para liberar su código fuente porque no lo hacen directamente distribuir binarios a los clientes (ya que Meebo es una aplicación web). El la razón por la que pregunto es porque estoy pensando en comenzar un proyecto usando el código base libpurple y me pregunto cuáles son las restricciones de licencia lo sería.

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

También, he encontrado esto:

La laguna a la que se hace referencia es que "Proveedor de Servicios de Aplicaciones" (por lo tanto "ASP") se beneficia de la libertad de una licencia copyleft, por ejecutar el programa y (presumiblemente) obtener cualquier beneficio que provenga de tener la gente accede a la carrera programa a través de la red; pero el el proveedor puede argumentar que ellos mismos no están redistribuyendo el trabajar como tal, por lo que no están obligados para ofrecer a los destinatarios la misma libertad.

Eso dice que podemos usar código GPL v2 y v3 en servicios web mientras no estamos distribuyendo la aplicación en sí (por ejemplo, como lo hace Google). ¿Es correcto?

Author: BarsMonster, 2010-09-13

3 answers

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

Tl; dr: No tiene que preocuparse por ejecutar el código en su propio servidor, a menos que la licencia sea AGPL. Tienes que liberar tu código fuente si usas bibliotecas JavaScript GPL, pero no son comunes. En algunos casos, puede ser beneficioso para liberar sus modificaciones, incluso si usted no está obligado a hacerlo.

Eso dice que podemos usar código GPL v2 y v3 en servicios web mientras no están distribuyendo la aplicación en sí (por ejemplo, como lo hace Google). ¿Es correcto?

Sí, esto es correcto. Muchas empresas utilizan su propia versión modificada del código GPL internamente, sin tener que distribuir las modificaciones.

De la GPLv3:

"propagar" una obra significa hacer cualquier cosa con ella que, sin permiso, lo haga responsable directa o indirectamente de la infracción bajo la ley de derechos de autor aplicable, excepto ejecutar en un ordenador o modificar una copia privada. La propagación incluye la copia, la distribución (con o sin modificación), la puesta a disposición del público y, en algunos países, otras actividades.

"Transmitir" una obra significa cualquier tipo de propagación que permita 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 es transmitir.

...

Usted puede hacer, ejecutar y propagar cubierto obras que no transmita, sin condiciones, siempre y cuando su licencia permanezca vigente. Puede transmitir obras cubiertas a otros con el único propósito de que hagan modificaciones exclusivamente para usted, o proporcionarle instalaciones para ejecutar esas obras, siempre que cumpla con los términos de esta Licencia al transmitir todo el material para el cual no controla los derechos de autor. Aquellos que así hacen o ejecutan las obras cubiertas para usted deben hacerlo exclusivamente en su nombre, bajo su dirección y control, en términos que les prohíben hacer copias de su material con derechos de autor fuera de su relación con usted.

Esto significa que tiene permiso para usar y modificar el programa en sus propios servidores, incluso con usuarios que interactúan con él de forma remota, sin ninguna de las condiciones adicionales, como proporcionar el código fuente, que se requieren de usted si "transmite" el programa a otro usuario. Así que mientras lo estés usando internamente por tu cuenta servidor, puede ejecutar código GPL modificado al contenido de su corazón sin tener que distribuir la fuente modificada a nadie más.

La 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 la GPLv3 (que es muy clara):

Las actividades distintas de la copia, distribución y modificación no están cubiertas por este Licencia; están fuera de su alcance. El acto de ejecutar el Programa no está restringido, y la salida del Programa está cubierta solo si su contenido constituye un trabajo basado en el Programa (independientemente de haber sido realizado al ejecutar el Programa). Si eso es cierto depende de lo que haga el Programa.

Del FAQ de la GPLv2:

Una compañía está ejecutando una versión modificada de un programa GPL'ed en un sitio web. ¿Dice la GPL que deben publicar sus fuentes?
La GPL permite a cualquiera hacer una versión modificada y usarla sin distribuirla a otros. Lo que esta compañía está haciendo es un caso especial de eso. Por lo tanto, la empresa no tiene que liberar las fuentes modificadas.
Es esencial que las personas tengan la libertad de hacer modificaciones y utilizarlas de forma privada, sin publicar nunca esas modificaciones.

La AGPL es una licencia que está diseñada para requerir que usted distribuya su código fuente a sus usuarios, incluso si solo lo está 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 tanto software bajo la AGPL como la GPLv2 y la v3.

Casi todas las licencias de software libre listadas por la FSF, o las licencias de código abierto listadas por la OSI tampoco tienen restricciones para ejecutar 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. En este caso se aplica la GPL . La mayoría de las bibliotecas JavaScript (jQuery, Prototype, Dojo, MooTools) se liberan bajo licencias permisivas (estilo MIT/BSD), aunque asegúrese de verificar la licencia de cualquier biblioteca que use; algunas personas podrían liberar bibliotecas bajo la GPL o LGPL.

Incluso si no se requiere que libere su código fuente, en algunos casos puede ser beneficioso hacerlo. En particular, si haces muchas modificaciones a un proyecto, y luego lanzan una nueva versión, podría ser mucho trabajo y volver a aplicar todas esas modificaciones a la nueva versión. Si en su lugar envía los parches de nuevo al proyecto original, y piensan que sus parches son lo suficientemente buenos como para aplicarse, entonces sus cambios serán parte del proyecto ascendente, y cualquier los cambios que hagan incluirán sus modificaciones.

Ahora, si está utilizando una biblioteca, esa razón podría no aplicarse al código que solo la está utilizando, pero se aplicará a cualquier corrección o mejora que realice en la biblioteca en sí.

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

 34
Author: Brian Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-21 17:38:10

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

 5
Author: Ofir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-13 14:00:37

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

El AGPL requiere que 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 usted está haciendo dinero en la aplicación vale la pena hablar con un abogado para estar seguro. Si no hay dinero involucrado estaría menos preocupado por conseguir un abogado involucrado.

Además, a menudo puede evitar a un abogado simplemente preguntando a los autores de las bibliotecas que desea usar.

 3
Author: Craig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-21 00:38:08