技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> 分析MySQL的授权许可

分析MySQL的授权许可

浏览:3200次  出处信息

MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可。MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节。

最近我在做一些ASP.NET+MySQL的应用,特地对MySQL的授权许可进行了研究。

(以下说明,如有错误,欢迎指正)

使用MySQL作为数据库的应用是否会“被GPL”

MySQL开源软件(包括MySQL社区版数据库服务器、驱动程序和链接库等)是在GPL许可下提供的。GPL(General Public License)是一种开源许可,其大概的内容是:只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品也必须采用GPL协议,即必须也开源。

应用程序是否也必须采用GPL进行开源,是由如何去使用MySQL决定的。如果把MySQL数据库内嵌到应用程序中,成为了应用程序内部的一部分,则整个应用程序都必须遵守GPL的规定。而对于大多数Web应用,数据库并不是跟应用程序绑在一起的,数据库跟应用程序是产品间相互协作的关系,这种情况就不在GPL的约束范围之内。

先别高兴地太早,即使应用程序跟MySQL是相互独立的,但要连接到MySQL,必须使用特定的驱动程序(Driver)或连接器(Connector),一般又将其统称为客户端类库。这些类库基本上是由MySQL在GPL许可下提供的,而且不可避免地会成为应用程序的一部分。这样一来,我们的应用程序还是会“被GPL”吗?事实上,MySQL还准备了一份专门针对客户端类库的《FOSS许可例外》,其大概内容是:只要应用程序中没有使用其他在GPL许可下的开源产品,那么此应用程序就可以采用“FOSS许可列表(包含MIT、BSD、LGPL等常用开源许可)”中的协议进行开源。但是,如果应用程序不是开源的,而且需要进行分发,就必须购买商业许可了。

另外,GPL只限制了对外分发的软件,也就是说,如果该软件只在内部使用,无论开源不开源都管不了你。

是否可以免费使用MySQL

根据MySQL官方的商业许可的相关说明,在两种情况下,可以免费使用MySQL:

  1. 应用程序是在GPL许可下发布的;

  2. 应用程序不用于分发。

非营利组织可以申请免费商业许可,但MySQL表示会carefully considered,估计这种申请不是那么容易通过的。

可见,是否可以免费使用MySQL跟用户是否商业组织没有太大关系,主要还是看产品是不是GPL的、是否分发。


建议继续学习:

  1. MySQL数据库在实际应用一些方面的介绍    (阅读:35182)
  2. 我对技术方向的一些反思    (阅读:9684)
  3. Using MySQL as a NoSQL    (阅读:5530)
  4. MySQL协议分析    (阅读:4456)
  5. 基于MySQL的高可用可扩展架构探讨    (阅读:3590)
  6. MySQL和MongoDB设计实例对比    (阅读:3506)
  7. Oracle or MySQL ?    (阅读:3263)
  8. cacti 增加 Mysql 监控    (阅读:3225)
  9. 不使用MySQL数据库的五个给力理由    (阅读:3129)
  10. 为 MySQL 增加 HTTP/REST 客户端:MySQL UDF 函数 mysql-udf-http 1.0 发布    (阅读:3040)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1