5

分析MySQL的授权许可

 3 years ago
source link: https://blogread.cn/it/article/3695?f=hot1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

分析MySQL的授权许可

浏览:2659次  出处信息

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的、是否分发。

建议继续学习:

QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK