MongoDB 的协议问题

2015-03-06 23:39:13 +08:00
 n0th1ng
打算做一个商业的客户端软件,数据库打算用sqlite或者MongoDB,发现MongoDB使用的是AGPL,那我能把mongod.exe打包到我的商业软件里并销售吗?
4192 次点击
所在节点    MongoDB
12 条回复
xgdgsc
2015-03-06 23:50:54 +08:00
xgdgsc
2015-03-07 00:02:22 +08:00
n0th1ng
2015-03-07 07:57:22 +08:00
谢谢楼上两位
n0th1ng
2015-03-07 07:58:17 +08:00
是一位。。。
155
2015-03-07 14:25:22 +08:00
打包基于AGPL的mongod进你的闭源程序是不行的。

但是你写个文档教用户自己下载mongodb, 你的程序只调用基于MIT的mongo client library是可以的。
swordfeng
2015-03-07 15:19:15 +08:00
你可以做个自动下载安装mongod的脚本,在安装前提示用户要安装mongod并展示AGPL许可的内容
打包进去是不行的,但是下载脚本应该没问题
n0th1ng
2015-03-08 22:12:51 +08:00
到期行不行呢
n0th1ng
2015-03-09 00:29:20 +08:00
经过这几天的了解询问,我认为是可以的。10gen选择APGL的目的是要求对mongodb的更改必须回馈社区,而不是像google修改了mysq(GPL)那样自己爽。但10gen又做了解释,承认驱动(Apache)和你的客户端是单独的工作。所以,只要不更改mongod的源码,你可以任意的使用。
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更严.
n0th1ng
2015-03-09 21:18:01 +08:00
@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”." 怎么理解
155
2015-03-09 22:23:15 +08:00
@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更严.
n0th1ng
2015-03-10 22:29:53 +08:00
@155 谢谢解读

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175044

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX