Подключение к MySQL в Java без необходимости использовать GPL - PullRequest
2 голосов
/ 27 июля 2011

Я пишу часть программного обеспечения на Java, которое необходимо подключить к онлайн-базе данных, чтобы собрать некоторую информацию! Я хочу продавать это программное обеспечение под своей компанией, но проблема в том, что Oracle лицензировала драйвер JDBC под лицензией GPL, что, я правильно понимаю, означает, что я не могу перераспределить драйвер каким-либо образом, помимо других ограничений!

Единственная альтернатива, которую я вижу, - это использовать PostgreSQL, поскольку, насколько мне известно, драйвер лицензирован под BSD, а это значит, что вы можете делать с ним все, что вам нравится. Но я говорил с моим веб-хостом, JustHost , и они в основном сказали, что они не поддерживают PostgreSQL и не планируют этого, поэтому, если я захочу разместить с ними базу данных PostgreSQL, мне придется заплатить за выделенный сервер, довольно грубо могу добавить. Тем не менее, они были весьма честны, и они сказали, что будет дешевле перейти на другую хостинговую компанию, которая поддерживает PostgreSQL!

В крайнем случае, я мог бы просто использовать простой текстовый файл для передачи информации. Но мое единственное беспокойство здесь - это безопасность. Часть информации, хранящейся в базе данных, является конфиденциальной, ну, на самом деле, наиболее конфиденциальными являются данные о лицензионных ключах и, возможно, электронные письма. Это очевидно, когда я проверяю лицензионный ключ пользователя при первом использовании. Возможно, это не так небезопасно, я просто подумал, что людям будет очень легко отредактировать файл в соответствии с его потребностями и т. Д.

Я действительно думал, что какой-то php-скрипт для предоставления запрашиваемой информации из текстового файла, с которым Java будет взаимодействовать, может быть более безопасным, но, опять же, я не эксперт по безопасности, поэтому я не знаю, особенно учитывая как будто я использую общий хост и не плачу за «https»!

Так что, в принципе, я хотел бы знать, что бы вы сделали, учитывая мою ситуацию, пожалуйста. Вы сталкивались с этой дилеммой раньше? Если так, что ты делаешь? Что бы вы порекомендовали? и т.д.

Ответы [ 4 ]

6 голосов
/ 28 августа 2013

Вы можете использовать драйвер JDBC MariaDB для связи с сервером MySQL. Это LGPL вместо GPL.

3 голосов
/ 27 июля 2011

Вы можете продать свое программное обеспечение и просто указать базу данных / драйвер в качестве требования для установки.

Включить его в свою документацию и проделанную работу.

GPL не означает, что проприетарноеПрограммное обеспечение не может говорить с этим.Это обязательное условие, а не часть вашего программного обеспечения.

См. Также аналогичный вопрос:

Лицензирование MySQL и GPL


Обновление

Также обратите внимание, что с вашего клиента можно даже взимать плату за предоставление услуги при установке библиотеки.Это позволяет ему составлять часть вашего счета, и клиенту не нужно устанавливать его самостоятельно.

2 голосов
/ 27 июля 2011

Не уверен, какой бит GPL, по вашему мнению, исключает дословное распространение? Из краткого прочтения я вижу:

  1. Вы можете копировать и распространять Программу (или произведение на ее основе, в соответствии с разделом 2) в объектном коде или исполняемой форме в соответствии с условиями Разделы 1 и 2 выше, при условии, что вы также выполните одно из следующих действий:

    а) Сопровождайте его полным соответствующим машиночитаемым исходный код, который должен распространяться в соответствии с условиями разделов 1 и 2 выше на носителе, обычно используемом для обмена программным обеспечением; или

    б) сопроводите его письменным предложением, действительным не менее трех лет, чтобы дать любой третьей стороне, за плату не более вашей стоимости физически работающий источник, полный машиночитаемый копия соответствующего исходного кода, подлежащая распространению в рамках условия разделов 1 и 2 выше на носителе, обычно используемом для обмен программным обеспечением; или

    в) Сопоставьте его с информацией, полученной вами в отношении предложения распространять соответствующий исходный код. (Эта альтернатива разрешена только для некоммерческого распространения и только если вы получили программа в объектном коде или исполняемой форме с таким предложением, в в соответствии с подразделом b выше.)

http://www.gnu.org/licenses/gpl-2.0.html

2 голосов
/ 27 июля 2011

А как насчет небольшого серверного приложения, которое предоставляет веб-сервисы для передачи данных?Тогда только этому серверному приложению действительно понадобится драйвер JDBC.

Редактировать: Для веб-служб посмотрите JAX-WS (вот справочная реализация java.net ).

Используя веб-сервисы, вы можете зашифровать данные, используя встроенную библиотеку шифрования Java, передать зашифрованную дату и расшифровать на клиенте.Кроме того, вы можете перенести некоторый хеш (например, MD5) для данных, чтобы убедиться, что они не были изменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...