Non-GPL ADO.. NET提供程序

本文关键字:程序 NET ADO Non-GPL | 更新日期: 2023-09-27 18:17:54

是否有任何NON-GPL ADO。. NET提供程序:

这里有一个官方的
http://dev.mysql.com/downloads/connector/net
但不幸的是,它遵循GPL,而不是LGPL。

我正在开发一个抽象类的数据库访问。
我不在乎抽象层是不是GPL,
但如果它使用MySQL(我的意思是MySQL ADO)。. NET提供程序,而不是MySQL数据库本身)它将是GPL,因此,任何使用该层的应用程序,这是我不想要的……


哦,我知道nHibernate/Subsonic/otherorm,但它不适合我的需要。

ADO。. NET提供程序当然没有使用ODBC。

编辑/说明:
注意,我所说的"用于数据库访问的抽象类"并不是指编写我自己的通用ADO。净提供者。我的意思是围绕一组已经存在的ADO编写包装器类。净提供者。

Non-GPL ADO.. NET提供程序

我得到了完美的答案:

可以用System.Data.Odbc来绕过它。
你总是可以说,它是通用的ODBC,与MySQL没有特别的关系,很容易替换。
不管你在连接字符串中放了什么,都是你客户的问题。
如果您通过ODBC连接发送的SQL只能在MySQL/MariaDB中工作,这很遗憾-但没有法律问题;)

编辑- 2016更新:
你可以使用麻省理工学院许可的。net Core的MySqlConnector(它也适用于。net)https://github.com/mysql-net/MySqlConnector

有DevArt的ADO。. NET提供程序

http://www.devart.com/dotconnect/mysql/

不要再吞下微软的FUD了

这是由GPL v2涵盖的,因此,除非您打算修改所提供的代码并重新分发它(而不是将其与您自己的应用程序捆绑在一起),否则您唯一的限制是您需要声明该捆绑包包含GPL v2.0许可的代码并引用版权所有者(无论如何,您几乎总是需要对大多数商业许可软件这样做)。

但是如果它使用MySQL,它将是GPL

啊-不。你可以这样编程,它甚至不知道它连接到MySql。

  • 将所有抽象隔离到一个单独的程序集中。
  • 在这个(允许的)中实现你的专有接口。
  • 将mySql抽象分发为gpl.