MongoDB 的协议问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
n0th1ng
V2EX    MongoDB

MongoDB 的协议问题

  •  
  •   n0th1ng 2015-03-06 23:39:13 +08:00 4491 次点击
    这是一个创建于 3937 天前的主题,其中的信息可能已经有所发展或是发生改变。
    打算做一个商业的客户端软件,数据库打算用sqlite或者MongoDB,发现MongoDB使用的是AGPL,那我能把mongod.exe打包到我的商业软件里并销售吗?
    12 条回复    2015-03-10 22:29:53 +08:00
    n0th1ng
        3
    n0th1ng  
    OP
       2015-03-07 07:57:22 +08:00
    谢谢楼上两位
    n0th1ng
        4
    n0th1ng  
    OP
       2015-03-07 07:58:17 +08:00
    是一位。。。
    155
        5
    155  
       2015-03-07 14:25:22 +08:00
    打包基于AGPL的mongod进你的闭源程序是不行的。

    但是你写个文档教用户自己下载mongodb, 你的程序只调用基于MIT的mongo client library是可以的。
    swordfeng
        6
    swordfeng  
       2015-03-07 15:19:15 +08:00
    你可以做个自动下载安装mongod的脚本,在安装前提示用户要安装mongod并展示AGPL许可的内容
    打包进去是不行的,但是下载脚本应该没问题
    n0th1ng
        7
    n0th1ng  
    OP
       2015-03-08 22:12:51 +08:00
    到期行不行呢
    n0th1ng
        8
    n0th1ng  
    OP
       2015-03-09 00:29:20 +08:00
    经过这几天的了解询问,我认为是可以的。10gen选择APGL的目的是要求对mongodb的更改必须回馈社区,而不是像google修改了mysq(GPL)那样自己爽。但10gen又做了解释,承认驱动(Apache)和你的客户端是单独的工作。所以,只要不更改mongod的源码,你可以任意的使用。
    155
        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更严.
    n0th1ng
        10
    n0th1ng  
    OP
       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
        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更严.
    n0th1ng
        12
    n0th1ng  
    OP
       2015-03-10 22:29:53 +08:00
    @155 谢谢解读
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5167 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:36 PVG 15:36 LAX 23:36 JFK 02:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86