为什么说下载的MySQL不能商用
撰写本文大概是第4次专门就MySQL授权进行探讨。我本不太希望过多的谈论这些问题,以免阻碍我国信息产业的发展。毕竟国内空前的大环境是一群使用盗版开发工具的人在为保护自己的利益丝毫不知疲倦的呐喊。
整个事件的起因在于新站help2u.org上我提到了下载版的MySQL不能商用并强调了是因为下载版遵循GPL。我并不认为这种说法存在任何问题,但是有些人却并不认同我想有比较继续讨论下。我并不是法律方面的专业人士,但是我习惯先去了解某些法律方面的问题。在本文以下所提到的仅是我的个人观点,您喜欢的话可以作为一个参考,不喜欢的话大可当作一个笑话。阅读本文是轻松的,但法律事务本身则是非常严肃的事情。
让我们来看看MySQL网站上所提到的授权方式、历史事件以及捆绑MySQL的软件(主要是操作系统)都作了些什么。
我们可以访问 [url]http://www.mysql.com/products/licensing.html[/url] 获得MySQL Licensing Policy(MySQL授权政策)任何略懂英文的人都可以发现一点,MySQL鼓励任何人和机构在开放源代码应用(不仅局限于软件开发*)中使MySQL的,对于将MySQL用于开源/自由应用的人们来说可以依照GPL自由使用MySQL,唯一要做的就是记得同样以GPL公开你的代码。因为MySQL AB既是一个商业公司,同时也是一个自由软件开发团队(注:MySQL AB是美国自由软件基金会的企业成员),所以才有了这么一个独特的授权协议(我个人感觉这有点两极化)。我推荐大家阅读MySQL Licensing Policy正是因为此文对MySQL何时适用GPL授权,何时适用商业授权进行了官方解释(并不是司法解释!)。
[*:应用指任何的开发软件程序、系统、相关工具或者辅助增强组件等。]
在读授权政策时我发现了一个问题,虽然上边提到MySQL AB认可的OSI(开放源代码)协议,但是真的能否全盘适用我表示怀疑。目前完整的MySQL包含有GPL授权的第三方类库,而GPL的最大特点在于继承性,GPL发行的软件子子孙孙均需要继承GPL协议。想来想去还是一个GPL最合用,因为GPL也是OSI认证的授权协议之一!( OSI相关信息:[url]http://www.opensource.org/licenses[/url] )
还有一个问题在于如何区分适用群体,显然这篇文章并不是也不可能仅仅针对软件开发人员或者机构,实实在在的也会涉及到普通用户。我们无可否认很多MySQL用户是间接的,他们购买或使用了第三方设计的应用而成为了MySQL用户,这些间接用户很明显也是要受MySQL授权协议约束的。阅读了一、二部分我们可以得出一个结论,那就是我们的应用和行为在遵循GPL的前提下,我们可以依照GPL按照自己的意愿使用、修改、复制MySQL拷贝。
文章第三部分是讲商业授权应该在怎样的情况下购买。首先你个人或你公司在项目中使用了MySQL服务器或开发库(编程接口)(也称驱动程序,odbc、jdbc、c api...等等),并且你不希望依照GPL公开您所实现的应用的代码又或者你认为GPL协议无法带给你足够的信心那么请选择商业授权。文档中3.4提到,很多人选择商业授权是因为GPL中规定开发者不用承担任何责任所以选择了有保证的商业授权。毕竟对于那些MySQL商业使用者来说没有足够的保障是无法带给他们自身以及他们的客户的信心的,没有信心自然也不可能得到任何一方客户的信任。
或许我的这篇文章会被平常百姓或者慈善家、学者们看到(有点不好意思呢。)他们或许会有疑问,自己应该处理MySQL授权?政策第四部分就是针对平常百姓以及慈善家、学者的。MySQL推荐非营利机构/学术机构以GPL发布自己的成果,依照GPL自由使用MySQL的权利,如果非常厌恶GPL方式授权的MySQL那么也可以购买商业授权。个人(私人用户,不是个体户哦!!)如果保证不分发自己的程序/代码或者对MySQL的修改等等,那么可以自由使用MySQL。第四条还提到了一个要注意的地方,演示软件同样也要受到MySQL授权的限制,并不能因为那仅是一个演示就可以得到特别优待。第五部分则是应该选择GPL还是选择商业授权的总结和建议,有兴趣的可以自己阅读。特别说句话,写共享软件的个人也别用MySQL,因为你不是私人用户而且你也要牵扯到对外分发,总之这条路不可行。
读完了政策其实并不能说了解了授权协议,因为我们应该注意到这些是写给基于/搞MySQL研发的机构/个人的,而对于那些纯粹的使用者却提的不是很明确,这方面可以参考新版的MySQL手册以及联络MySQL AB,他们很乐于帮助用户解决关于授权上的问题。
好了,我们讲完了第一个部分,现行的授权政策。现在开始第二个部分,这一部分则是谈谈一些历史上发生的事情,这和我们考量如何选购MySQL或者MySQL产品是非常的重要。
MySQL为什么产生很多朋友都知道了这里就不提了。我们说一下授权的变化,结合我们的实际我们从新到旧的说。MySQL的授权是几经变化,目前流传的MySQL中文参考手册中提到的授权政策应该说是上一代授权政策。上一代授权政策的特点在于区分微软、非微软操作系统,对于微软操作系统则仅有商业授权,并且出于试用目的隔很长时间会发布一个30天共享版(**);对于非微软操作系统用户则很大度可以选择GPL也可以选择商业授权,具体做法如同本文前部分所提到的。
[**:共享版本程序代码中不存在任何时间、功能限制。完全通过当时的授权协议约束。]
在这两个新旧政策之间比较重要的一点就是c api授权的变化。 当时旧的c api 遵循LGPL协议因而可以被包在任意许可软件中而这些软件无需公开代码,现在调整到了GPL状态则必须公开代码。这种策略变化受到影响最受瞩目的应该是php。php 4.x的集成MySQL模块不存在法律问题,但是由于MySQL正在逐渐发展,早期LGPL授权下的MySQL C API库虽然依照LGPL仍然可以合法使用但是由于无法跟上MySQL 4.1.X 甚至是5.X新特性的发展php 5之后将使用新版MySQL C API同时改为外部模块以避免被GPL牵制而更改PHP本身的许可协议。其它接口,例如ODBC使用MySQL C API开发,而JDBC(MM.MYSQL的作者挑的大梁)虽然是JAVA重新写的驱动,但是它们同样也受到GPL许可协议限制,并且MySQL AB撰写的某些驱动还是商业踉质并不免费分发(这没关系,网络上大把GPL 发布的驱动呢!)。如果你不希望以GPL授权使用MySQL接口库,那么可以联络MySQL AB商谈一个你认为满意的授权方案。
再早就是商业/免费,纯商业授权,私有产品,我想不用提了和我们已经没什么关系了,我并不是一个喜欢陶醉在历史中的人,哈哈!
很多人会问FreeBSD、RedHat Linux之类的操作系统为什么可以包含MySQL呢?这个问题我是在FreeBSD参考手册上找到答案的。FreeBSD其实也包含很多的GNU[***]软件,但是由于这些软件的授权特性与FreeBSD所使用的BSD授权完全不兼容,因此这些软件都没有作为默认安装组件。安装时,用户根据自己实际情况选择是否安装这些组件,这样一来法律问题完全转嫁于用户身上,FreeBSD开发组则无需为这些琐碎事情烦恼,FreeBSD本身没有用到任何GNU代码,只是提供一些GNU软件供你选择而已。无可否认,很多的GNU软件比BSD软件优秀的多呢!这样想来RedHat(所包含的MySQL遵循GPL发布)之类的做法也可以被理解了,或许这就是触类旁通吧。不过这里提到的MySQL也好,GNU自由软件也好他们仍然是依照GPL(/LGPL)协议发放。比如你可以随便非法下载了具有合法版权的私有软件并安装使用,但这并不表示你有了合法授权,侵权仍然是侵权。所以说呢,判断侵权与否用户行为起主要决定因素。
[***:多为GPL软件,LGPL也占有一部分,但是没GPL的多。]
对于开发者的建议。如果希望通过GPL贩卖软件本身获取商业利益由于许可协议本身的限制恐怕是不可能的,即便你做了收益也微乎其微。自由软件世界同比较流行的做法是贩卖服务以及盒装软件(包含商业踉质的手册或者其他小赠品之类的)、纸板手册等等“附加”产业。其实商机这个东西完全要考把握,GPL就存在非常明显的商机,大家可以阅读下GPL,上边明确开发者不用承担任何的责任,这就是说可以单独的签署商业踉质的技术支持,维护、安装调试、等等等等外加协议,还能贩卖一些T恤,茶杯之类的纪念性质的商品…… 反正也能赚钱,只是别从软件私有上下功夫了!最后还有,如果你为MySQL编写udf那么基本上有人买你的函数你就能赚钱,因为udf可以做到完全不需要调用任何受GPL所限制的东西。
我不知道大家是否真的注意到,公开下载版MySQL是GPL分发,不是GPL与商业分发 2 in 1 !现在还有人觉得对本文提到的“下载版的MySQL不能商用并强调了是因为下载版循GPL”有异议吗?mail to: HeartIcy at 163 dot com.
posted on 2005-04-04 16:57
飞天猪 阅读(1139)
评论(0) 编辑 收藏 所属分类:
法律关注