Как изменить лицензию проекта Java с GNU / GPL на MIT / BSD / Apache

Nov 20 2020

Я разработал приложение Java, которое подключено к MySQL Workbench с помощью mysql-connector-java-8.0.21.jarфайла. Когда я развертываю проект и отправляю исходный код клиенту, он говорит, что:

  1. В лицензии не должно быть лицензионного GNU / GPL / Unspecified с обязательством раскрытия информации (наличие MIT / BSD / Apache без обязательства раскрытия информации - это нормально)
  2. Измените лицензию GNU / GPL на MIT или BSD

Теперь у меня вопрос, как изменить лицензию проекта или как изменить лицензию на файлы библиотеки вроде Mysql connector.jar.

Поскольку мне нужна лицензия с открытым исходным кодом для исходного кода, поэтому мне нужно изменить библиотеки лицензий (используемые в проекте).

Ответы

17 MSalters Nov 20 2020 at 18:27

Вы не можете изменить лицензию кода от других, таких как mysql-connector-java. Эта лицензия устанавливается автором конкретного компонента (компанией Oracle).

Если ваш клиент сформулировал требование заранее, у вас есть проблема. Но в противном случае вы можете просто отклонить запрос и заявить, что это вне вашего контроля.

PS Использование термина «обязательство по раскрытию информации» в данном контексте предполагает, что клиент не понимает закона. Но если клиент специально назвал GPL в качестве примера запрещенных лицензий, прежде чем согласовать контракт, то неправильное использование термина «обязательство раскрытия информации» не делает контракт недействительным.

6 MartinSchröder Nov 21 2020 at 03:43

mysql-connector / j лицензирован Oracle как GPLv2, но имеет исключение FOSS . Если вы хотите распространять свое программное обеспечение как FOSS , вы можете выбрать любую лицензию, «одобренную OSI и / или классифицированную FSF как бесплатную». В противном случае вам придется использовать другую библиотеку или купить коммерческую лицензию у Oracle.

И вы не можете изменить лицензию, mysql-connector/jтак как вы не являетесь владельцем ее авторских прав (Oracle).

5 Noname Nov 20 2020 at 17:36

Здесь задействовано несколько стилей лицензирования;

  • Стиль лицензии в стиле MIT / BSD / Apache
  • GPL
  • LGPL
  • Коммерческий

Коннектор MySQL, если вы имеете в виду MySQL Connector / J, имеет двойную лицензию; Вы можете выбрать коммерческую лицензию (за это придется заплатить) или лицензию LGPL. Лицензирование - это то, что делают авторы продукта; вы не можете изменить лицензию. Если для выполнения поставленной задачи требуется определенная лицензия, вы спрашиваете авторов, предлагают ли они ее и сколько вам нужно заплатить, чтобы получить ее; если это слишком много для вашего кошелька или эта лицензия недоступна, ваше единственное средство на этом этапе - либо изменить требования, либо полностью удалить этот продукт из своей кодовой базы и, например, переключиться на PostgreSQL (другой движок БД) для пример.

Обратите внимание, что LGPL - это не то же самое, что GPL. Это больше похоже на лицензии MIT / BSD / Apache, чем на GPL, поэтому одним из выходов может быть просто спросить юристов вашего клиента, приемлемо ли LGPL.

На будущее всегда уточняйте у клиента, какие у него лицензионные ограничения. Например, если MIT / BSD / Apache - единственный способ, вы не можете использовать MySQL здесь. Период. MySQL не имеет такой лицензии, и Oracle (владелец MySQL) ее не предлагает. В этом случае вполне возможно, что коммерческой лицензии было бы достаточно (поэтому обязательно взимайте плату с клиента, чтобы учесть, что вам необходимо приобрести коммерческую лицензию). В качестве альтернативы примите во внимание, что вам нужно потратить некоторое время на изучение различных инструментов (таких как PostgreSQL, чья лицензия соответствует стилю MIT / BSD / Apache), и выставьте счет соответственно.

Если вам нужна дополнительная информация о том, совместим ли LGPL MySQL и MySQL Connector / J с потребностями вашего клиента, или что произойдет, если вы проигнорируете лицензию или письменные требования своего клиента, вам следует спросить юриста.

4 jlliagre Nov 21 2020 at 15:28

В соответствии с https://www.mysql.com/about/legal/licensing/oem/, вы можете использовать любую утвержденную лицензию с открытым исходным кодом для своего кода, даже если он использует библиотеку MySQL под лицензией GPL.

Лицензия, используемая последними версиями mysql-connector-java, описана здесь: https://oss.oracle.com/licenses/universal-foss-exception/

Вот отрывок из файла LICENSE, поставляемого с пакетом коннектора (выделено мной):

Информация о лицензировании Руководство пользователя

Коннектор MySQL / J 8.0 __________________________________________________________________

Это руководство пользователя с лицензионной информацией содержит лицензию на продукт Oracle и другую информацию о лицензировании, включая информацию о лицензировании стороннего программного обеспечения, которое может быть включено в этот дистрибутив MySQL Connector / J 8.0. Введение Последнее обновление: август 2020 г.

Информация о лицензировании

Это выпуск MySQL Connector / J 8.0, предоставленный вам командой MySQL в Oracle. Это программное обеспечение выпущено под версией 2 Стандартной общественной лицензии GNU (GPLv2), как указано ниже, со следующими дополнительными разрешениями :

Этот дистрибутив MySQL Connector / J 8.0 распространяется с определенным программным обеспечением, которое лицензируется на отдельных условиях, как указано в конкретном файле или компоненте или в документации по лицензии. Не ограничивая ваши права по GPLv2, авторы MySQL настоящим предоставляют вам дополнительное разрешение на связывание программы и ваших производных работ с отдельно лицензируемым программным обеспечением, которое они включили в программу.

Не ограничивая вышеизложенное предоставление прав по GPLv2 и дополнительных разрешений в отношении отдельно лицензируемого программного обеспечения, этот соединитель также подпадает под исключение Universal FOSS, версия 1.0 , копия которого воспроизводится ниже, а также может быть найдена вместе с часто задаваемыми вопросами поhttp://oss.oracle.com/licenses/universal-foss-exception.

Альтернативой является покупка коммерческой лицензии MySQL . Это позволит вам использовать проприетарную лицензию для собственного кода и, таким образом, вы можете оставить его неопубликованным.

Конечно, поскольку у вас нет кода и библиотек MySql, вы не имеете права изменять собственную лицензию.

Отказ от ответственности: я не юрист, и это не юридическая консультация; Я не утверждаю, что вышесказанное верно; не принимайте никаких бизнес-решений на основании того, что вы читаете от незнакомых людей в Интернете, включая меня