O que significa “GPL com exceção de caminho de classe” na prática?

50

O Oracle parece licenciar todo o seu código-fonte aberto relacionado ao Java sob a GPL com uma exceção de caminho de classe. Pelo que entendi, isso parece permitir combinar essas bibliotecas com seu próprio código em produtos que não precisam ser cobertos pela GPL. Como é que isso funciona? Quais são exemplos de como eu posso e não posso usar essas classes? Por que essa nova licença foi usada em oposição à LGPL, que parece permitir praticamente as mesmas coisas, mas está melhor estabelecida e compreendida? Quais são as diferenças para a LGPL?

    
por Thilo 13.11.2011 / 00:37
fonte

3 respostas

48

Primeiro, eu não sou um advogado. Mas eu estudei muitas licenças e entendi questões relacionadas a elas.

Em segundo lugar, eu sei que esta é uma pergunta antiga, mas acho que ainda é um ponto de confusão e preocupação. Se não é um ponto de preocupação, deveria ser. A escolha de uma licença é um grande problema que você não pode mudar trivialmente, especialmente se vários colaboradores estiverem envolvidos.

(L) GPL foi escrito com C / C ++ em mente, infelizmente. Ele fala de "Código Fonte", "Código Objeto", "Vinculação Dinâmica", "Vinculação Estática", "Compiladores" e "Intérprete de Código de Objeto". Portanto, traduzir isso para outras linguagens que não seguem as mesmas técnicas de compilação (como o bytecode do Java, a compilação just in time do Python ou a natureza interpretada do Javascript) requer algumas suposições e suposições. Quando você está falando sobre a lei - ou seja, pensando em eventuais processos judiciais em que duas partes estão discutindo - não ter uma distinção clara é uma COISA MAL.

Um código de licença padrão da GPL é bastante direto na intenção. Qualquer pessoa que usa esse código deve liberar seu código para todos os usuários quando eles o distribuem ou vendem. Esse é o vírus da GPL que Richard Stallman queria criar e fez de forma clara e clara.

A LGPL foi originalmente uma tentativa de permitir uma "biblioteca" que não seria viral. Mas eles ainda queriam que o usuário final pudesse substituir a biblioteca por conta própria, daí a distinção entre links "estáticos" e "dinâmicos" - o usuário poderia trocar para uma biblioteca diferente vinculada dinamicamente, então não precisaria ser licenciado como GPL. E um link estático exigia que o usuário fosse GPL. A licença realmente fala sobre "arquivos de cabeçalho", que são claros em C / C ++, mas obviamente não são claros quando você está nos mundos Java, Python, Javascript, etc. Então a L ("biblioteca") das coisas da LGPL é turva, na melhor das hipóteses.

Isso chega ao cerne da questão. Tudo o que não está claro é BAD no mundo das leis. Se eu estou olhando para construir algo usando o componente GPL ou LGPL, eu quero ter certeza de qual é a minha posição legal no futuro se eu cair no tribunal. Mas, a partir de hoje, não tenho certeza porque realmente não houve bons processos judiciais estabelecendo precedentes legais, apenas argumentos intelectuais em fóruns como esse.

Aqui é onde a exceção de caminho de classe é inestimável. Ele afirma claramente que o código sob a licença é (L) GPL, mas qualquer coisa usando esse código pode seguir a licença que quiser. Não quero nenhuma desculpa. Se você alterar o código principal (por exemplo, corrigindo bugs), ainda será necessário liberar essas alterações como parte da GPL. Mas o uso NÃO infecta você.

De uma perspectiva de negócios, eu entendo porque alguns não querem tocar em código GPL com um polo de 10 '. A situação legal não é clara e os negócios podem ser prejudicados uma década depois que o precedente legal for finalmente estabelecido. Ou eles podem ficar presos no tribunal por anos lutando para estabelecer o precedente legal. Independentemente eles apenas não querem arriscar o custo dessa batalha. Adicionar a cláusula Excepção de caminho de aula elimina as questões jurídicas e evita qualquer caso judicial (grave) potencial.

Então, para mim, a Exceção de Caminho de Classe é muito diferente da LGPL. É uma maneira legalmente limpa de desenhar uma linha brilhante que permita o uso não-GPL de código-fonte ou bibliotecas GPL ou LGPL.

    
por 01.08.2016 / 22:18
fonte
6

GPL com exceção de caminho de classe se comporta como LGPL para a maioria dos usos.

Isso significa que você precisa enviar a origem da biblioteca on demand. Isso não significa que você precise enviar sua própria fonte. Isso significa que você não precisa enviar uma maneira de substituir a biblioteca se estiver vinculado estaticamente a ela, mas não pode usar uma chave pública para impedir a substituição.

    
por 13.11.2011 / 02:24
fonte
-3

Parece que as licenças de estilo "GPL com exceção de caminho de classe" podem ser mais antigas que LGPL.

Talvez a única razão pela qual alguém ainda a use, seja porque o código GPL não pode ser migrado para o código LGPL sem permissão por escrito de todos que já contribuíram com código.

    
por 13.11.2011 / 00:47
fonte