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

自己有想要开源的项目,但是不想被用来做与自己竞争的产品,如何原则开源协议,双重开源协议是用来干这个的吗?

  •  
  •   WildCat · 2015-02-13 16:52:12 +08:00 via iPhone · 4465 次点击
    这是一个创建于 3568 天前的主题,其中的信息可能已经有所发展或是发生改变。
    具体如何操作? LICENSE 文件怎么写?
    假设 MIT + 自己的一个额外限制协议
    17 条回复    2015-02-14 09:31:00 +08:00
    vzch
        1
    vzch  
       2015-02-13 17:17:22 +08:00 via iPhone   ❤️ 1
    协议其实是君子协定,要真想限制还是不要用 MIT 这个比较宽松
    vzch
        2
    vzch  
       2015-02-13 17:22:10 +08:00 via iPhone   ❤️ 1
    LICENSE 通常建项目或打包程序生成的直接用他的格式,我想自定义限制在生成基础上添加些关键词
    stanhou
        3
    stanhou  
       2015-02-13 17:24:00 +08:00   ❤️ 1
    既然你担心他做竞争产品,就禁止他商用,用CPAL协议。
    akfish
        4
    akfish  
       2015-02-13 17:41:19 +08:00   ❤️ 1
    开源和禁止商用是矛盾的概念,free software的free就包括商用,不允许商用就not free了。

    大多数开源license并不允许你区别授权,比如你不能说满足xxxx条件的人能以MIT协议获得授权,而其他人则是另外的协议。

    MIT,BSD,Apache这种协议不要考虑,太过宽松。那也就只有GPL协议可选了,因为大多数商业公司看到GPL就会恶心得吃不下饭(当然国内的流氓公司连屎都吃得下),所以如果你提供GPL以外的授权,他们肯定会欣然接受。

    另外还有一个细节就是要附带一个Contributor Agreement,后续所有的contributor需要书面签署CA,不然不要merge他们的代码。CA的作用是让你可以随时修改license乃至闭源,这样能获得凌驾于license的权利。当然,所有签署了CA的contributor也获得了联合版权,闭源后他们也能继续在CA限定范围内免费使用。Google,Apple等公司的开源项目,往往都有CA。

    需要注意的是,所有开源协议的法律强制效力,是需要版权所有者(即lz你)去强制实施的,你没有那个能力把人告到破产,就最好别开源。

    另外一个选择就是不开源,只提供商业版,但是允许非盈利用途免费使用。
    9hills
        5
    9hills  
       2015-02-13 17:43:07 +08:00   ❤️ 1
    双重协议不是 A与B,而是A或B
    所以别人只需要遵守你的MIT即可,无法做到任何限制。
    9hills
        6
    9hills  
       2015-02-13 17:44:41 +08:00   ❤️ 1
    GPL是可以区别授权的,开源的代码是GPL的。但是可以单独做商业授权,很方便。
    @akfish
    lingyired
        7
    lingyired  
       2015-02-13 17:45:29 +08:00
    @akfish 自由软件不等于开源软件
    akfish
        8
    akfish  
       2015-02-13 17:50:04 +08:00
    @lingyired OSI系的open source license认为free == open
    "Free software" and "open source software" are two terms for the same thing: software released under licenses that guarantee a certain, specific set of freedoms.
    http://opensource.org/faq#free-software

    用open一词是为了解决free一词在语义上的模糊,避免和free of money混淆。
    zeroten
        9
    zeroten  
       2015-02-13 17:58:43 +08:00
    @akfish 应该可以不用现成的协议,而自己写一个满足楼主的需求吧?
    lingyired
        10
    lingyired  
       2015-02-13 18:02:37 +08:00
    @akfish
    - -
    Richard Stallman 不这么认为呀。

    Why Open Source Misses the Point of Free Software https://www.gnu.org/philosophy/open-source-misses-the-point.html

    专访自由软件之父 http://tech.sina.com.cn/it/special/people/gnu/
    vzch
        11
    vzch  
       2015-02-13 18:03:43 +08:00 via iPhone
    @zeroten 现有著名协议都是精心拟定的,经过众多诉讼与口水的考验,自己些除非熟悉著作权的内容,否则很容易有漏洞可钻
    akfish
        12
    akfish  
       2015-02-13 18:04:59 +08:00
    @zeroten 可以是可以,但这种有法律效力的文书,最好找专业人士,这样又增加成本了。
    现有的开源协议是久经考验的,大公司实践N久了,基本上没有什么法律上的漏洞可钻,直接拿来用省时省力省钱。
    akfish
        13
    akfish  
       2015-02-13 18:10:25 +08:00
    @lingyired 那是GNU系的想法,意识形态之争你懂的。
    lingyired
        14
    lingyired  
       2015-02-13 18:10:47 +08:00
    @akfish 反正不关我事,哈哈
    breeswish
        15
    breeswish  
       2015-02-13 21:01:49 +08:00
    来一发 AGPL?
    chinafeng
        16
    chinafeng  
       2015-02-13 21:07:04 +08:00
    可防君子,无防小人
    jedihy
        17
    jedihy  
       2015-02-14 09:31:00 +08:00 via iPhone
    开源了就防不住了,别人根本不需要用你的代码,只要参考一下就能做一个跟你竞争
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1186 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:30 · PVG 02:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.