Como mudar a licença do projeto Java de GNU / GPL para MIT / BSD / Apache
Eu desenvolvi um aplicativo Java que é conectado ao MySQL Workbench usando o mysql-connector-java-8.0.21.jararquivo. Quando implanto o projeto e envio o código-fonte para o cliente, ele diz que:
- A licença não deve ter um GNU / GPL / Unspecified licenciado que tenha uma obrigação de divulgação (é normal ter MIT / BSD / Apache sem uma obrigação de divulgação)
- Mude a licença GNU / GPL para MIT ou BSD
Agora minha pergunta é, como alterar a licença do projeto ou como alterar a licença de arquivos de biblioteca como Mysql connector.jar.
Porque preciso de uma licença de código aberto para o código-fonte, então preciso alterar as bibliotecas de licença (usadas no projeto).
Respostas
Você não pode alterar a licença do código de outros, como mysql-connector-java. Essa licença é definida pelo autor desse componente específico (empresa Oracle).
Se seu cliente declarou o requisito antecipadamente, você tem um problema. Caso contrário, você pode simplesmente recusar a solicitação e declarar que isso está fora de seu controle.
PS O uso do termo "obrigação de divulgação" neste contexto sugere que o cliente não entende a lei. Mas se o cliente nomear especificamente a GPL como um exemplo de licenças proibidas antes de concordar com o contrato, o uso indevido do termo "obrigação de divulgação" não invalida o contrato.
mysql-connector / j é licenciado como GPLv2 pela Oracle, mas tem uma exceção FOSS . Se você deseja distribuir seu software como FOSS , pode escolher qualquer licença "que seja aprovada pela OSI e / ou categorizada pela FSF como gratuita". Caso contrário, você deve usar uma biblioteca diferente ou comprar uma licença comercial da Oracle.
E você não pode alterar a licença de, mysql-connector/jpois você não é o proprietário dos direitos autorais (a Oracle é).
Existem vários estilos de licença em jogo aqui;
- Estilo de licença estilo MIT / BSD / Apache
- GPL
- LGPL
- Comercial
O conector MySQL, supondo que você quer dizer MySQL Connector / J, tem licença dupla; Você pode escolher a licença comercial (você terá que pagar por isso) ou a licença LGPL. O licenciamento é algo que os autores de um produto fazem; você não pode alterar a licença. Se a tarefa em questão exige uma determinada licença, você pergunta aos autores se eles a oferecem e quanto você precisa pagar para obtê-la; se for demais para sua carteira ou se esta licença não estiver disponível, seu único recurso nesse ponto é alterar os requisitos ou remover esse produto de sua base de código inteiramente e, por exemplo, mudar para PostgreSQL (um mecanismo de banco de dados diferente), para exemplo.
Observe que LGPL não é o mesmo que GPL. É mais parecido com licenças do estilo MIT / BSD / Apache do que GPL, então uma saída pode ser simplesmente perguntar aos advogados de seu cliente se LGPL é aceitável.
Para consideração futura, sempre verifique com o cliente que tipo de restrições de licença ele possui. Por exemplo, se MIT / BSD / Apache é a única maneira, então você não pode usar MySQL aqui. Período. O MySQL não é licenciado assim e a Oracle (o dono do MySQL) não o oferece. Nesse caso, é possível que uma licença comercial fosse suficiente (portanto, certifique-se de cobrar do cliente, levando em consideração que você precisará adquirir uma licença comercial). Como alternativa, leve em consideração que você precisará gastar algum tempo aprendendo sobre o uso de diferentes ferramentas (como PostgreSQL, cuja licença é no estilo MIT / BSD / Apache) e fature de acordo.
Se você precisar de mais informações sobre se o LGPL do MySQL e o MySQL Connector / J é ou não compatível com as necessidades do seu cliente, ou o que acontecerá se você ignorar uma licença ou os requisitos por escrito do seu cliente, consulte um advogado.
De acordo com https://www.mysql.com/about/legal/licensing/oem/, você está livre para usar qualquer licença de código aberto aprovada para o seu código, mesmo se estiver usando a biblioteca MySQL GPL.
A licença usada por versões recentes de mysql-connector-java é descrita aqui: https://oss.oracle.com/licenses/universal-foss-exception/
Aqui está um trecho do arquivo de LICENÇA fornecido com o pacote do conector (grifo meu):
Manual do usuário de informações de licenciamento
Conector MySQL / J 8.0 __________________________________________________________________
Este Manual do Usuário de Informações sobre Licença contém a licença do produto Oracle e outras informações sobre licenciamento, incluindo informações sobre licenciamento para software de terceiros que podem estar incluídos nesta distribuição do MySQL Connector / J 8.0. Introdução Última atualização: agosto de 2020
Informações de licenciamento
Esta é uma versão do MySQL Connector / J 8.0, trazida a você pela equipe MySQL da Oracle. Este software é lançado sob a versão 2 da GNU General Public License (GPLv2), conforme estabelecido abaixo, com as seguintes permissões adicionais :
Esta distribuição do MySQL Connector / J 8.0 é distribuída com certo software licenciado sob termos separados, conforme designado em um arquivo ou componente específico ou na documentação da licença. Sem limitar seus direitos sob a GPLv2, os autores do MySQL, por meio deste, concedem a você uma permissão adicional para vincular o programa e seus trabalhos derivados ao software licenciado separadamente que eles incluíram com o programa.
Sem limitar a concessão anterior de direitos sob a GPLv2 e permissão adicional quanto ao software licenciado separadamente, este Conector também está sujeito à Exceção FOSS Universal, versão 1.0 , uma cópia da qual é reproduzida abaixo e também pode ser encontrada junto com seu FAQ emhttp://oss.oracle.com/licenses/universal-foss-exception.
A compra de uma licença comercial do MySQL é uma alternativa. Isso permitirá que você use uma licença proprietária para seu próprio código e, portanto, será livre para mantê-lo inédito.
Obviamente, como você não possui o código e as bibliotecas do MySql, não tem o direito de alterar sua própria licença.
Isenção de responsabilidade: não sou advogado e este não é um conselho jurídico; Não afirmo que o que foi dito acima seja correto; não tome decisões de negócios com base em coisas que você lê de estranhos na Internet, incluindo eu