Pregunta reescrita:
No estoy haciendo una pregunta relacionada con JavaScript, pero todos los lenguajes "cliente" utilizados en la web (HTML5, JavaScript, CSS, etc.). Si pongo el código JavaScript (que es GPL) en mi sitio web, y cualquier persona en la web puede acceder a este sitio web, ¿estoy violando la GPL de alguna manera?
¿Qué sucede si quisiera vender el código del cliente (HTML, CSS, JavaScript) a alguien? ¿Necesito una licencia diferente en este caso?
¿No es JavaScript (cuando se usa para sitios web) siempre de código abierto? Cuando abre una página web, siempre puede leer la fuente.
¿También necesito liberar mi código del lado del servidor si estoy vendiendo un sitio web que contiene el código GPL de JavaScript?
¿Qué sucede si este sitio web es parcialmente accesible (una parte es gratuita y la otra requiere que pague) pero el código GPL (la misma parte) se usa en ambos lados del sitio web?
¿Qué sucede si el código GPL está solo en una parte del sitio web que requiere que pague para acceder a él?
Si estoy vendiendo un sitio web a un cliente de esta manera:
- Te estoy vendiendo (tarifa única) todo el código relacionado con el cliente (JavaScript, HTML y CSS)
- Estoy no se vender el código del lado del servidor, que está alquilarlo (no quiero que le permite volver a utilizar mi código del lado del servidor)
Si estoy usando un código GPL de JavaScript, ¿estoy violando algo? (El sitio web es accesible desde cualquier persona en la web).
Edición 2:
Se agregó una nueva pregunta específica:
¿Qué pasa si el sitio web puede funcionar sin código del lado del servidor? Quiero decir, JavaScript solo está llamando a algunas páginas PHP que contienen datos en formato JSON. Otras personas pueden crear un sitio web con el lado del cliente, pero deberán proporcionar datos. En este caso, JavaScript llama al código "PHP" (pero no al contrario), creo. En este caso, ¿estoy violando la GPL?
fuente
Respuestas:
Cuando se trata de GPL, la unidad de lanzamiento es la unidad de licencia.
Si su sitio web y su javascript son una cosa única que funciona en conjunto, entonces el conjunto tiene una licencia efectiva. Si alguna parte es GPL, la licencia efectiva del conjunto es GPL. (Esto no es cierto para LGPL, MIT, etc.)
Si aloja el sitio web y sus clientes compran el acceso al servicio, entonces no ha distribuido ni transmitido el código del lado del servidor, por lo tanto, la GPL es irrelevante. (La AGPL cambia esto y afirma que el Software como servicio debe tener su fuente liberada).
Javascript que forma parte de su aplicación no tiene licencia automática de ninguna manera. Estrictamente hablando, descargar el javascript para ejecutarlo en el navegador es una infracción de derechos de autor. Por supuesto, eso es una tontería. Probablemente haya una licencia implícita para ejecutar el código, pero eso es todo.
Si usa una biblioteca Javascript, debe obedecer la licencia de esa biblioteca. Si esa licencia es GPL, entiendo que eso significa que toda su aplicación es GPL. Esta es probablemente la razón por la cual jQuery tiene una licencia dual: su elección, MIT o GPL. Sin la opción de usar la licencia MIT, solo podría ser utilizada por aplicaciones GPL.
fuente
Primero: tiene todo el derecho de usar el código de fuente abierta en proyectos comerciales siempre que cumpla con las restricciones de la licencia (esto es principalmente que deja todas las atribuciones en su lugar y que realiza los cambios disponibles bajo una licencia similar).
La GPL es, entiendo, una de las licencias más restrictivas cuando se trata de forzar sus licencias en otras partes de un proyecto. No creo que se haya probado alguna vez en el tribunal, pero en general la interpretación que siempre he visto es que si el código GPL se deja en sus propios módulos separados a los que solo se hace referencia (es decir, se tratan como productos completamente independientes que estás usando), deberías estar bien.
Sin embargo, si no está seguro de esto y / o quiere estar más seguro, hay otras licencias menos prescriptivas.
Segundo: la capacidad de ver el código y los derechos para usarlo están completamente separados . No puedo quitar JavaScript de ningún sitio y usarlo solo porque puedo verlo. Si tengo acceso a la fuente de Windows, incluso legalmente, eso no lo hace mío. La web hace necesario que se vea mucho código, aún puede obtener la licencia que desee.
Tercero: en términos de la licencia bajo la que se encuentra el resto del sitio, es muy poco probable que su cliente esté feliz de pagarle algo y luego hacerlo de código abierto . Además del básico "por qué hemos pagado por algo que acaba de regalar", es probable que tenga consecuencias para el diseño y la marca y permitir que otra persona tome prestados elementos de su identidad corporativa. Si se lo estás vendiendo, querrán que sea suyo . Si va a venderles partes de él, aunque debe decirles que hay OSS allí, ya que no puede vender eso, solo otro código que lo use.
Cuarto: es un modelo muy extraño que vende un bit del código y alquila el otro . Parecen ser tan fuertemente interdependientes que uno no tiene valor sin el otro. Supongo que técnicamente podrían tomar el diseño de front-end que hiciste y parcharlo en otra cosa, pero generalmente cuando eso sucede, la gente simplemente comienza de nuevo.
Dado que las dos partes no son realmente tan útiles sin la otra, propongo que paguen por la personalización de un producto de software como servicio que usted posee. Es decir, usted es el propietario de todo el código, simplemente lo personaliza según sus especificaciones (es decir, el front end a su manera). Lo hace mucho más ordenado y simple.
fuente
En términos generales, si está utilizando el código GPL en cualquier parte de su proyecto y redistribuye su proyecto (es decir, lo vende o se lo da a otros), debe divulgar el código fuente de su proyecto al público en su totalidad para cumplir con La licencia GPL.
Si está proporcionando su propio sitio web público como un servicio utilizando el código GPL del lado del servidor, puede estar bien, ya que esto no se considera redistribución.
El código Javascript en el navegador me parece un área gris. Técnicamente, está redistribuyendo el código GPL al navegador de todos, lo que provocaría el requisito de liberar su propia fuente.
Editar: Para probar mi punto, ahora incluiré texto de las Preguntas frecuentes sobre licencias del sitio web de ExtJS. ExtJs es un marco Javascript con licencia bajo la GPL. Esta es su interpretación de cómo funciona la licencia con respecto a su marco (la cursiva es mía):
fuente
Para un sitio web con javascript del lado del cliente, aún poseen el código. Si simplemente tomara ese código y lo usara como propio, probablemente sería una infracción de IP. Supongo que no sé si no incluyen una licencia. También hay problemas de no exigibilidad. Hable con un abogado, supongo, pero probablemente no le dirán nada útil.
Los proyectos con una combinación de licencias son complicados. El código GPL que interactúa con otras bibliotecas, presumiblemente incluyendo back-end del lado del servidor, también requiere que sean GPL. Otras licencias de código abierto son menos estrictas, como la LGPL y la licencia BSD.
Y no, si no quieres que vuelva a usar tu código php, entonces eso no encaja en el modelo GPL. Si libera su código bajo GPL, entonces está OBLIGADO a entregar el código fuente.
Por lo tanto, parece que está creando un sitio web para alguien y no desea entregar su código a nadie. ¿Por qué estás buscando en código abierto? Si es de código abierto, está regalando el código.
fuente