Я должен должен быть выпустить свое приложение, если я включаю MySQL Connector/J (GPL) как часть моего пакета?

Я использую MySQL Connector/J (лицензия GPL) и связываю банку как часть моего распределения.

Таким образом, я должен должен быть выпустить свое приложение под GPL также?

6
задан Howard 12 July 2010 в 15:09
поделиться

1 ответ

Это всегда было предметом споров и путаницы. Этому не способствует позиция MySQL AB, которая обычно советует вам приобрести коммерческую лицензию для того, что вы делаете (освобождая вас от требований GPL), вместо того, чтобы объяснять свое понимание того, в каких обстоятельствах GPL позволяет работать без него. (Что ж, я полагаю, они вряд ли захотят тратить много времени на то, чтобы отстаивать свои права на продажу.)

Насколько я понимаю, проблема заключается в том, что, хотя GPL четко определена и широко понимается в сценарии «связывания» в традиционной модели C (, например, ), она менее - так что для интерпретируемых языков, таких как Java, где коммуникация и выбор между компонентами - это плавный вопрос времени выполнения. Можно ли утверждать, что размещение .jar в вашей папке распространения - это «простая агрегация» на носителе, в отличие от «коллективной работы» в соответствии с условиями раздела 2 GPLv2? ​​

hnnnnmm ... ну, может быть. Хотите представить этот аргумент в суде? Сомнительно.

Не обращая внимания на проблему интерпретации буквы GPL (поскольку я не юрист), дух намерений GPL можно выразить следующим образом: является ли Connector / J зависимостью, которую вы включаете в свой пакет, или это отдельный компонент, который конечный пользователь может выбрать для установки, а затем сам подключиться к вашему пакету?

Если вы не хотите лицензировать свой пакет как GPL или покупать коммерческую лицензию для поддержки MySQL, затем убедитесь, что последнее действительно так: не связывайте MySQL или Connector с вашим пакетом более плотно, чем просто размещайте отдельные установщики на одном диске. Не делайте установщик, который запускает оба.

Лучшее: убедитесь, что ваше программное обеспечение может работать с несколькими различными серверными модулями баз данных, позволяя пользователю выбирать, с чем он будет его использовать. В любом случае это хорошее дело; код, специфичный для базы данных - отстой.Кроме того, если вы хотите предоставить установщик в один щелчок, который включает базу данных и настраивает их вместе, вы всегда можете использовать его с лицензией, которая разрешает это, например PostgreSQL или SQLite.

[Я предполагаю, что здесь вы говорите о коммерческом пакете, а не о программе с открытым исходным кодом, которую вы просто хотите сделать доступной под другой лицензией, чем GPL. В этом случае см. Файл EXCEPTIONS-CONNECTOR-J , чтобы узнать о лицензиях, которые вы также можете использовать в качестве исключений FOSS .]

11
ответ дан 8 December 2019 в 15:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: