A cláusula impedindo a exposição do PYQT na API de script de um aplicativo fecha a brecha na licença? [fechado

StackOverflow https://stackoverflow.com/questions/1152777

Pergunta

Atualmente, estou avaliando o uso do PYQT em um aplicativo comercial e fiquei surpreso ao saber que a licença comercial PYQT não permite que você exponha nenhuma das bibliotecas PYQT na API de script do aplicativo. A partir de O site pyqt:

O direito de distribuir os módulos PYQT necessários e a Biblioteca QScintilla com seus aplicativos, desde que os usuários desses aplicativos não tenham acesso direto ao PYQT. Caso contrário, esses próprios usuários se tornam desenvolvedores e exigem suas próprias cópias das versões comerciais do PYQT e do QT.

É porque se eles nós estamos O acesso permitido ao PYQT você teria efetivamente uma 'brecha' na licença comercial do PYQT? Esta cláusula fecha essa brecha, presumo. Eu queria saber se deve haver uma cláusula semelhante na GPL e licenças relacionadas? Caso contrário, certamente, você seria capaz de liberar um aplicativo sob uma licença de código aberto que não era essencialmente nada mais do que um aplicativo 'shell' que permitia que as pessoas 'script' seu comportamento- disse o comportamento sendo a criação de um segundo, não Aplicativo GPL usando as ligações GPL PYQT.

Não tenho dúvidas de que essa 'brecha' é abordada na GPL, que deve ter tido muitos Advogados talentosos examinando-o com pentes finos. - Realmente, estou tentando aprender mais sobre como a lei afeta a vida de um codificador. A GPL e outras licenças de código aberto parecem um bom lugar para começar.


Além disso, o mesmo sistema lançado sob o LGPL teria um problema semelhante? Ou a natureza mais permissiva da licença significa que não haveria tanto conflito que permite aos usuários acesso à biblioteca por meio de um aplicativo?

Foi útil?

Solução

Vai,

Se você estiver codificando um aplicativo QT com recursos de script python, pode: você pode:

1) Permitir o uso do QT no script via PYQT. Isso requer uma licença PYQT por usuário. Talvez você possa oferecê -lo como um extra e mover o custo para o usuário que o requer.

2) Exponha (usando SIP ou SWIG) partes do seu aplicativo que não estão relacionadas ao PYQT

3) Crie sua própria interface para o QT (ou, pelo menos, a parte que você está expondo).

4) Aguarde por uma versão LGPL. Infelizmente, a situação atual é "não por agora":http://www.riverbankcomputing.com/pipermail/pyqt/2009-may/022931.html

Outras dicas

"Software comercial" significa um software que você pode vender, incluindo um software GPL'd gratuito. A maneira como os caras do PYQT usam "comercial" é enganoso.

Você pode usar a biblioteca sob a GPL e cobrar, desde que forneça o código do programa sob uma licença compatível com GPL. Não sei o que eles têm essa cláusula-ou mesmo uma licença opcional não livre, mas não tem nada a ver com a GPL. O que os caras do pyqt estão fazendo é o exatamente oposto da GPL: proibindo você a fazer o que deseja com o código que pagou.

Observe que a GPL não é uma licença de "código aberto", mas um "software livre". São dois grupos muito diferentes de pessoas com idéias diferentes. Você pode ler sobre isso em http://www.gnu.org/philosophy/free-software-for-freedom.html#relationship

Primeiro de tudo: os advogados governam o mundo e nunca o esquecem.

Em segundo lugar, Ianal.

A GPL faz da mesma coisa: se você escrever algum código e publicá -lo no GPL, todo o trabalho derivado também deve ser GPL. Isso é conhecido como a "natureza viral" da GPL. R. Stallman adicionou isso especificamente para proteger o trabalho dos desenvolvedores da GPL. Você pode vender Código GPL, mas você deve sempre inclua a fonte. Você pode mudança Ele e vende o resultado, mas novamente, você deve incluir a fonte do código original e suas modificações.

No caso do PYQT, isso é exatamente o mesmo: eu poderia criar um pequeno aplicativo que apenas chama QApplication._exec() e deixe o "script" para um "usuário", pagando apenas por uma única licença.

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