Поставщик ADO.NET, не являющийся GPL для MySQL?

Есть ли какой-либо поставщик NON-GPL ADO.NET для MySQL?

Существует официальный здесь
http://dev.mysql.com/downloads/connector/net
но, к сожалению, это под GPL, а не LGPL.

Я разрабатываю абстрактный класс для доступа к базе данных.
Мне все равно, будет ли слой абстракции GPL,
но если он использует MySQL (я имею в виду поставщика ADO.NET MySQL, а не базу данных MySQL), это будет GPL, и, таким образом, любое приложение, которое использует этот уровень, чего я не хочу...




О, и я знаю о nHibernate/Subsonic/otherORMs, но это не соответствует моим потребностям.

Поставщик ADO.NET не использует ODBC, конечно.

Изменить/уточнить:
Обратите внимание, что под "абстрактным классом для доступа к базе данных" я не хочу писать собственный универсальный поставщик ADO.NET. Я имею в виду написать класс оболочки вокруг набора уже существующих поставщиков ADO.NET.

Ответ 1

Я получил отличный ответ:

Можно использовать System.Data.Odbc, чтобы обойти его.
Вы всегда можете сказать, что это общий ODBC, не имеет ничего общего с MySQL, легко заменяемым.
И все, что вы вкладываете в строку соединения, - это проблема ваших клиентов.
Если SQL, который вы отправляете по ODBC-соединению, работает только в MySQL/MariaDB, это прискорбно - но без правовой проблемы;)

Изменить - Обновление 2016:
Вы можете использовать MIT-лицензированный MySqlConnector для .NET Core (который также работает для .NET) https://github.com/mysql-net/MySqlConnector

Ответ 3

Остановите проглатывание Microsoft FUD.

Таким образом, это распространяется на v2 GPL, если вы не намерены изменять поставляемый код и перераспределять его (в отличие от связывания его с вашим собственным приложением), ваш единственный ограничивается тем, что вам нужно указать, что пакет включает GPL v2.0 лицензионный код и ссылку на владельца авторских прав (который вы почти всегда должны делать с большинством коммерчески лицензированных программ в любом случае).

Ответ 4

но если он использует MySQL, это будет GPL

А - нет. Вы можете запрограммировать его так, как он даже не знает, что он подключается к MySql.

  • Изолируйте все абстракции в отдельную сборку.
  • Реализуйте свои вспомогательные интерфейсы в этом (разрешенном).
  • Распределите абстракцию mySql как gpl.

Готово.