Поставщик 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
Ответ 2
Существует поставщик DevArt ADO.NET для MySQL
http://www.devart.com/dotconnect/mysql/
Ответ 3
Остановите проглатывание Microsoft FUD.
Таким образом, это распространяется на v2 GPL, если вы не намерены изменять поставляемый код и перераспределять его (в отличие от связывания его с вашим собственным приложением), ваш единственный ограничивается тем, что вам нужно указать, что пакет включает GPL v2.0 лицензионный код и ссылку на владельца авторских прав (который вы почти всегда должны делать с большинством коммерчески лицензированных программ в любом случае).
Ответ 4
но если он использует MySQL, это будет GPL
А - нет. Вы можете запрограммировать его так, как он даже не знает, что он подключается к MySql.
- Изолируйте все абстракции в отдельную сборку.
- Реализуйте свои вспомогательные интерфейсы в этом (разрешенном).
- Распределите абстракцию mySql как gpl.
Готово.