1
xgdgsc 2015-03-06 23:50:54 +08:00
|
2
xgdgsc 2015-03-07 00:02:22 +08:00
|
3
n0th1ng OP 谢谢楼上两位
|
4
n0th1ng OP 是一位。。。
|
5
155 2015-03-07 14:25:22 +08:00
打包基于AGPL的mongod进你的闭源程序是不行的。
但是你写个文档教用户自己下载mongodb, 你的程序只调用基于MIT的mongo client library是可以的。 |
6
swordfeng 2015-03-07 15:19:15 +08:00
你可以做个自动下载安装mongod的脚本,在安装前提示用户要安装mongod并展示AGPL许可的内容
打包进去是不行的,但是下载脚本应该没问题 |
7
n0th1ng OP 到期行不行呢
|
8
n0th1ng OP 经过这几天的了解询问,我认为是可以的。10gen选择APGL的目的是要求对mongodb的更改必须回馈社区,而不是像google修改了mysq(GPL)那样自己爽。但10gen又做了解释,承认驱动(Apache)和你的客户端是单独的工作。所以,只要不更改mongod的源码,你可以任意的使用。
|
9
155 2015-03-09 17:41:21 +08:00
@n0th1ng Oracle给商业客户提供了OEM、ISV等付费授权用来绕过社区版的GPL, 如果只需要client library一环脱出去就行, 那只需要调用脱离官方的mysqlclient的一些类库, 比如MIT协议的pymysql和go-mysql-driver, 甚至还可以极小成本的通过二次链接LGPL的mariadbclient规避, 那Oracle这些东西还怎么卖? AGPL只比GPL更严.
|
10
n0th1ng OP @155 "To say this another way: if you modify the core database source code, the goal is that you have to contribute those modifications back to the community.
Note however that it is NOT required that applications using mongo be published. The copyleft applies only to the mongod and mongos database programs. This is why Mongo DB drivers are all licensed under an Apache license. You application, even though it talks to the database, is a separate program and “work”." 怎么理解 |
11
155 2015-03-09 22:23:15 +08:00 1
@n0th1ng 这两段和我的看法是一致的吧, mongod和mongos是AGPL的, 但是官方给了driver APACHE的协议用来隔离传染性, 所以只要你单纯的调用driver做db操作(纯GPL或者AGPL的程序, 即使你不包含, 但是你把调用这个程序实现一些应用作为必选项, 你也会被污染, 所以用了"even though it talks to the database")实现a separate program是完全没问题的, (再回到第一段), 除非你改了mongod或者mongos, 那你就需要贡献出来了. 但问题是你想打包mongod是主动引入污染了, 谈不上a separate program.
我是觉的这操作没什么争议, mongo的做法是官方把driver APACHE了做隔离, mysql是做了FOSS豁免, 对用户来说都差不多, 但是Oracle写得很明白, 你要想打包mysqld又不想被GPL污染得去买OEM等一些额外的授权. AGPL只比GPL更严. |