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

关于 GPL v3 协议的一些疑问

  •  1
     
  •   lizhien · 2022-10-25 22:48:42 +08:00 · 2048 次点击
    这是一个创建于 752 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前写了一个 php 程序,之前想着让别人二开之后也要开源
    简单看了一下那个选协议的图,所以就用的 GPLv3 (该用 AGPL 的)
    今天研究了一下,现在发现 GPL 局限性也大啊
    我写的要死,别人拿我的二开了,自己用的话,什么事情也没有
    然后也能卖,卖出去了也只要给他的用户提供源代码就行了
    php 本身就是拿源码运行就不说了,就算是类似 go 可以编译成二进制的
    也能跟用户协定,给用户程序,让用户放弃得到源代码的权利
    我所知道的最严格的就是 AGPL ,只要能访问就需要提供源代码 ☹️
    有没有禁止出售、禁止商业的,二开后必须发布源代码的
    我看 discuz 是自己写的协议,我这种要求的也需要自己写协议了吧,真是吐血,改协议也没啥用了
    不知道我对于 GPL 协议的理解对不对,有错误烦请指出
    第 1 条附言  ·  2022-10-26 13:33:03 +08:00

    感谢各位的回答,别人要拿去卖是没办法,找律师也就算了,也没几个钱,我还是有自信写的比他好的
    我也从下方链接得到一些认识
    感觉还是APL比较适合,要拿去卖也随便了

    AGPL 可以说是对 GPL 的一次“查漏补缺”。AGPL 继承了 GPL 所有条款,并在此基础上增加了一条:如果其许可下的软件与用户通过网络进行交互,那么就需要提供源代码给用户,所有的修改也同样要提供给用户。

    Commons Clause 不是开源协议,明令禁止商业:“许可证授予的权利不包括、并且不授予您销售软件的权利。

    11 条回复    2022-10-26 14:51:15 +08:00
    paopjian
        1
    paopjian  
       2022-10-25 22:52:12 +08:00
    开源协议不都是君子协定吗?
    riotdandy
        2
    riotdandy  
       2022-10-25 23:10:24 +08:00
    GPL 和大部分开源协议是为了保障软件用户可以访问代码啊,不是为了禁止商用...
    云端的代码,如果要保证衍生版也都开源用 AGPL 吧,但也不会禁止商用
    swulling
        3
    swulling  
       2022-10-25 23:13:42 +08:00 via iPhone
    你的诉求应该是非商业使用吧,用 CC 非商用禁止演绎协议即可。
    lizhien
        4
    lizhien  
    OP
       2022-10-25 23:19:20 +08:00
    @riotdandy 嗯,我知道开源协议不能禁止商业,我只是想让二开的也开源,放`github`什么的,给我提`pull request`那自然更好
    主要是那家伙,没有提过是二开我的,版权什么的全给删掉了,然后再“卖”
    wu67
        5
    wu67  
       2022-10-26 00:00:11 +08:00
    这种情况没办法. 反正现在也没法律明确约束, 就算有, 管不管还是另一回事. 违反的成本太低了.

    个人看法, 目前的环境下, 开源就是默认别人可以白嫖, 不加任何协议, 这玩意只约束君子、管不动小人, 你可以主张你保留所有权利, 仅开放源代码. 或者仅开放基础功能, 要完善等别人联系你.
    learningman
        6
    learningman  
       2022-10-26 01:04:58 +08:00
    你写一万条,人家不遵守你也没啥好办法。
    huntzhan
        7
    huntzhan  
       2022-10-26 01:09:31 +08:00
    > 主要是那家伙,没有提过是二开我的,版权什么的全给删掉了,然后再“卖”

    已经违反 GPL-3 了,如果你想要维权,建议尽早找律师固定证据起诉
    pocarisweat
        8
    pocarisweat  
       2022-10-26 01:13:44 +08:00
    GPL 本身倒不禁止商业行为,甚至也只是说软件的用户有权得到源码,并且不得禁止用户二次发行。但它去掉了你的许可证声明这个属于侵权行为了。
    hsfzxjy
        9
    hsfzxjy  
       2022-10-26 01:36:33 +08:00 via Android   ❤️ 1
    libook
        10
    libook  
       2022-10-26 10:58:00 +08:00   ❤️ 1
    GPL 的缺点在于很复杂,很多使用者也不清楚协议细节都有哪些;优点在于有最大的机构背书,机构已经把其中的逻辑性啃得很透彻、严密了,在法律支持开源协议的地区,极大概率可以维权成功。

    开源协议不阻止商业行为,但是开源的要求可能不利于商业行为,比如必须向获得二进制的客户提供源代码,那么获得源代码的客户可以自由得二次出售且不需要额外付钱给商家。所以通常 GPL 的软件盈利都不是卖代码本身,而是靠服务、植入广告、强制捐助(用户自己拿到源代码可以去掉捐助逻辑,但是会很麻烦)等。

    CC 貌似不适用于软件,而且有些条款与 GPL 是矛盾的。

    你可以找一个比较宽松的、符合自己大体要求的非 Copyleft 的许可证,以保证代码有一定的自由;同时可以追加一些限制代码使用的条款,比如如果修改或使用这些代码必须在 GitHub 、GitLab 、SourceForge 、Gitee (注意不要加“等”模糊范围)中任选一个或多个平台公开源代码。同时确保自己持有代码的版权和专利,跟源代码一起附带一份 EULA ,写明用户不得将代码用于哪些商业行为。
    不过这样一来别人就不愿意用你的代码了,会有一定的知识产权风险。

    细想的话,题主想要的其实是跟开放、自由相矛盾的,既然选择开源就意味着放弃了个人利益,虽然会有人拿你的代码赚钱,但任何人都可以拿你的代码赚钱,这不影响代码本身的传播和开放。
    FrankHB
        11
    FrankHB  
       2022-10-26 14:51:15 +08:00
    @paopjian 愿意当什么协定其实无关紧要;奇怪的是,有的人没许可证的豁免,有多大本事硬扛版权法默认条款和刑法的铁拳呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:29 · PVG 04:29 · LAX 12:29 · JFK 15:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.