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