[RESOLVIDO] Licenças do MySQL e frameworks

Boa tarde pessoal!
Estou algumas dúvidas sobre a licença do MySQL, imaginem esse caso:

Pretendo criar um serviço e alugá-lo para empresas. Meu plano é ir no cliente e instalar no local CentOS, Tomcat, MySQL e o meu sistema OU
publicar o sistema na internet com o Locaweb.

Fazendo isso, o código fonte do meu sistema deveria ser GPL por tabela? Mesma dúvida caso eu publique no Locaweb.

André.

Acredito que o código deve ser GPL obrigatoriamente caso voce não possua uma licença para o Mysql e queira usar o mesmo.
Ou seja se sua aplicação possui codigo fechado voce deve adquirir uma licença.

Não sei se você usou algum framework que obrigue a usar uma licença livre, mas a licença do MySQL Community (http://www.mysql.com/products/community/) não se estende às aplicações desenvolvidas que o utilizem. Ou seja, seu produto pode ter código fechado e usar o MySQL. O que você é obrigado a fazer é publicar qualquer alteração que fizer no código do MySQL (já que os fontes estão disponíveis), mas isso é algo que eu duvido que você venha a precisar.

Abraço.

MySQL foi tema de um dos estudos de caso que inclui na minha dissertação de mestrado sobre software livre.
Aí a questão não é o MySQL em si, e sim a licença do conector do MySQL que você está usando, o JDBC. Há muito tempo atrás os conectores do MySQL eram distribuídos sob a LGPL, então não tinha muito problema, mas depois mudaram a licença para GPL, o que torna a situação mais obscura. Isso significa que na distribuição do seu sistema para o cliente, dependendo da forma que você o faça, pode haver uma certa controvérsia sim! Mas na prática é improvável que você de fato tenha problemas. Já no caso de você simplesmente deixar ele acessível pela rede na Locaweb não teria nenhum problema.

Vejam o que eu encontrei:

http://www.xaprb.com/blog/2009/02/17/when-are-you-required-to-have-a-commercial-mysql-license/

http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLInProprietarySystem

[quote=TerraSkilll]Não sei se você usou algum framework que obrigue a usar uma licença livre, mas a licença do MySQL Community (http://www.mysql.com/products/community/) não se estende às aplicações desenvolvidas que o utilizem. Ou seja, seu produto pode ter código fechado e usar o MySQL. O que você é obrigado a fazer é publicar qualquer alteração que fizer no código do MySQL (já que os fontes estão disponíveis), mas isso é algo que eu duvido que você venha a precisar.

Abraço.[/quote]

Como você e os artigos disseram: Só o fato de se conectar no banco não quer dizer que meu app deva ser GPL também, correto?

[quote=Bani]MySQL foi tema de um dos estudos de caso que inclui na minha dissertação de mestrado sobre software livre.
Aí a questão não é o MySQL em si, e sim a licença do conector do MySQL que você está usando, o JDBC. Há muito tempo atrás os conectores do MySQL eram distribuídos sob a LGPL, então não tinha muito problema, mas depois mudaram a licença para GPL, o que torna a situação mais obscura. Isso significa que na distribuição do seu sistema para o cliente, dependendo da forma que você o faça, pode haver uma certa controvérsia sim! Mas na prática é improvável que você de fato tenha problemas. Já no caso de você simplesmente deixar ele acessível pela rede na Locaweb não teria nenhum problema.[/quote]

O driver está sob a licença GPL? Se sim, então não posso fazer um app que se conecte ao banco já que precisaria do mysql-connector.jar e ele “contaminaria” meu código? Mas se eu fizer pela locaweb, não estarei empacotando o mysql-connector.jar junto do meu sistema?

Abrs

Isso, o driver atual é GPL e esse é o maior problema. Mas a GPL te impede de distribuir um trabalho derivado/coletivo como proprietário, não de usar o driver num sistema proprietário. E você pode hospedar seu sistema na Locaweb sem cair na regrinha da distribuição. Até por isso que inventaram a AGPL depois, que trata desses casos de uso através da rede, mas o driver do MySQL não está sob essa licença.

Bani:

Converisei com meu professor a respeito de licenças e e cheguei a conclusão que para contornar esse problema, o correto seria eu programar na interface jdbc e usar um arquivo properties que configuraria o driver do banco e onde se conectar.

Assim eu não estaria usando a implementação de um banco específico e sim da interface. O cliente seria responsável por instalar o banco, o driver e configurar o .properties.

Talvez por isso que o JDBC foi criado, heheheh. Não tinha me tocado muito nisso.

[]´s

Isso mesmo, se você fizer de tal forma que for possível alegar que o seu programa é independente da implementação que está sob GPL e você não distribuir o jar deles junto com sua aplicação, aí não precisa se preocupar com a GPL.