Como o javascript do lado do cliente é coberto pela GPL?

29

Se eu usasse uma biblioteca Javascript licenciada pela GPL em um aplicativo da Web, teria que oferecer o código-fonte de todo o site a qualquer pessoa que baixasse e executasse a lib Javascript?

Armand
fonte
5
Esta é uma questão muito interessante. Normalmente, os aplicativos da Web não são cobertos pela GPL porque você não está distribuindo o código (e é por isso que a AGPL existe). No entanto, no caso do código executado no navegador, você está distribuindo o código. Se isso for verdade, a natureza da GPL implica que todo o seu aplicativo da Web deve ser lançado sob a GPL.
Scott Whitlock
5
@ David - a questão é se a GPL obriga a liberar o restante do seu aplicativo da web (como o material do lado do servidor) também. Você usou a biblioteca Javascript para criar um trabalho derivado. A GPL se aplicaria a todo o resultado.
Scott Whitlock
1
@ David se era clara, eu não teria perguntado: p
Armand
1
@ Alison, ah OK, desculpe, eu entendi mal a pergunta completa então. Não, o lado do servidor não precisaria ser GPL. Desde que as comunicações entre o cliente e o servidor tenham algum formato diferente da chamada funcional no nível da máquina, como XML, você não precisa se preocupar com nada. A simples veiculação do código GPL, seja HTML ou JS, não torna o código do lado do servidor entregá-lo ou se comunicar com ele em um formato de chamada não remota, um trabalho derivado.
David
1
Richard Stallman, autor da GPL, sobre o assunto: gnu.org/philosophy/javascript-trap.html
Honza Pokorny

Respostas:

5

Você precisaria oferecer o JavaScript dessa biblioteca e o JavaScript do aplicativo que acessa a API dessa biblioteca (e quaisquer outras bibliotecas acessadas pelos aplicativos, que também precisam ter uma licença compatível com GPL).

Lembre-se de que você precisa fornecer o JavaScript legível por humanos, não uma versão separada de espaço em branco, pois geralmente entra em produção.

O HTML que chama o JavaScript já está claramente disponível, ele realmente não conta como "vinculado" a esse JavaScript e sua disponibilidade significa que é improvável que as pessoas se preocupem com ele.

David
fonte
3
Eu não acho que a ligação é o único gatilho. Por exemplo, se o seu programa depende de outro aplicativo auxiliar de tal forma que ele não possa funcionar sem a outra biblioteca, para os fins da GPL, é apenas um aplicativo. Acho que, nesse caso, recomendo consultar um advogado.
Scott Whitlock
tem que ser legível por humanos? Interessante. Vou fazer isso como uma pergunta separada.
Armand
Ele deve ser inalterado, tanto na GPL V2 quanto na V3. OK, isso pode não ser a mesma coisa, estou assumindo humano gravável == humano legível.
David
1
Postado como uma pergunta separada aqui: programmers.stackexchange.com/questions/62885/…
Armand
@ScottWhitlock Para os fins da lei, importa apenas se um é um derivado do outro de uma perspectiva de direitos autorais, e não se um pode funcionar sem o outro. Se a lei de direitos autorais não se aplicar, a GPL (que é uma licença, não um contrato, só pode conceder permissões e não tirá-las) não tem efeito. Seria muito difícil mostrar qual servidor e cliente em um aplicativo Web típico é derivado do outro, se é que existe. Eu diria que é mais provável que o cliente seja derivado do servidor, como a maioria dos desenvolvedores normalmente escreve servidor e cliente, mas isso está muito longe de ser uniforme.
Jules