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.
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.
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.
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.
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.
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?
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.
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
Bani
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.
A
AndreAndrade
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
Bani
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.