Posso usar a licença Qt LGPL e vender meu aplicativo sem qualquer tipo de restrição? [fechadas]

85

Eu quero começar um projeto de plataforma cruzada. Fiz minhas pesquisas e agora tenho quase certeza de que o Qt é o negócio certo. Porém, há um grande obstáculo aqui: o licenciamento .

Quero vender meu projeto e também não quero dar nenhuma fonte relacionada ao meu trabalho ou pagar por uma licença. Eu verifiquei e percebi que o Qt oferece soluções comerciais e de código aberto. Eu ouvi muitas palavras conflitantes sobre o licenciamento do Qt, o que me confundiu muito. Alguns dizem que mesmo que eu use a versão LGPL do Qt, ainda preciso enviar meu código. Isso é verdade?

Alguém pode me dar uma explicação simples sobre as licenças Qt e me dizer se eu posso vender meu aplicativo sem qualquer tipo de restrição ou não? Alguém poderia me dizer qualquer outro equivalente ao Qt para desenvolvimento de plataforma cruzada sem quaisquer restrições?

Rika
fonte
5
Essa questão se resume a questões jurídicas. Infelizmente, esses estão fora do assunto aqui no SO.
Bart de
1
Eu tenho um dilema sobre o assunto, não há brigas sobre o licenciamento em si! apenas como eles são tratados e como me afetam no processo de desenvolvimento. Portanto, acho que é perfeitamente normal fazer essa pergunta.
Rika de
1
Não estou buscando nenhum conselho para se tornar comercial ou LGPL, só preciso de alguns esclarecimentos sobre o próprio sistema de licenciamento. Portanto, ficaria grato se você abrir esta pergunta para maiores esclarecimentos sobre o assunto.
Rika
1
Então venha para Meta. Pergunte se com sua formulação a pergunta está ou não no tópico e pode ser reaberta. É necessário um moderador ou 5 pessoas com privilégios suficientes para reabri-lo. Faça uma pergunta amigável e a comunidade dará uma olhada. meta.stackoverflow.com
Bart
1
Meta é incrível, desde que você não se importe realmente com seu representante Meta. A votação é muito mais liberal lá.
rlemon de

Respostas:

100

Basta conectar-se dinamicamente ao Qt. Se você vincular dinamicamente a bibliotecas LGPL, não há nada com que se preocupar.

Se você vincular estaticamente a eles, poderá apenas distribuir seus arquivos-objeto (não seu código-fonte) e ficará bem.

A ideia da LGPL é que o usuário final deve ser capaz de substituir a biblioteca LGPL por uma versão que deseje. Vincular dinamicamente à biblioteca LGPL permite que você faça isso, assim como vincular e distribuir estaticamente seus arquivos de objeto. Contanto que você faça isso, você pode vender seu programa de código fechado o quanto quiser.

Claro, há mais no LGPL do que apenas isso, mas essa é a parte relevante.

Talos de milho
fonte
6
A LGPL também exige que você "não restrinja a modificação das partes da Biblioteca contidas na Obra Combinada e engenharia reversa para depurar tais modificações", o que pode entrar em conflito com algumas proibições comerciais de EULAs sobre engenharia reversa.
Josh Kelley de
15
@Hossein Você ao menos leu a resposta? Isso não tem nada a ver com seu código. A licença LGPL do Qt está relacionada apenas ao Qt e ao Qt, então você pode empacotar seu código e licenciá-lo da maneira que quiser, mas a menos que planeje comprar uma licença comercial do Qt, você tem que se conectar dinamicamente ao Qt. A licença comercial do Qt é para quando você deseja modificar o código-fonte do Qt , e não liberar as alterações que você fez para o público.
cmannett85 de
1
@Hossein: E contanto que você se conecte dinamicamente ao Qt. Honestamente, você deveria apenas procurar um advogado. Você deve sempre falar com um antes de se envolver em um empreendimento comercial. E FWIW, IANAL.
Cornstalks de
2
@Hossein, Os usuários devem ser capazes de fazer a engenharia reversa e substituir completamente o próprio Qt. No entanto, isso significa que você NÃO deve proibir a engenharia reversa. Você tem que distribuir o Qt como DLLs .... e para um bônus, os arquivos Object do seu aplicativo (não obrigatório). Se você SE PREOCUPA com seus arquivos-objeto, também deve se preocupar com seu EXE! Pois para um cara que sabe usar arquivos Object, ele também sabe EXATAMENTE o que é um EXE! Essas pessoas tendem a se preocupar com coisas de baixo nível e sabem muito mais do que nós. Para eles, até mesmo seu EXE pode ser tão legível quanto seu código-fonte para você: P
Петър Петров
1
@ ПетърПетров Sim, a engenharia reversa é uma preocupação real ao usar bibliotecas LGPL. No entanto, os executáveis ​​são geralmente muito mais difíceis de realizar a engenharia reversa do que um monte de arquivos de objeto (principalmente porque os executáveis ​​geralmente são removidos, têm otimizações de tempo de link e inlining aplicados, etc.). Mas você está absolutamente certo: se você não tiver cuidado sobre como construir seu executável, pode ser tão fácil fazer a engenharia reversa como todos os seus arquivos de objeto.
Cornstalks