Компании SkySQL и Monty Program
анонсировали релиз альтернативной свободной клиентской библиотеки для взаимодействия приложений с MariaDB и MySQL. Библиотека доступна в вариантах для языков Си и Java (JDBC). В отличие от поставляемой компанией Oracle базовой интерфейсной библиотеки для MySQL, которая распространяется под лицензией GPL, для новой библиотеки выбрана лицензия LGPL, что даёт возможность связывания с закрытыми проектами.
Изначально клиентские библиотеки MySQL распространялись под лицензией LGPL, но начиная с выпуска MySQL 4.0 код был перелицензирован и стал поставляться под лицензией GPL, что привело к ограничению в использовании бесплатной интерфейсной библиотеки MySQL в проприетарных проектах. Оставалась возможность использования ранее поставляемой версии из состава MySQL 3.23, но старая библиотека содержит только минимум необходимых функций и не может выступать полноценным аналогом современной стандартной библиотеки. Отныне данное ограничение устранено и разработчики проприетарных продуктов получили возможность использования полноценного клиентского интерфейса без необходимости приобретения коммерческой лицензии у компании Oracle.
Представленная альтернативная библиотека обеспечивает полную бинарную совместимость с текущей клиентской библиотекой для MySQL и поддерживает почти все доступные в данной библиотеке функции, включая использование подготовленных выражений (prepared statement) и подключаемую аутентификацию (pluggable authentication). Для использования новой библиотеки достаточно перелинковать приложение без необходимости перекомпиляции исходных текстов. Из ограничений реализации отмечается отсутствие поддержки асинхронного интерфейса и динамических столбцов. В процессе реализации проекта часть кода была заимствована из развиваемого сообществом PHP расширения mysqlnd.
|