Pergunta

Como o [L] licença GPL deve ser aplicada a Java e C # código? Sei que, quando Sun JDK se tornar GPL, eles fizeram exceções especiais para bibliotecas padrão.

Então, se eu não posso abrir minha fonte da aplicação e ainda querem distribuí-lo ...

  • ... eu poderia usar a biblioteca GPL (por import 'ing suas classes)?
  • ... eu poderia usar LGPL um
  • ... poderia minha aplicação correr em cima de GPL'ed Application Server (usando seus serviços e APIs)

Em todas as perguntas acima GPL = GPL v.2.

Graças

Foi útil?

Solução

Em primeiro lugar, se você está construindo um software comercial em cima do trabalho de outra pessoa, você deve contratar um advogado para ajudá-lo a garantir que você permanecer em conformidade com a licença de titular do copyright e seu uso específico.

Dito isto, aqui vai meu conselho:

  1. Você não deve conectar-se a um aplicativo de GPL ou biblioteca a menos que você deseja distribuir o seu código como GPL.
  2. No que diz respeito LGPL vai, você pode querer verificar com o detentor dos direitos autorais, mas a Free Software Foundation esclareceu sua interpretação da LGPL em relação ao Java: LGPL e Java por David Turner .
  3. Se você está estendendo um quadro GPL (como um servidor de aplicativo), você precisa seguir a licença do quadro.
  4. Se você estiver usando algo como SOAP para acessar um serviço, você deve estar OK sob a GPLv2. Se você usar RMI, então talvez a situação é diferente porque os topos que você colocar um link seria provavelmente sob a GPL.

Agora, se você está preocupado com o tempo de execução Java, eu não acho que você precisa se preocupar. Eu ficaria surpreso se a Sun fez Java GPL-only. Eles têm muitos clientes que dependem do fato de que Java pode ser estendido e usado para a construção de aplicações proprietárias. Muitas vezes o software é liberado sob várias licenças que permite ao usuário escolher os termos (Firefox, por exemplo, usa esta abordagem e é triple-licenciados: GPL, LGPL e MPL).

Outras dicas

Independentemente do compromisso da Sun para open-source, você pode licenciar seu aplicativo Java com GPL, LGPL, MIT ou mesmo as chamadas licenças "proprietárias".

"... eu poderia usar a biblioteca GPL (por import'ing suas classes)?" Não. A não ser que ele não é puro GPL (pode ser dual-licenciados, têm uma "exceção classpath" ou algo parecido ou ter uma interface de domínio público para acesso externo). No entanto, isto só se aplica se você distribuir seu aplicativo. Se o seu aplicativo foi APENAS usado internamente, então você não teria necessidade de distribuir o código-fonte.

"... eu poderia usar LGPL um" Você pode fazer referência código LGPL se você mantê-lo em um arquivo separado. No caso de Java, manter o código LGPL em um frasco separado. No caso de C #, mantê-lo em uma separada DLL. Você pode incluir código LGPL em sua aplicação se você permitir que o usuário final para substituí-lo de qualquer maneira (mas isso pode ser mais difícil do que apenas deixá-lo como um arquivo separado)

"... poderia minha aplicação correr em cima de GPL'ed Application Server (usando seus serviços e APIs)". Não, a menos que esses serviços / APIs ter alguma outra licença.

Veja também: https://stackoverflow.com/questions/137048/how-do-i-tell-if-i-can-re-use-a-free-software-library-in-a- comercial app

[discurso] GPL e LGPL são licenças terríveis escritos por muito maus advogados que não podem obter sua terminologia reta. Então, acho que é de alguém que eles realmente significam e como eles se aplicam a situações do mundo real [/ rant]

A resposta correta é que se sendo processado pelo titular dos direitos de autor é uma preocupação real para você, então você deve consultar com um advogado. Estas licenças são demasiado complexas para você obter uma resposta significativa neste fórum.

A resposta do mundo real é que as pessoas que colocam suas bibliotecas Java sob LGPL provavelmente a intenção para que eles sejam ligados a / redistribuído dentro de aplicações Java comerciais, por isso é extremamente improvável que você vai entrar em qualquer problema se você simplesmente redistribuir os não modificada bibliotecas com sua aplicação.

As pessoas que distribuem suas bibliotecas Java sob a GPL ou não pretendem para eles para ser embutido em aplicações comerciais, ou não se preocupou em se preocupam com ramificações legais, porque GPL não é uma licença apropriada para bibliotecas, mas apenas para aplicativos independentes. Eu sugeriria direção clara de bibliotecas Java GPL no código comercial. Incluindo um side-by-side aplicação GPL com seu um comercial é bom, apesar de tudo.

Em relação correndo dentro de um Application Server GPL, você está definitivamente muito bem contanto que você furar a APIs padrão (servlets, jsps, JMX etc). Se você deve usar APIs proprietárias para o servidor, a questão é mais complicada, então eu definitivamente falar com um advogado, embora novamente, provavelmente a intenção dos titulares de códigos App servidor é que tal uso deve ser permitido.

IANAL mas eu acho que é importante ter em mente que o GPL depende de copyright. Portanto, qualquer coisa que é permitido sob a lei de direitos autorais é permitida sob a GPL. Por exemplo, os proíbe GPL fazer um trabalho derivado e ligando-o a um módulo não-GPL. Este tipo de argumento é usado para prevenir o uso de módulos de kernel binários Linux, por exemplo. No entanto, um módulo que não é uma obra derivada do Kernel não pode ser considerada a cair sob os direitos autorais do kernel, e, portanto, não precisa ser GPL. Nota: o kernel resultante com o módulo pode ser considerado uma obra derivada, e provando que um módulo não é um trabalho derivado pode ser um problema. Mas não é cortada e seca.

Além disso, o GPL contém exceções para o sistema operacional de base, que permite vincular software GPL para bibliotecas não-livres da plataforma. Isso permite que o software livre para rodar em plataformas não-livres. Um caso poderia ser feito que a JVM é uma plataforma, e talvez até mesmo algo como um servidor de aplicações J2EE é uma plataforma. Você não pode ter permissão para redistribuir uma aplicação web GPL ea plataforma juntos, mas um web-aplicativo GPL portado para Websphere (por exemplo) ainda pode ser GPL-compatível.

Dada a complexidade, não faria sentido para falar com um advogado sobre isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top