很多人都不理解MySQL的授权方式,主要原因是没有中文资料别无其他!我不想嘲笑谁,但是我认为有必要搞清楚这一重要的因素。国际官司我们已经吃亏太多了,我不想这变成笑柄。
当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议。如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。否则,你需要购买MySQLAB制定的那个商业许可协议。这里最重要的一点就是要想免费使用MySQL,你所开发的软件必须是遵循GPL的自由(开源)软件,虽然被批准的自由(开源)许可协议有很多个。
理清授权管辖的范围
MySQL是一套客户端/服务器(C/S)结构的系统。双重许可机制对两大块同时进行约束,但是并不绝对。MySQL AB(MySQL的出品公司)考虑到便于人们使用,客户端是完全遵循GPL许可。也就是说,在事实上MySQL的双重许可机制这一双重的特点是对服务器端而言的。我想,我恐怕会把一些人搞糊涂,这里所说的客户端指的是MySQL AB开发的那个命令行下的客户端工具(mysql.exe)。
不同操作系统下是否有特殊的限制?
在当前可以说没有,如果有只是MySQL具体代码实现上的功能差异,许可协议本身是没有特定区分的。在早期MySQL确实对微软/非微软操作系统进行过特定的区分,在那时如果要获得Windows平台最新的MySQL,你必须付费购买,现在已经不同了。
Windows版本是否受到限制?
刚才已经说过了,现在没有这种区分,唯一的差异是不同操作系统下的具体实现造成的。当前,你可以随意获得最新的Windows版本分发。他们是没有功能、时间限制的。当然,你应该遵循许可协议。
以教育为目的是否需要付费?
其实没有这个区分,主要的取决还是软件是否遵循GPL进行发布。当然,如果只是用来做课堂教学是不用购买商业许可协议,这种情况下MySQL遵循GPL许可协议。
我该买几个许可证?
MySQL的许可证按照计算机台数计算,一台机器一个。至于一台机器多个操作系统的情况下该购买几个许可证这种龌鹾问题别问我,我不知道!许可证和技术支持的关系?!技术支持和许可证是不同的东西。虽然很多的软件会把它们搭配销售,但是实际上应该有单独签署一份技术支持保障协议。具体的时限和价格我不清楚。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)MySQL API的授权
MySQL客户端API遵循GPL协议,其中所包含的GNU getopt 遵循LGPL,并且一些地方用到的regexp库则遵循BSD许可协议。
更多的信息
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)强烈建议去看看手册中MySQL许可协议的相关授权章节,里边写的非常详细。