Qualquer biblioteca licenciada GPLv2 pode ser usada no aplicativo de intranet interno de uma empresa?

13

Estou criando um aplicativo interno para a empresa na qual estou contratado. Desejamos usar uma biblioteca licenciada GPLv2 nesta aplicação. Alguns pontos

  1. O aplicativo deve ser usado dentro dos limites da empresa e nunca estar disponível para uso público. É apenas para uso interno da empresa.
  2. Nunca será vendido, nunca !! . Portanto, nenhum dinheiro será ganho diretamente com a venda do código. Não é um produto.
  3. Existem duas formas de uso do aplicativo
    • Sua forma nativa, que é exe baseada em console (que usa a biblioteca GPL); e
    • Uso através de uma interface web que chama o executável.
  4. O código-fonte permanecerá fechado (apenas para uso da empresa) e será apropriado

Eu já passei por várias perguntas sobre o SO ( uma fechada como off-topic e outra não marcada pelos programadores ), mas tive dificuldade em entender se minha interpretação da licença está correta.

Com base no meu entendimento até agora, estou autorizado a usar esta biblioteca sem qualquer preocupação. Não estou modificando o código-fonte nem distribuindo o aplicativo ou disponibilizando-o ao público. O aplicativo não será vendido e nem será distribuído a ninguém fora da empresa (no entanto, estará disponível nas instalações externas de recuperação de desastre de nossa empresa). É muito provável que eu use os binários das versões lançadas e não recompile da fonte.

A seguinte pergunta do FAQ GNU parece apoiar meus pensamentos.

A GPL exige que o código fonte das versões modificadas seja publicado ao público?

A GPL não exige que você libere sua versão modificada, ou qualquer parte dela. Você é livre para fazer modificações e usá-las em particular, sem nunca liberá-las. Isso se aplica também às organizações (incluindo empresas); uma organização pode criar uma versão modificada e usá-la internamente, sem liberá-la fora da organização.

Porém, se você liberar a versão modificada ao público de alguma forma, a GPL exigirá que você disponibilize o código-fonte modificado para os usuários do programa, sob a GPL.

Assim, a GPL dá permissão para liberar o programa modificado de certas maneiras, e não de outras; mas a decisão de liberar depende de você.

Qualquer biblioteca licenciada GPLv2 pode ser usada no aplicativo de intranet interno de uma empresa?

Ahmad
fonte
2
Essa é uma questão legal para o advogado da empresa ou o cônsul jurídico principal decidir.
hotpaw2
1
@ hotpaw2 -sua sugestão definitivamente tem seus méritos e é a melhor orientação que podemos dar, isso realmente me deixa perplexo que, com todos os desenvolvedores do mundo, essas perguntas ainda sejam feitas e, em alguns casos, permaneçam incertas. Mas, sério, porém, meu sentimento é de que a licença não é deliberadamente clara sobre certos aspectos. Agora, se os desenvolvedores que usam este software não foram capazes de obter respostas claras, a IMO tentando explicar conceitos aos advogados e obter sua interpretação da licença é uma muito a ask.An resposta para desenvolvedores por desenvolvedores é o caminho a percorrer
Ahmad
@ Ahmad: Os únicos aspectos que achei seriamente incertos são as partes que precisam respeitar a lei de direitos autorais: o que é um trabalho derivado, o que é distribuição etc. Até termos esclarecimentos legais (nos EUA, isso pode envolver a alteração do texto). da lei ou decisões judiciais que produzem jurisprudência), ninguém vai saber isso com certeza.
David Thornley
Como você mencionou, existem duas formas de uso do aplicativo 1) Seu formulário nativo, que é exe baseado em console (que usa a biblioteca GPL); e 2) Uso via interface web que chama o executável. Para o primeiro, esclareça que 'É uma chamada para a biblioteca GPL através de chamadas de sistema ou de chamadas personalizadas'?

Respostas:

22

A GPL, em todas as suas variantes, é uma licença de redistribuição . Simplesmente não se aplica se você não redistribuir o código. Pode ser aplicado no futuro se, algum dia, você decidir criar um produto com seu aplicativo, mas não agora.

Kilian Foth
fonte
Desde que nunca seja redistribuída, a licença não terá efeito sobre você. Nenhum. Obviamente, siga seu conselho se tiver alguma dúvida e verifique se eles estão familiarizados com a lei de licenciamento de direitos autorais.
Michael Trausch
2
Em outras palavras, todos aqueles que possuem o binário também devem ter a fonte correspondente para que possam corrigir bugs e criar um novo binário.
2
Então isso significa que eu também posso usar o site da GPLv2 dentro da empresa, sem vender sua funcionalidade?
Johnny_D
3

Eu acho que você citou a resposta, então você a tem.

Meu conhecimento da GPL é que, para o que você quer fazer, você não tem nenhum problema.

rapid_now
fonte
3

A resposta aqui depende da definição legal de distribuição .

Se a distribuição de um programa para seus funcionários executar, os requisitos da GPL se aplicam e você deve fornecer aos funcionários que recebem o programa a fonte também.

Se dar a seus funcionários uma cópia do programa não for distribuição, você não terá requisitos, pois não o distribuiu.

As perguntas frequentes citadas informam que você não precisa disponibilizar seu código publicamente . (Ou seja, para qualquer pessoa aleatória na rua.)

Observe que, na GPLv2, é claro que um serviço da web não é considerado distribuição. É apenas o aplicativo de console que é confuso.

Sugiro que você obtenha aconselhamento jurídico do advogado da sua empresa.

Sean McMillan
fonte
2

Sim, você pode, mas levar em consideração a cooperação com subcontratados, empresas parceiras e afins. Isso chegou a incomodar muitos administradores na parte traseira, pois "apenas para uso interno" passou a ser "compartilhado entre parceiros" e depois "produto à venda". Em seguida, as partes da GPL precisam ser reescritas do zero ou você libera fontes para sua Intranet.

SF.
fonte
4
OTOH, a maioria dos sonhos de ganhar dinheiro com as ferramentas desenvolvidas para uso interno, os gerentes sonham, é esmagada ao perceber o quão específico e corporativo o aplicativo é. A licença sempre foi o último problema que encontrei, quando esses cenários ocorreram.
keppla
@keppla: Sim, e isso significa: Use-o, mas esteja ciente disso. Mantenha fronteiras semi-nítidas entre seu proprietário e a GPL, para que, se chegar a hora da mudança, você não se encontre irremediavelmente enredado. "Segredos comerciais" separados com boa camada de abstração de alguma lógica de cola das peças da GPL.
SF.
1

A versão 2 da LGPL permite redistribuir a fonte e o binário.

Você pode até vender.

A única restrição real é a seguinte:

Se você modificar a biblioteca e distribuí-la, deverá liberar publicamente as alterações feitas na biblioteca. Leia o ponto 2 da LGPL.

Se você não modificá-lo, não terá realmente um problema.

Jaydee
fonte
0

Eu não acho que isso seria um problema. Os aplicativos da Web que usam código da GPL, mas não estão disponíveis no formato de código-fonte para os usuários, são um dos problemas que a GPLv3 mudou em comparação à GPLv2, fechando essa "brecha". Esta parece ser basicamente a mesma pergunta.

Dependendo do objetivo exatamente da biblioteca, outra maneira óbvia de evitar todo o problema é criar um wrapper muito simples em torno da biblioteca. Se a biblioteca for GPL, o wrapper poderá precisar ser GPL, mas se as interfaces estiverem claramente separadas, a licença do código do wrapper não deverá (eu quase disse que não, mas consulte um advogado devidamente qualificado) profissional) têm algum impacto nos requisitos de licenciamento do aplicativo principal.

um CVn
fonte
0

É importante lembrar em todos esses conselhos de "programador para programador" que nada disso é aconselhamento jurídico. Como esse tópico deixa claro, há espaço para interpretação com a GPL.

Você precisa pesar o custo de expor sua organização a uma ação legal se violar a GPL em vez de obter uma opinião legal boa e sólida . Existem boas idéias nesse segmento, mas eu não tomaria uma decisão apenas sobre essa entrada.

-

Por exemplo, aqui está uma ruga: e se o código da GPL for JavaScript?

Quando um usuário acessa um site com código JavaScript da GPL, tecnicamente o "código-fonte" (nesse caso, um arquivo JS) é "distribuído" para o usuário final. Isso significa que todo o seu site precisa ser GPL? Há um debate inteiro sobre isso também.

Embora eu odeie pagar advogados tanto quanto o próximo trabalhador, dado o risco, essa é uma área em que geralmente é melhor não depender de conselhos da Internet (exceto, é claro).

Todd
fonte
Irrelevante - o OP está perguntando sobre um aplicativo completamente interno. Nesse caso, nenhuma versão da GPL diz nada sobre a necessidade de distribuir qualquer coisa (embora a vinculação a software não compatível com GPL possa ser um problema), e as perguntas frequentes do Gnu abordam essa falta de requisitos diretamente.
David Thornley 21/09
-1

Como os cartazes anteriores disseram, a licença GPL somente se aplica se você liberar seu aplicativo, se ele permanecer apenas para uso interno, não haverá problema. No entanto, vale a pena considerar as implicações independentemente, caso isso mude.

Meu entendimento básico da licença é que ela permite que você modifique o código-fonte e venda o aplicativo resultante, se desejar, mas com a condição de disponibilizar o código-fonte para qualquer pessoa que solicitar, incluindo as alterações feitas nele.

No caso de uma biblioteca compilada, o código da GPL é separado da sua base de código principal e, como tal, é necessário liberar apenas o código-fonte da biblioteca compilada - e não o restante da sua base de código.

Onde a biblioteca não é compilada - ou seja, em um aplicativo PHP, acredito que a separação ainda exista. Digamos, por exemplo, que seu aplicativo use uma biblioteca de código-fonte aberto para gerar PDFs - qualquer modificação no código de geração de PDF seria coberta pela licença e quaisquer aprimoramentos devem ser liberados; no entanto, qualquer código no seu aplicativo que use essa biblioteca não precisa ser liberado .

Observe que isso muda com a GPL v3, na qual seu código deve ter código aberto se você vincular a uma biblioteca de código aberto ...

Gavin Coates
fonte
1
"é necessário liberar apenas o código-fonte da biblioteca compilada" - isso descreve a LGPL, não a GPL. A GPL trabalha sob a premissa de que a vinculação a uma biblioteca torna seu aplicativo um trabalho derivado da biblioteca e, portanto, sujeito à própria GPL.
Sean McMillan
-2

Não tenho certeza se não há problema em proibir os funcionários de redistribuir esse aplicativo, já que o próprio aplicativo também é GPL. Então, o que você acha que pode ser um "aplicativo interno" pode ser (legalmente?) Vazado junto com o código-fonte.

zvrba
fonte
Por favor, elabore 'já que o aplicativo em si também é GPL'. A que você se refere? Se alguém quiser pegar apenas a biblioteca da GPL e distribuí-la, a licença entra em ação do que entendi até agora. A aplicação intranet (console n web) não é para distribuição e se qualquer funcionário decide 'redistribuir' o pedido da empresa que eu tenho certeza que ele não vai ser um empregado por muito tempo depois disso ..
Ahmad
O EXE baseado em console é GPL, pois usa uma biblioteca GPL e, como tal, a GPL exige que ele permaneça livremente redistribuível por qualquer pessoa que obtenha acesso a ela. Sim, um funcionário pode perder o emprego por isso, mas é seu direito redistribuir o EXE da GPL com a fonte. Porém, outras regras e leis (por exemplo, segredo comercial) podem ser aplicadas. Verifique com um advogado se você realmente pode responsabilizar os funcionários "desleais" por fazerem o que é concedido pela GPL.
Zvrba
releia a pergunta. A maioria das respostas parece discordar de você ou há algo que estamos perdendo? O aplicativo (incluindo a parte GPL) NÃO é para distribuição / redistribuição, será usado somente internamente, não vendido, nem voltado para o público. A biblioteca GPL NÃO será modificada de forma alguma. Você sabe que o Google usa versões modificadas do linux kernal apenas para uso interno e não distribui esta versão. Eu enfatizei apenas o uso interno.
Ahmad
Se você pretende distribuir o aplicativo ou não, é irrelevante. A GPL é clara sobre o seguinte: quem coloca as mãos em um trabalho da GPL pode distribuí-lo livremente ainda mais (e pode exigir o código-fonte). Converse com um advogado para descobrir o que mais pode ser mantido contra seus funcionários se eles optarem por distribuir o trabalho da GPL, conforme a licença da GPL permitir.
Zvrba
1
O aplicativo não é automaticamente GPL, incluindo uma biblioteca GPL. No entanto, se você deseja distribuir um aplicativo que inclua uma biblioteca GPL, ele deve ser licenciado sob uma licença compatível com GPL. A Seção 7 da GPL V2 declara: Se você não puder distribuir para satisfazer simultaneamente suas obrigações sob esta Licença e quaisquer outras obrigações pertinentes, como conseqüência, você não poderá distribuir o Programa. Portanto, se você não tiver permissão para distribuir o código do aplicativo da sua empresa, não poderá distribuir o aplicativo.
KeithB