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.