player4
Attitude is everything. (qq: 99891400, msn: pgf00a@hotmail.com, email: pgf00a@gmail.com)
<<  网页版浏览器和地址栏,欢迎共同讨论 | 首页 | 独自等待——实习经验总结  >>
2009-02-07
mysql的协议,自由与开源  -   技巧

前两天研究一下mysql的授权协议,迷惑,迷惑,很迷惑

说是GPL和商业协议双选,但是却没有明确的说明,什么时候,怎样用,才必须要商业。(尤其是client端的)其中:服务器是双重协议,客户端是GPL;客户端的协议似乎受其连接的服务器的协议影响,如果服务器是商业的,则客户端可不受GPL约束(此点不确定)

看了mysql官网的论坛里一些“官方人士”的回答,很官话的回答。(倒是看到了很多一针见血的问题:_))

留下我的一些研究所得(主要是当自己不想开源时,怎样可以免费用,比较俗了),希望对大家有所帮助:
1 服务器端,如果不修改其代码,不分发它,只是自己用,无需商业协议
   example:
        自己加一个网站(这个网站可以是盈利的),或者公司内部用,都可以免费用,因为我们是“用户”
2 客户端(指各种用来连接mysql服务器的连接库,且是mysql提供的)由于需要把mysql连接库和你的程序连接(link),所以你的代码受到GPL的约束,需要开源
   有两种情况无需开源:
        A 你使用的是JDBC或者ODBC之类的标准接口,且你用的SQL语句也是标准的;这样,也就是说,你的程序并没有要求必须使用mysql数据库,此时可以不受GPL约束
        B 使用诸如PHP等一些特殊的,经由mysql允许的东西做的程序。好像叫做开源例外... (就是说,php写的程序可以闭源)

我的实情:
我要写一个c#的不开源的,使用mysql作为数据库的程序,又不想花钱。
服务器,这个好说,我只是使用,没关系。
客户端,由于官方的客户端是GPL的,我要么用ODBC写标准的程序,要么去寻找一个不是GPL的客户端(或者自己写一个)

看来,客户端成了大问题!
或者,我不用mysql的,经过一番研究,另有两个数据库映入眼帘:
PostgreSQL和FireBird,他们的协议都不排斥闭源

-------------------------------
小结一下
1 mysql的协议复杂,想免费,又想闭源,难啊
2 另有其他替代方案,也许更好
3 GPL果然强大,这就是“自由软件”和“开源软件”的区别了。由于种种问题,我们能否真正的做到“自由”,真正让它成为我们的信仰,仍需考虑啊!毕竟,比尔先生带来的“卖闭源代码”很有诱惑
4 mysql居然同时有两个协议,是不是有违“自由”的精神了?

-------------------------------
法律部分:
这只是我的个人看法,对由它带来的一切后果,我不负任何责任。
欢迎指正,共同进步





pgf 发表于 00:11:05  |  引用_0  |  编辑
评论

发表评论
 姓名 
 邮件 
 地址