V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MonoLogueChi
V2EX  ›  问与答

问个关于开源协议的问题

  •  1
     
  •   MonoLogueChi · 2019-01-01 00:45:35 +08:00 via Android · 1921 次点击
    这是一个创建于 2159 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是关于 Apache License 2.0 协议的一个问题

    为了保护涉及到的作者,我先暂时用软件 A 和 B 代替

    有个开源软件 A,开源协议是 Apache License 2.0, 需要使用命令行操作,然后某个开发者开发了一款软件 B,用 VB 把软件 A 封装起来,有了 gui 界面,软件 B 并非开源软件,但是是免费的。

    我看了软件 B 的一些发布动态,在在第一个版本 1.0 的介绍了提了一下基于软件 A,并感谢,项目链接也没有,然后就没了。

    后面软件 B 发布动态丝毫没有提到过软件 A,然后发布的二进制文件里,也丝毫没有提到软件 A,看介绍只有一个有 @2018 软件 B 开发者 studio.All Rights Reserved,捐赠也有软件 B 作者。

    我想问一下这种情况是不是违反了 A 的开源协议,我也不太清楚 Apache License 2.0 协议,但好像是哪里用了其他人的源码,就要说明并附上协议,是这样吧。

    我现在已经提醒了一下软件 B 的作者,但是他还没有回我,其实我还是挺佩服软件 B 的开发者的,出发点是好的,也不想把事情弄大。

    我也想问一下,在其他项目里,有没有那种开发者死也不遵守开源协议的,最后结果怎么样了?

    10 条回复    2019-01-01 12:04:30 +08:00
    chinvo
        1
    chinvo  
       2019-01-01 00:52:10 +08:00
    Apache、MIT 必须明确说明

    http://choosealicense.online/licenses/apache-2.0/
    http://choosealicense.online/licenses/mit/

    http://choosealicense.online/licenses/
    MonoLogueChi
        2
    MonoLogueChi  
    OP
       2019-01-01 01:01:30 +08:00 via Android
    @chinvo 那样的话,软件 B 具体要怎么做才是符合要求的,发布的只有一个 exe 单文件,要在这个 exe 文件里明确说明使用了 A,还要有其他的吗?
    虽然我自己也多多少少写过一点东西,但是对这些协议具体要怎么弄还真不太了解
    chinvo
        3
    chinvo  
       2019-01-01 01:24:52 +08:00
    @MonoLogueChi #2 是的,B 要在关于或者什么地方明确写明用了软件 A,并且至少附上 “ Apache License ” 字样
    janus77
        4
    janus77  
       2019-01-01 02:12:24 +08:00 via iPhone
    不知道 B 是不是包含了 A 的代码
    根据你说的,GUI 我可以认为只是一种对操作的简化而不是对功能的开发,所以这个 GUI 应该就是他自己的版权
    widewing
        5
    widewing  
       2019-01-01 02:25:39 +08:00 via Android
    那要看他发型的包里有没有包含 A 的程序吧
    chinvo
        6
    chinvo  
       2019-01-01 03:06:10 +08:00
    @janus77 #4 不只是代码,包含二进制也需要声明

    当然,如果不提供 A 的二进制,而是让用户自己下载,就不需要了
    MonoLogueChi
        7
    MonoLogueChi  
    OP
       2019-01-01 08:23:02 +08:00 via Android
    @janus77 @widewing 是 B 给 A 套了一层皮,至于用的 A 是 A 作者发布的二进制文件,还得 B 作者自己编译的二进制文件,这个就不清楚了,我也没仔细研究过,不过从任务管理器里看,肯定是直接把 A 软件封在了 B 软件里,用的时候解压出来,然后通过 cmd 命令调用。
    msg7086
        8
    msg7086  
       2019-01-01 08:25:31 +08:00
    @MonoLogueChi 最简单的做法,附上一个说明文件,里面写明本软件使用了软件 A,软件 A 基于 Apache 许可证分发,下面附上 Apache 许可证的内容或者网络上的拷贝地址,就可以了。
    MonoLogueChi
        9
    MonoLogueChi  
    OP
       2019-01-01 08:26:37 +08:00 via Android
    @janus77 @widewing 可能没说清楚,B 软件在使用时会释放出 A 的二进制文件,
    并不是 B 软件仅仅是 A 的一个 gui 辅助,还需要用户再去另外下载 A
    ryd994
        10
    ryd994  
       2019-01-01 12:04:30 +08:00 via Android
    既然包含 A 的二进制,那就属于再分发了
    需要有明确的标注
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5430 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:53 · PVG 14:53 · LAX 22:53 · JFK 01:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.