V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
panamera
V2EX  ›  程序员

请教 MPL 2.0 授权协议

  •  
  •   panamera · 2018-01-22 11:52:17 +08:00 · 6011 次点击
    这是一个创建于 2279 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mozilla 公共许可协议 2.0 版 的 3.2 中提到,以可执行文件形式发布时:

    这样的适用软件必须同时以源代码形式提供,按第 3.1 条所述,您必须及时告知可执行形式的接受者如何通过合理的方式获得该源代码形式的副本,并且费用收取不超过因发布给接受者而产生的费用;

    有篇对 MPL 授权解释的文章提到:

    MPL 虽然要求对于经 MPL 许可证发布的源代码的修改也要以 MPL 许可证的方式再许可出来,以保证其他人可以在 MPL 的条款下共享源代码。但是,在 MPL 许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着 MPL 允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以 MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用 MPL 许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个 豁口。

    这段话的意思是不是 可以将 MPL 协议的源码封装成库供调用,因为没有类似 GPL 的传染性,所以只开源调用接口部分就行了 ?

    如果 MPL 协议部分的源码是一个完整可执行程序,我只想增加功能,怎样才能遵守协议并将我增加的部分闭源呢?将我增加的部分封装成二进制的动静态库后放到源码中不开源是不是违反了 MPL 协议?或者自己写个可执行程序,调用 MPL 部分的业务逻辑才不算违反协议?

    1 条回复    2018-01-22 22:23:15 +08:00
    no1xsyzy
        1
    no1xsyzy  
       2018-01-22 22:23:15 +08:00
    MPL 我记得比 LGPL 还松
    如果封装动态库是肯定没问题的

    还记得哪里说是按文件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2778 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.