Github 上的 license 声明能否进行一些特别的定制 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
maxxfire
V2EX    程序员

Github 上的 license 声明能否进行一些特别的定制

  •  
  •   maxxfire 2020-06-16 09:19:43 +08:00 4549 次点击
    这是一个创建于 2009 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如在 github 上开了一个开源代码的项目,如果别人将该项目(或集成在自己项目中)用于:

    1. 用于非商业用途时,完全免费使用,无任何约束。
    2. 用于商业用途时,以下 2 种任选一种:
    a,如果用户数超过 1 万以上,则收取 1 元*用户数。
    b,如果盈利超过 1 万元,则收取 赢利*2%

    有没有这样类似的 license 玩法?
    27 条回复    2021-03-04 10:18:28 +08:00
    LokiSharp
        1
    LokiSharp  
       2020-06-16 09:24:13 +08:00 via iPhone
    可以定制,但是不一定有效,评估合法的协议才有效
    harde
        2
    harde  
       2020-06-16 09:26:15 +08:00
    那直接写 非商业使用 MIT 协议,商业使用,单独购买商业授权,结了呗。。。
    maxxfire
        3
    maxxfire  
    OP
       2020-06-16 09:33:55 +08:00
    @harde 这种东西人家只是看看,根本不当回事。比如之前 ffmpeg 耻辱柱,大厂也是照样用。
    Exin
        4
    Exin  
       2020-06-16 09:50:13 +08:00
    开源协议在事实上更接近于道德约束,而资本逐利,不重视道德
    Exin
        5
    Exin  
       2020-06-16 09:51:03 +08:00
    当然了,协议还是要写的,万一控诉成功经济自由了呢?
    GreenDam
        6
    GreenDam  
       2020-06-16 10:23:18 +08:00
    注意法律效力
    Ariver
        7
    Ariver  
      &nsp;2020-06-16 10:41:41 +08:00
    参见几年前沸沸扬扬的 react 协议事件。
    zpf124
        8
    zpf124  
       2020-06-16 10:47:18 +08:00
    有你这种需求的都是发行俩版本,代码一模一样就是包含的 license 不一样。

    包含开源 license 的版本限制禁止商业使用。
    msg7086
        9
    msg7086  
       2020-06-16 10:49:59 +08:00   1
    @harde 规定了非商业使用就不是 MIT 了,MIT 本身就授予了在商业使用环境下的权利。

    @maxxfire 可以的,不仅是定制,甚至可以完全从头编写。当然,你修改后的协议和原始的协议是截然不同的,不能用原来的协议作为名称了。

    比如 MIT 协议是允许商业环境随意使用。你往里加了几个字,说商业环境要付费,那么这个协议就不再是 MIT 协议了。你可以给它起名字叫 maxxfire 许可证。

    当然了,写协议最好还是有律师来审核一下,保证效力。

    另外,修改后显然就不是开源 /自由软件了,不能以开源 /自由软件自称了。开源 /自由软件的用户本来就有用于商业用途的自由。
    nightwitch
        10
    nightwitch  
       2020-06-16 11:01:28 +08:00
    参考 Qt, LGPL 和商用双协议
    no1xsyzy
        11
    no1xsyzy  
       2020-06-16 15:03:08 +08:00
    @maxxfire #0 自写 License 就不是开源项目。必须被 OSI 确认的 License 才能算开源项目。开源是专有名词而非术语,其定义严格地被 OSI 掌握。可以考虑某 charts 的协议,以 CC BY-NC-SA 和 商业授权。两种方式发布。商业授权需要单独谈判。
    但值得指出的是,非商业使用本身是难以界定的。一篇文章被转载到 NPO 挂了广告的网站上可能被视作商业使用,而被新闻机构转载并付费墙可能被视为非商业使用。
    @harde #2 不符合 MIT 许可证,因为 MIT 许可证明确允许商业使用;操作上也不具有可行性,因为 MIT 允许中间人转代。比如甲公司可以在路上随便找一个人让他接受 MIT 许可证并获得此软件的一个副本,然后非商业地共享给甲公司使用,成功绕过 “非商业使用” 限制。
    @Exin #4 已经有判例了。 #5 但还是不如找个律师帮你写。法律文书让律师写,就好像软件代码让程序员写一样。
    no1xsyzy
        12
    no1xsyzy  
       2020-06-16 15:05:37 +08:00
    @LokiSharp #1 @harde #2 @Exin #4 @Ariver #7 @msg7086 #9 @nightwitch #10
    再重申一次,许可证不是协议。协议可以被部分接受而绕过,而许可证不行。如果 GPL 是协议的话你今天可以看到一堆 gcc 的私人化仅释放二进制文件的修改了。
    LokiSharp
        13
    LokiSharp  
       2020-06-16 15:36:33 +08:00
    @no1xsyzy #11 其实吧,这些开源许可都是虚的,他们都没规定必须在公共领域开源。即使是商业使用,也只需要在发行的二进制副本的时候附上源码就好了。
    msg7086
        14
    msg7086  
       2020-06-16 15:38:35 +08:00
    @no1xsyzy 许可证是一种合同。合同和协议的含义几乎相同。许可证怎么就变成不是协议了。
    协议是什么时候开始可以被部分接受而绕过了?
    几乎所有的商业软件都有 EULA 最终用户许可协议,他们都可以被部分接受而绕过?
    我没看明白这个论点是从哪里来的。
    msg7086
        15
    msg7086  
       2020-06-16 15:41:03 +08:00
    @LokiSharp 开源 /自由是指人们在获取软件的时候有获取源代码并处分的自由,怎么就成虚的了……
    no1xsyzy
        16
    no1xsyzy  
       2020-06-16 15:42:40 +08:00
    @LokiSharp #13 是没要求公开,连 GPL 都没要求,甚至 GPL 并没有明确要求 “同时附带源码”,可以书面承诺将来提供源码,此书面承诺向 “任何获得此软件的副本的自然人或法律实体” 生效。
    但这并不意味着这是虚的,因为任何得到源码副本的人都被明确允许把它任意形式公开,最终表现为实质公开。
    no1xsyzy
        17
    no1xsyzy  
       2020-06-16 15:54:08 +08:00
    @msg7086 #14 在与当地法律冲突的情况下,合同(按现存各国合同法)的默认处理方式是冲突条款失效剩余部分继续生效。每个 EULA 都应当对当地进行重新编写,或者限定生效地,实际上也是这么操作的。一个比较常见的绕过点是 “教育目的” 避风港。还有新闻出版自由这一避风港,都是常见的绕过版权法的尝试,即使最终法院判决是侵权,仍然,避风港的存在确实增加了维权的成本。
    而许可证在与当地法律冲突情况下,根据 TRIPS 公约,默认整个许可证失效。

    实际操作上,绕过的办法就是成立一个国家,并且设立与合同相违背的法律,或者在现存国家设置与合同相违背的法律,就可以绕过了。因此,合同必然明确指定参与方,通常指定生效地,而许可证为成为公共许可证,必然无法指定参与方,最多进行一些条件限定,那可玩的就多了。
    LokiSharp
        18
    LokiSharp  
       2020-06-16 16:18:21 +08:00
    @no1xsyzy #16 是啊,GPL 只是规定了发行时要附带源码,而在内部使用的情况下,副本的受众是自身,只需要对自身开源。而就算是因为发行时没有附带源码被起诉,也没有惩罚性的违约条款,只需要在宣判后开源即可。而且大多数情况下只需要承诺开源就会免于起诉,丢一份早期的源码然后承诺会维护即可。
    msg7086
        19
    msg7086  
       2020-06-16 16:19:51 +08:00
    @no1xsyzy 原来你拓展到其他国家了。
    我想着中国法律框架下应该是没什么区别的。
    msg7086
        20
    msg7086  
       2020-06-16 16:22:17 +08:00
    @LokiSharp GPL 本来就不要求内部使用时公开源代码啊。
    GPL 是获得软件的人有获得源代码的自由。既然公众没有获得软件,哪来获得源代码的自由呢。
    LokiSharp
        21
    LokiSharp  
       2020-06-16 16:39:17 +08:00
    @no1xsyzy @msg7086 嘛,协议主要是看违约条款的,没有违约条款的协议,都只是道德层面的约束。
    gnemux
        22
    gnemux  
       2020-06-16 17:06:17 +08:00
    TransAM
        23
    TransAM  
       2020-06-17 15:31:58 +08:00 via Android
    我的做法是只签不允许商业的协议,然后商业用户都懂,他会找你私聊。

    不要一刀切规定定个商业协议,你要学会价格歧视,差别定价。
    TransAM
        24
    TransAM  
       2020-06-17 15:33:48 +08:00 via Android
    @msg7086 是这样的,如果一个项目有两个协议,可以只选一个。无论是一个商业一个非商业,还是两个都是非商业。

    如果一个是 eula 另一个是 mit 或者 gpl 什么的,用户有权选择合适的那个。
    TransAM
        25
    TransAM  
       2020-06-17 15:34:17 +08:00 via Android
    @no1xsyzy 谁告诉你 osi 。认可的协议才是协议?没见过世面?
    no1xsyzy
        26
    no1xsyzy  
       2020-06-17 15:42:20 +08:00
    @TransAM #25 ? OSI 认可的许可证才是 “开源” 许可证,其他的只不过是一般的许可证,甚至存在理论上的可能性是自由许可证却不是开源许可证。
    这是别人定义、别人控制、别人一言堂的 “标准”,你没有办法反抗的,就像是说 “一流企业卖标准”。
    0bit
        27
    0bit  
       2021-03-04 10:18:28 +08:00
    可以考虑使用 BSL 协议,该协议可以自定义部分要求
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3602 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 10:29 PVG 18:29 LAX 02:29 JFK 05:29
    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