GPL no local de trabalho?


12

Certa vez, entrevistei uma empresa de consultoria em que surgiram na conversa que eles usam produtos de código aberto (o que é ótimo, usei extensivamente o Hibernate, JBoss etc.). Uma coisa que me surpreendeu foi quando perguntei se eles usaram o OSS licenciado pela GPL ao escrever aplicativos para clientes, disseram "Claro, o tempo todo! Contanto que o cliente consiga o que deseja e seja feliz". Agora, não sou advogado nem grande fã de licenças, mas fiquei com a impressão de que, usando o código GPL (digamos que você inclua alguma biblioteca), é necessário que você libere todo o aplicativo sob a mesma licença. Quando indiquei isso, recebi uma resposta rápida de "Bem, damos aos clientes todo o código-fonte quando terminamos, então isso realmente não é um problema".

Não querendo aprofundar a questão (entrevistas não são o lugar para argumentos como esse), deixei para lá. No entanto, isso ainda me preocupa com essa prática específica do negócio. Qual é a palavra oficial no código licenciado pela GPL e quão "aberto" ele precisa ser? Você precisa publicá-lo e dizer "Minha empresa usou esta biblioteca, então aqui é o site onde você pode baixar nosso aplicativo de sistema de atendimento de pedidos e compras que gastamos milhões de dólares para construir". Nessa situação, a empresa está certa em usar o código GPL sem o conhecimento do cliente? É suficiente apenas "dar-lhes a fonte"?

Respostas:


15

Isenções de responsabilidade padrão se aplicam: eu não sou advogado e você também não.

A GPL, em sua essência, é proteger os direitos daqueles que usam o programa para obter e usar a fonte também. Ele não exige que você publique a fonte de qualquer programa que escreva que use código GPL, apenas que, se você publicar um programa desse tipo, também deverá fornecer a fonte.

Posso escrever qualquer número de aplicativos para meu uso pessoal, inserir código da GPL e nunca fornecer a fonte disso a ninguém. Posso escrever esses aplicativos para uso interno da minha empresa e só preciso fornecer a fonte para aqueles da minha empresa que usam o programa (na prática, eu precisaria fazer isso de qualquer maneira se eles tivessem algum bom motivo para solicitá-lo). Se eu escrever um programa para alguma outra entidade, eu simplesmente tem que dar -lhes o código (e deixar claro que o programa está licenciado sob GPL) - se eles vão para distribuí-lo, eles também devem, em seguida, fazer a fonte disponível, mas estou fora de cena.

Portanto, a única preocupação que sua empresa de consultoria pode ter é que eles não conseguiram informar seus clientes sobre a licença em que o código fornecido se enquadrava. Na verdade, eu minto - se eles tivessem negociado uma licença diferente com seus clientes (o cliente possui todos os direitos de código ...), então eles também poderiam estar em água quente ... Mas isso é verdade para qualquer código de terceiros : a menos que seja de domínio público, você deve cumprir a licença e não a deve licenciá-la novamente, a menos que esse direito tenha sido concedido a você pelo detentor dos direitos autorais.


1
Você está certo, a AGPL, no entanto, é mais rigorosa quanto a isso #

@Pierre: correto, no sentido de que você não pode deixar de fornecer origem aos seus usuários aderindo aos aplicativos do servidor.
Shog9

1
Interessante. Portanto, na GPL padrão, se você escreve um aplicativo SaaS, não precisa fornecer a fonte, pois não está tecnicamente "distribuindo" o próprio aplicativo?
Ryan Hayes

2
@ Ryan: certo. Bem, você não precisa dar aos seus usuários . Quem obtém o código compilado ainda obtém a fonte.
Shog9

7

Como consultor, faço questão de levantar os problemas de licença mais cedo com meu cliente para que eles possam fazer uma escolha informada. Se a melhor tecnologia a ser aplicada ao problema deles estiver sob a GPL, mas eles não puderem cumprir a licença, não posso usá-la. Na prática, isso teve dois efeitos.

Primeiro, muitos estão felizes em pagar por um produto comercial especificamente para evitar esse problema. Isso é especialmente comum no mundo dos sistemas embarcados, onde a conformidade com a GPL exigiria efetivamente a publicação do projeto completo de hardware e a documentação de como tudo funciona para atender ao espírito da GPL, que é uma tentativa de tornar possível para um usuário final alterar o produto. . Embora seja possível criar produtos abertos, isso exige muito comprometimento em todos os níveis da empresa. O maior problema é que muitos componentes de um design são documentados para nós por seus fabricantes no NDA e é efetivamente impossível criar código compatível com GPL que usa a documentação liberada no NDA.

Segundo, agora temos uma preferência pela licença do MIT e seus muitos parentes (que deixam claro que o uso comercial é aceitável) sobre a GPL em qualquer revisão. Eu não tive nenhum objeto de cliente para liberar correções e melhorias feitas nas comunidades de produtos relevantes. Como a licença é permissiva, posso cumprir minhas obrigações com a NDA, manter meu cliente satisfeito e contribuir com as comunidades relevantes.


2

Código aberto não significa necessariamente livre.

IANAL também, mas de um modo geral o requisito da GPL é fornecer o código-fonte para o seu projeto. Você certamente pode vender um produto para outra pessoa. No entanto, acredito que você não pode impedi-los de denunciá-lo. Provavelmente é isso que liberta a maioria dos softwares da GPL, como na cerveja. Estou bastante certo de que você não precisa publicar seu código no world + dog apenas porque é da GPL.

Do preâmbulo à v3 da GPL (grifo meu):

As licenças para a maioria dos softwares e outros trabalhos práticos foram projetadas para tirar sua liberdade de compartilhar e alterar os trabalhos. Por outro lado, a GNU General Public License destina-se a garantir sua liberdade de compartilhar e alterar todas as versões de um programa - para garantir que ele permaneça software livre para todos os seus usuários. Nós, a Free Software Foundation, usamos a GNU General Public License para a maioria de nosso software; aplica-se também a qualquer outro trabalho divulgado dessa maneira por seus autores. Você também pode aplicá-lo aos seus programas.

Quando falamos de software livre, estamos nos referindo à liberdade, não ao preço. Nossas Licenças Públicas Gerais são projetadas para garantir que você tenha a liberdade de distribuir cópias de software livre (e cobrar por elas, se desejar), de receber código-fonte ou de obtê-lo, se desejar, de poder alterar o software ou use partes dele em novos programas gratuitos e saiba que pode fazer essas coisas.

( fonte )

Nessa situação, a empresa está certa em usar o código GPL sem o conhecimento do cliente? É suficiente apenas "dar-lhes a fonte"?

Esta é uma pergunta um pouco diferente. Se o cliente tiver alguma expectativa e essa expectativa for ditada em um contrato, a empresa poderá ter um problema. Caso contrário, cabe a eles determinar a melhor forma de realizar o trabalho. No entanto, eles devem incluir um aviso no código-fonte referente à licença. Não tenho certeza se eles devem divulgar isso para seus clientes de qualquer outra maneira.


2
A GPL não exige que você publique ativamente a fonte, mas exige que você publique ao usuário o fato de que o programa é GPL e que você a entregará mediante solicitação (possivelmente sujeita a uma taxa de manuseio justa e razoável). Na prática, esse último requisito geralmente é tratado por um tarball ou zip em um URL que pode ser fornecido mediante solicitação. Como consultor, você tem a obrigação de informar ao seu cliente qual será o ônus dele se distribuir seu trabalho a outras pessoas, porque elas se tornam o editor da GPL.
RBerteig 14/10/10

@RBerteig Obrigado pelo esclarecimento. Faz um tempo desde que eu examinei os termos da licença.
George Marian

"Você certamente pode vender um produto para outra pessoa. No entanto, acredito que você não pode impedi-lo de entregá-lo". Depende de você estar dando a eles algo sob a GPL ou se você é o detentor dos direitos autorais original e o licenciando novamente sob uma licença diferente.
Endolith

-5

Não, você está correto. Aqui está o porquê:

Considere se temos um aplicativo sob a GPL. Agora, não pode ser usado por código proprietário.

Se bastasse apenas abrir o código-fonte que usa GPL, eu poderia abrir um projeto de código-fonte baseado em BSD.

Em seguida, o software proprietário poderia usar o produto GPL.


4
Isso não faz sentido. A GPL não declara que o código proprietário não pode usá-lo. A GPL tem tudo a ver com distribuição, como a resposta do Sr. C afirma claramente. Em resumo, você não tem permissão para distribuir software que usa código GPL, a menos que você também distribua o código-fonte desse software sob uma licença compatível.
traço-tom-bang

1
Código proprietário não pode usar código GPL. É parte do motivo da existência da licença.
alternativa

Tudo depende do que você quer dizer com "código proprietário". Se você quer dizer "código que você possui", isso não faz sentido - a GPL não pode tirar seus direitos autorais, portanto, a menos que você o atribua à FSF por sua própria vontade, você ainda possui o código que escreve . OTOH, se você quer dizer "código que deseja distribuir sob uma licença incompatível com a GPL", está correto - assim como conseguiu obter e usar a fonte em que está construindo, é obrigado a conceder aos usuários esse direito à sua fonte. Novamente, trata-se de distribuição - ninguém que não pode obter seu programa tem direitos sobre seu código.
Shog9

@Senhor. C por código proprietário Quero dizer código incompatível com a GPL. E o código é distribuído para o cliente, então ... Mas sim, eu não sou advogado, então posso estar errado.
alternativa

2
-1, resposta enganosa. Isso é verdade apenas para algumas definições de "uso" e "proprietário". Por exemplo, eu poderia criar um produto Linux incorporado e liberar apenas o kernel do Linux e o código vinculado diretamente ao código do kernel, mas não a minha interface do usuário ou outros aplicativos que por acaso são executados em um kernel da GPL. Existem muitos desses relacionamentos. A ambiguidade neste uso de "proprietário" já está coberta. Além disso, na maioria das jurisdições, um "trabalho contratado" concedido apenas à parte que contratou um desenvolvedor para codificá-lo não é o mesmo que distribuição. IANAL, etc.
HedgeMage
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.