Pergunta

Eu não sei muito sobre a LGPL/GPL quando se trata de distribuição de programas (sem Qt licença);Se eu fiz um programa, eu poderia ligar estaticamente as bibliotecas para o exe então, eu tenho um único arquivo para distribuir quando:

  • O programa não custa nada, é apenas a ser distribuído (código fechado ou aberto)?

  • Quando você tem que pagar para o programa você ainda pode ligar estaticamente?

Foi útil?

Solução

Não, se o seu programa estiver fechado e você deseja vincular a versão LGPL do QT, você deve usar a ligação dinâmica. Se você deseja vincular estaticamente, deve comprar uma licença para qt.

Para usar o código LGPL no seu projeto de código fechado, o usuário deve poder substituir a parte LGPL do código. A maneira mais fácil e de longe a maneira mais comum de fazer isso é colocar todo o código LGPL em uma DLL e, em seguida, o usuário pode substituir a DLL se quiser.

Você também tem permissão para usar qualquer que seja técnico significa que seu idioma permite atingir o mesmo objetivo. Você pode distribuir arquivos de objeto e, em seguida, o usuário pode vincular como outro comentarista apontou, mas nunca vi isso feito na prática.

Não importa se o seu produto é ou não gratuito ou paga. Você pode vender produtos GPL/LGPL.

Outras dicas

Na verdade, a LGPL permite a ligação estática desde que cumpra alguns requisitos muito específicos.Por exemplo, se toda a distribuição é feita a partir de seu site onde você tem StaticProgram.exe, você está bem enquanto os usuários podem também baixar StaticProgram.obj e LGPL-library-source.tar.gz.Você também pode distribuir StaticProgram.exe com uma oferta por escrito para proporcionar a outros arquivos.

Especificamente, a vinculação estática cria um único arquivo executável que é um derivado da LGPL código, então você deve estar em conformidade com a seção 6 da LGPL:

6) Como uma exceção para as Seções acima, você também pode combinar ou ligar um "trabalho que utiliza a Biblioteca" com o Biblioteca para produzir um trabalho contendo partes da Biblioteca, e distribuir o trabalho sob os termos da a sua escolha, desde que os termos permite modificação de trabalho para próprio uso do cliente e inversa de engenharia para a depuração de tais modificações.

Você deve dar aviso em destaque, com cada cópia do trabalho que a Biblioteca é usado em ti e que a Biblioteca e seu uso são cobertas por esta Licença.Você deve fornecer uma cópia desta Licença.Se o trabalho durante a execução exibe avisos de direitos autorais, você deve incluir o aviso de direitos autorais para a Biblioteca entre eles, bem como uma referência direcionando o usuário para o cópia desta Licença.Além disso, você deve fazer uma destas coisas:

a) Acompanhar o trabalho com o correspondente e completo código fonte em formato digital para o Biblioteca, incluindo quaisquer alterações que foram utilizados no trabalho (que deve ser distribuídos nos termos das Secções 1 e 2 acima);e, se o trabalho é um executável ligado com a Biblioteca, com a completa legível "trabalho que utiliza a Biblioteca" o código-objeto e/ou código-fonte, de modo que o usuário pode modificar a Biblioteca e, em seguida, voltar a ligar para produzir uma modificação executável que contém a modificação A biblioteca.(É entendido que o usuário que altera o conteúdo de definições de ficheiros na Biblioteca não necessariamente será capaz de recompilar o aplicativo para usar o modificado definições.)

b) o Uso adequado da biblioteca compartilhada mecanismo de vinculação com o A biblioteca.Um mecanismo adequado é um que: (1) utiliza em tempo de execução de uma cópia de a biblioteca já presente no usuário do sistema de computador, em vez de copiar biblioteca de funções para o executável, e (2) irá operar corretamente com uma versão modificada do a biblioteca, se o usuário instala um, enquanto a versão modificada é uma interface compatível com a versão que a obra foi feita com.

c) Acompanhar o trabalho com uma oferta escrita, válida por pelo menos três anos, para dar o mesmo usuário a materiais especificados no subitem 6a, acima, por uma taxa não superior a custo de fazer esta distribuição.

d) Se a distribuição do trabalho é feita por oferta de acesso a cópias a partir de um local designado, oferecer acesso equivalente para copiar o acima materiais especificados a partir da mesma lugar.e) Verifique se o usuário já recebeu uma cópia destes ou materiais que você já tem enviada uma cópia para este usuário.

Para um executável, o formulário necessário do "trabalho que utiliza a Biblioteca" deve incluir todos os dados e utilitário programas necessários para a reprodução da executável a partir dele.No entanto, como um exceção especial, os materiais a serem distribuído não necessita de incluir qualquer coisa que seja normalmente distribuída ( quer em código fonte quer em forma binária) com os componentes principais (compilador, kernel, e assim por diante) do sistema operacional no qual o executável funciona, a menos que o componente em si acompanhe o executável.

Pode acontecer que este requisito contradiz a restrições de licença de outras bibliotecas proprietárias que fazer normalmente não acompanham o funcionamento do sistema.Essa contradição significa que você não é possível usar ambos e a Biblioteca juntos em um executável que você distribuir.

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