Pergunta reescrita:
Não estou fazendo uma pergunta relacionada ao JavaScript, mas a todas as linguagens "cliente" usadas na Web (HTML5, JavaScript, CSS e assim por diante). Se eu colocar o código JavaScript (que é GPL) no meu site, e este site estiver acessível a qualquer pessoa na web, estou violando a GPL de alguma forma?
O que acontece se eu quiser vender o código do cliente (HTML, CSS, JavaScript) a alguém? Preciso de uma licença diferente neste caso?
O JavaScript (quando usado em sites) não é sempre open source? Quando você abre uma página da web, sempre pode ler a fonte.
Também preciso liberar meu código do servidor se estou vendendo um site que contém código JavaScript GPL?
O que acontece se este site estiver parcialmente acessível (uma parte é gratuita e a outra exige que você pague) mas o código GPL (a mesma parte) é usado nos dois lados do site?
E se o código GPL estiver apenas em uma parte do site que exige que você pague para acessá-lo?
Se estou vendendo um site para um cliente desta maneira:
- Estou vendendo a você (taxa única) todo o código relacionado ao cliente (JavaScript, HTML e CSS)
- Estou não vender-lhe o código do lado do servidor, você está alugando-lo (eu não quero deixar você reutilizar o meu código do lado do servidor)
Se estou usando algum código JavaScript GPL, estou violando alguma coisa? (O site pode ser acessado por qualquer pessoa na web.)
Edição 2:
Adicionada uma nova pergunta específica:
E se o site puder funcionar sem o código do servidor, o JavaScript está apenas chamando algumas páginas PHP que contêm dados no formato JSON. Outras pessoas podem criar um site com o lado do cliente, mas precisarão fornecer dados. Nesse caso, o JavaScript está chamando o código "PHP" (mas não o oposto), eu acho. Nesse caso, estou violando a GPL?
fonte
Respostas:
Quando se trata de GPL, a unidade de lançamento é a unidade de licenciamento.
Se o seu site e seu javascript são uma coisa que funciona juntos, o conjunto possui uma licença eficaz. Se qualquer parte for GPL, a licença efetiva do todo é GPL. (Isso não é verdade para LGPL, MIT, etc.)
Se você está hospedando o site e seus clientes estão comprando acesso ao serviço, você não distribuiu ou transmitiu o código do servidor, portanto a GPL é irrelevante. (A AGPL altera isso e afirma que o Software como serviço deve ter sua fonte liberada.)
O Javascript que faz parte do seu aplicativo não é licenciado automaticamente de forma alguma. A rigor, fazer o download do javascript para executá-lo no navegador é uma violação de direitos autorais. Claro, isso é bobagem. Provavelmente existe uma licença implícita para executar o código, mas é tudo.
Se você usa uma biblioteca Javascript, precisa obedecer a licença dessa biblioteca. Se essa licença for GPL, entendo que isso significa que todo o seu aplicativo é GPL. É provavelmente por isso que o jQuery possui uma licença dupla - sua escolha, MIT ou GPL. Sem a opção de usar a licença MIT, ela só poderia ser usada por aplicativos GPL.
fonte
Primeiro: você tem todo o direito de usar o código-fonte aberto em projetos comerciais, desde que respeite as restrições de licença (principalmente porque você deixa todas as atribuições em vigor e disponibiliza as alterações sob uma licença semelhante).
Entendo que a GPL é uma das licenças mais restritivas quando se trata de tentar forçá-las em outras partes de um projeto. Acho que nunca foi testado em tribunal, mas geralmente a interpretação que sempre vi é que, se o código GPL é deixado em seus próprios módulos separados, que são apenas referenciados (ou seja, eles são tratados como produtos totalmente independentes) que você está usando), você deve ficar bem.
Se você não tiver certeza disso e / ou quiser ser mais seguro, existem outras licenças menos prescritivas.
Segundo: a capacidade de ver o código e os direitos de usá-lo são totalmente separados . Não consigo tirar o JavaScript de nenhum site e usá-lo apenas porque posso vê-lo. Se eu tiver acesso à fonte do Windows, mesmo legalmente, isso não a tornará minha. A web exige que muito código esteja visível; você ainda pode licenciá-lo como quiser.
Terceiro: em termos de licença sob o restante do site, é altamente improvável que seu cliente fique feliz em pagar por algo e depois em código aberto . Além do básico "por que pagamos por algo que você acabou de doar", provavelmente terá consequências para o design e a marca e permitirá que outra pessoa empreste elementos de sua identidade corporativa. Se você está vendendo para eles, eles querem que seja deles . Se você vai vendê-los, você precisa dizer a eles que existe OSS, pois não é possível vendê-lo, apenas outro código que o utiliza.
Quarto: Esse é um modelo muito estranho, vendendo um pedaço do código e alugando o outro . Eles pareceriam ser tão interdependentes que um é praticamente inútil sem o outro. Suponho que tecnicamente eles podem pegar o design de front-end que você fez e corrigi-lo em outra coisa, mas geralmente quando isso acontece, as pessoas começam de novo.
Dado que as duas partes não são realmente tão úteis uma para a outra, eu proponho que paguem pela personalização de um software como produto de serviço que você possui. Ou seja, você é o proprietário de todo o código, basta personalizá-lo de acordo com as especificações (que é a marca do front-end). Torna muito mais limpo e simples.
fonte
De um modo geral, se você estiver usando o código GPL em qualquer lugar do seu projeto e redistribuí- lo (por exemplo, vendê-lo ou entregá-lo a outras pessoas), deverá liberar o código-fonte do seu projeto para o público em sua totalidade , a fim de estar em conformidade com a licença GPL.
Se você estiver fornecendo seu próprio site voltado ao público como um serviço usando o código GPL do lado do servidor, poderá estar OK, pois isso não é considerado redistribuição.
O código Javascript no navegador parece uma área cinza para mim. Tecnicamente, você está redistribuindo o código GPL no navegador de todos, o que acionaria o requisito de liberar sua própria fonte.
Editar: Para provar meu argumento, agora incluirei o texto das Perguntas frequentes sobre licenciamento do site ExtJS. ExtJs é uma estrutura Javascript licenciada sob a GPL. Esta é a interpretação deles de como a licença funciona em relação à estrutura (em itálico):
fonte
Para um site com javascript do lado do cliente, eles ainda possuem o código. Se você simplesmente pegar esse código e usá-lo como seu, provavelmente seria uma violação de IP. Acho que não sei se eles não incluem uma licença. Também existem problemas de não obrigatoriedade. Converse com um advogado, eu acho, mas eles provavelmente não vão lhe dizer nada de útil.
Projetos com uma mistura de licenças são complicados. O código GPL que interage com outras bibliotecas, presumivelmente incluindo back-ends do lado do servidor, exige que eles também sejam GPL. Outras licenças de código aberto são menos rigorosas, como a LGPL e a licença BSD.
E não, se você não quer que ele reutilize seu código php, isso não se encaixa no modelo GPL. Se você liberar seu código na GPL, terá OBRIGAÇÃO de entregar o código-fonte.
Parece que você está criando um site para alguém e não deseja entregar seu código a ninguém. Por que você está olhando de código aberto? Se for de código aberto, você está dando o código.
fonte