Как изменить лицензию проекта Java с GNU / GPL на MIT / BSD / Apache
Я разработал приложение Java, которое подключено к MySQL Workbench с помощью mysql-connector-java-8.0.21.jarфайла. Когда я развертываю проект и отправляю исходный код клиенту, он говорит, что:
- В лицензии не должно быть лицензионного GNU / GPL / Unspecified с обязательством раскрытия информации (наличие MIT / BSD / Apache без обязательства раскрытия информации - это нормально)
- Измените лицензию GNU / GPL на MIT или BSD
Теперь у меня вопрос, как изменить лицензию проекта или как изменить лицензию на файлы библиотеки вроде Mysql connector.jar.
Поскольку мне нужна лицензия с открытым исходным кодом для исходного кода, поэтому мне нужно изменить библиотеки лицензий (используемые в проекте).
Ответы
Вы не можете изменить лицензию кода от других, таких как mysql-connector-java. Эта лицензия устанавливается автором конкретного компонента (компанией Oracle).
Если ваш клиент сформулировал требование заранее, у вас есть проблема. Но в противном случае вы можете просто отклонить запрос и заявить, что это вне вашего контроля.
PS Использование термина «обязательство по раскрытию информации» в данном контексте предполагает, что клиент не понимает закона. Но если клиент специально назвал GPL в качестве примера запрещенных лицензий, прежде чем согласовать контракт, то неправильное использование термина «обязательство раскрытия информации» не делает контракт недействительным.
mysql-connector / j лицензирован Oracle как GPLv2, но имеет исключение FOSS . Если вы хотите распространять свое программное обеспечение как FOSS , вы можете выбрать любую лицензию, «одобренную OSI и / или классифицированную FSF как бесплатную». В противном случае вам придется использовать другую библиотеку или купить коммерческую лицензию у Oracle.
И вы не можете изменить лицензию, mysql-connector/jтак как вы не являетесь владельцем ее авторских прав (Oracle).
Здесь задействовано несколько стилей лицензирования;
- Стиль лицензии в стиле 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 с потребностями вашего клиента, или что произойдет, если вы проигнорируете лицензию или письменные требования своего клиента, вам следует спросить юриста.
В соответствии с 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, вы не имеете права изменять собственную лицензию.
Отказ от ответственности: я не юрист, и это не юридическая консультация; Я не утверждаю, что вышесказанное верно; не принимайте никаких бизнес-решений на основании того, что вы читаете от незнакомых людей в Интернете, включая меня