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?


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.