Estou criando um aplicativo interno para a empresa na qual estou contratado. Desejamos usar uma biblioteca licenciada GPLv2 nesta aplicação. Alguns pontos
- 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.
- Nunca será vendido, nunca !! . Portanto, nenhum dinheiro será ganho diretamente com a venda do código. Não é um produto.
- 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.
- 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?
Respostas:
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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.
fonte
É 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).
fonte
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 ...
fonte
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.
fonte