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

想开源又想有专利保护,选择哪个开源协议合适呢?

  •  
  •   JarvisTang ·
    jarvis-tang · 69 天前 · 7049 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我策划了一个开源软件,虽然是一款开源产品,但是开发者生态和终端市场应用有着非常大的商业前景,为了保护开源生态的可持续发展,避免相似竞品的出现,我申请了 6 个发明专利。

    我的目的是:

    • 对于使用者,免费使用,不限用途,包括商业项目使用;
    • 对于开发者,只能通过 Pull Requests 方式参与主程序开发,不能演绎其他版本的主程序;但是不影响开发扩展插件,或者商业化运营扩展插件;
    • 对于竞争者,如果开发出功能原理一样或者相似的产品,无论使用哪种编程语言,无论是自托管部署或者 SaaS 模式,都要受到专利限制。

    基于这个目的,我选择哪个开源协议比较适合呢?

    或者谁知道哪家律师事务所或者律师,是懂开源协议的?

    感谢大家帮我参谋参谋。

    97 条回复    2021-07-19 11:21:27 +08:00
    JarvisTang
        1
    JarvisTang   69 天前
    我前段时间发过帖子,可能是当时描述不清楚,所以没得到满意答案。

    最近因为专利下来了,开发也收尾了,这个月底要发布了,所以最后困惑的问题就是开源协议的选择了。
    emeab
        2
    emeab   69 天前
    MIT 协议
    emeab
        3
    emeab   69 天前
    想更严格一点 MPL 也可以.
    janxin
        4
    janxin   69 天前
    只说第三点,如果是使用了开源流行的授权,一般是明确允许或者默认允许专利使用授权的。

    如果需要通过专利维权,则需要像 MongoDB 或者 Elastic 这样自己定制开源授权协议。

    当然上面的内容仅限于基于你的代码实现的商业模式,如果是另外的编程语言,则根据你专利的保护范围确定,跟开源授权协议无关。
    yuk1no
        5
    yuk1no   69 天前 via iPhone
    这个能规避楼主提到的第三点吗? Clean_room_design
    dfkjgklfdjg
        6
    dfkjgklfdjg   69 天前
    有一个 ![协议选择的图片]( https://mediumcn.com/assets/images/opensource-licenses/licenses.jpg) 来着,你可以看看。

    我自己是用 [CreativeCommons.org]( https://creativecommons.org/choose/) 来判断适用那种许可协议,
    也可以用这个 [License Selector]( https://ufal.github.io/public-license-selector/)
    nuance2ex
        7
    nuance2ex   69 天前
    可以使用一个开源协议,然后再出一个自制协议。自制协议的性质类似于补充协议,可以对开源协议的内容进行限制。在中国环境下,尤其要重视竞争者的滥用,例如,竞争者拿你们的项目,就换个名字,为他人做商业开发。

    By .超越律师🚀
    Trim21
        8
    Trim21   69 天前 via Android   ❤️ 2
    你可以只公开源代码不开源…
    nuance2ex
        9
    nuance2ex   69 天前
    之前我写过一篇文章关于 GPL 和开源商业化,供了解。如果需要进一步沟通的话,可以加我 jonathan-nuance 。
    https://www.law-think.com/p/2021-05-23-gpl/

    By .超越律师🚀
    NSAgold
        10
    NSAgold   69 天前 via Android   ❤️ 2
    不存在符合你要求的开源许可证,因为要求 2 与开源冲突。
    源代码修改与再分发受限,与开源的定义违背,故这不是一个开源项目,没有可供选择的开源许可证 。
    wms
        11
    wms   69 天前   ❤️ 19
    又想借助社区的开源的力量来完善自己的产品,又不允许别人用你的代码. 这不就是想别人免费给你打工,还有这等好事的协议?
    ericgui
        12
    ericgui   69 天前   ❤️ 2
    你找网友要免费的建议,来保护你 6 个可能有巨大商业价值的专利。。。。。。。

    你不应该是找律师嘛
    WeiRin
        13
    WeiRin   69 天前 via Android
    可能 MPL 比较接近
    JarvisTang
        14
    JarvisTang   69 天前   ❤️ 2
    @wms 汗啊,没看我描述吗?免费使用,不限用途,包括商业项目使用。指责不能张嘴就来啊,谁说我限制别人使用了?我只是限制别人竞争,你拿代码做商业项目也是被允许的。
    因为我是小团队在开发,我也没指望开源社区会贡献多少代码。腾讯也在做这个方向,如果我不保护,别人资源比我大,立马做大了,我这个开源软件不就死了。
    JarvisTang
        15
    JarvisTang   69 天前
    @ericgui 汗啊,没看我描述吗?找一个懂开源协议的律师太难了,谁有认识的律师也可以介绍给我,我愿意付律师费的。看清楚了,主帖的倒数第二行内容!!!
    zzzmode
        16
    zzzmode   69 天前
    PolyForm Shield License
    Showfom
        17
    Showfom   69 天前 via iPhone   ❤️ 4
    @JarvisTang 我倒,你是 GG 还是 MM ?
    threebr
        18
    threebr   69 天前
    第二点我其实没懂,别人可以私有 fork,然后私下改动主程序,然后用于商业项目吗?
    wms
        19
    wms   69 天前
    @JarvisTang 免费使用,不限用途,包括商业项目使用, 并且开放代码不等于开源. 开源不等于免费或者限制商用
    wms
        20
    wms   69 天前
    @JarvisTang 如果你是怕被抄, 就上 GPL,上了 GPL,别人想用就必须也得 GPL.
    3dwelcome
        21
    3dwelcome   69 天前
    那么你插件 SDK 相关代码开源就可以了,主程序不用开源,就和 utool 一样。

    个人靠协议和专利来限制竞争对手,听起来总觉得不那么靠谱呢。
    lshero
        22
    lshero   69 天前
    @wms discuz 当年不就这么壮大的吗
    NSAgold
        23
    NSAgold   69 天前 via Android   ❤️ 12
    再说两句吧
    提供源代码≠开源
    不开源=闭源
    开源(开放源代码)的要求之一是允许对代码的更改,演绎,自由再发行。( https://opensource.org/osd
    你的目的 2 不允许开发者演绎与自由再发行,所以这不是一个开源软件,因此没有可用的开源许可证。
    所以 @wms #11 说的很对,你想要的只是提供源代码找免费苦力而非去做一个开源软件。你想做的只是一个提供源代码以供开发者修改的闭源软件而已。
    shynome
        24
    shynome   69 天前 via Android
    自有协议补充,可参考 https://github.com/dgraph-io/dgraph/blob/master/LICENSE.md
    开发者贡献必须签署协议确认,让其允许贡献的代码可以让你们在非开源的版本中使用
    ryh
        25
    ryh   69 天前
    学 Facebook 啊,之前的协议都是修改过的带专利声明的 BSD (现在改成 MIT 了)
    https://opensource.org/licenses/BSDplusPatent
    monkeyNik
        26
    monkeyNik   69 天前
    自有协议吧。不过只要知道你功能,就有人能仿。一般软件技术专利也难防住同类竞品,因为主要都是看源码相似度。真要从功能上做限制而不看源码的话,那技术专利早就被垄断的没法看了。
    stimw
        27
    stimw   69 天前
    看下来感觉就不应该开源...
    出自制协议有约束力么...就国内来看基本没有
    JarvisTang
        28
    JarvisTang   69 天前 via iPhone
    @lshero 看来你是骨灰级网民了,当年 Discuz 就是基于别人的开源软件分发成自己的,然后做得比原主还大,变相的把原主干死了。
    JarvisTang
        29
    JarvisTang   69 天前 via iPhone
    @threebr 正如我上一条说说的 Discuz 故事,我申请专利其实是怕别人再分发我的代码,然后他自己再做一个生态,最后把我逼死。
    我是为了保护自己的开发者生态,所以在使用上是没有限制的,包括商业使用。
    NSAgold
        30
    NSAgold   69 天前
    @JarvisTang #29 如果是这个目的建议不要打着开源软件的旗号了,自己找律师制定一个自有的授权协议。因为所有的开源协议都要求允许再分发。
    xrr2016
        31
    xrr2016   69 天前
    @JarvisTang 那干嘛还要开源,多此一举啊
    linhongye
        32
    linhongye   69 天前
    首先要明白为什么要开源.
    是追梦, 还是做广告?
    如果我理解没错的话, lz 是希望通过开源形成广告效益...
    但是, 其实开源带来不了多少流量...
    与其花心思折腾开源, 还要养一帮子人管理开源社区, 以及产品开源发布维护等等.
    不如把这个钱拿来多请几个销售...
    JarvisTang
        33
    JarvisTang   69 天前 via iPhone
    @linhongye 是追梦,不做广告,已财富自由。
    Mithril
        34
    Mithril   69 天前
    你应该为你的专利部分做一个补充协议。
    没有开源协议支持你的#2 的,所以你可以选择一个没有专利授权的协议,然后在补充协议里说明专利授权仅限使用你这个商标的产品。
    然后把你的产品注册商标。
    如果你的产品核心在于这几个专利的话,那么这样做实际上是限制了开源协议中的再分发。
    你一定要开放源代码又要有保护的话可以这么做,不过你这何必开源呢。。。
    JarvisTang
        35
    JarvisTang   69 天前 via iPhone
    @linhongye 我分享过文章(两百多篇)、书籍(电子版和纸质版)、技能卡(五组共 35 张产品技能卡片)、视频课(三套)、WordPress 主题模板(四个)等等,但是一直缺少一个完整产品方案的分享(开源软件),所以自己多年来一直想做。我出于兴趣所以开发了开源软件,我不缺赚钱项目,也不指望开源软件赚钱。申请专利就花了十多万,我的目标是避免抄袭竞争。
    Jirajine
        36
    Jirajine   69 天前 via Android
    AGPL+商业授权
    icyalala
        37
    icyalala   69 天前
    可以参考 MongoDB 的 SSPL 那样,起一个新的 License,但可能无法通过 OSI 认证,
    只能叫 Source-available software,不能叫 Open-source software.
    最后一条 "竞品开发类似产品" 只能从专利上去限制了。
    h404bi
        38
    h404bi   69 天前
    不缺钱,请找律师定制私有协议。
    示例: https://gitee.com/Discuz/DiscuzX/blob/master/LICENSE#L27

    P.S. 这不是开源协议,过不了 OSI 认证,顶多只是个 EULA 。
    FS1P7dJz
        39
    FS1P7dJz   69 天前
    从你需求的 3 点来说...没有需要开源的理由啊...

    使用者可以直接使用 Binary,开发者既然只能用 pull requests,那么需要的是开发文档,也并不需要你的源代码,何况你还让别人编译其他版本,更不需要源代码了

    专利这个和开源更没有关系了,专利是专利,开源是开源.但是有一点提醒你,专利实在太容易绕过了,条条大路通罗马

    你直接参考几个大厂使用协议和开发者协议就差不多了
    libook
        40
    libook   69 天前   ❤️ 4
    软件作者有权利在软件中包含一份 License,说明软件使用者的权利和义务,这个可以按照自己的意愿写的,但最终软件作者行使保护知识产权的权利的时候,是要在法院里进行的,评判用户究竟是否违反了 License 的前提是,License 的内容详尽、自洽、合法。

    所以让 License 好用,这是个极其需要法律专业性的工作。

    那么很多人不具备这个条件,于是有些组织就公益性地做了一些通用 License,就像是合同模板,任何人只要照着原样直接引用,License 创作团队背书,而且用得人越多,积累法律案例就越多,在有判例制度的国家就越好用。

    所以这个思路应该是:
    1. 先看自己希望赋予软件使用者什么权利,以及希望软件使用者履行什么义务;
    2. 看是否有现成的、经过法律验证的通用 License 可以直接拿来用;
    3. 没有的话自己尝试写一个 License 。

    自己写的 License,包括在通用 License 基础上扩展或修改的 License,都没有背书的,而且以往判例可能也不再具有参考性,完全看自己写得怎么样。

    回到题主的目的上:
    第一条,所有商业友好的通用 License 都可以考虑,比如 LGPL 、MIT 、BSD 、Apache License 2.0 ;
    第二条,核心是希望只在一个代码版本库中维护,但跟第一条一起就限定死了必须原样使用软件,不能自行修改,否则不可避免地需要开另一个代码版本库,也就违反了第一条规定。所以这一条其实是禁止用户自行修改代码,但对开发扩展无限制。
    第三条,一个核心问题是如何在 License 中准确详尽地描述“竞争者”的定义,定义不清要么就变成了“任何人都可能是竞争者”,要么就被认为无效条款。其实这一条不需要包含在 License 中,你只需要在 License 中说明原作者保留所有相关专利权就行了。

    换一个思路,其实这种程度下来,可以发现其实差不多可以认为是非开放软件了,作者保留一切权利但公开源代码,所以也可以考虑:
    1. 本软件归作者 XXX 所有。
    2. 作者保留本软件的一切专利。
    3. 任何人可以按原样免费使用、不限用途,包括商业目的。
    4. 任何人可以为此软件贡献代码,但被接受的代码均归项目原作者所有(这时候要注意不能接受那些贡献者不享有版权的代码)。
    5. 任何人可以为此软件开发扩展,且扩展的开发者保留扩展的所有权利。

    竞争者那个可以不在 License 里写,因为 License 里已经说明作者保留专利了,打“竞争者”仅靠专利保护的相关法律就够,不需要额外写 License 条款。但这里有个逻辑 Bug,就是“对于使用者,免费使用,不限用途,包括商业项目使用”这里面的“使用者”究竟包含不包含“竞争者”,如何用文字来划分清楚,以及足够在法庭上有说服力,这个需要题主好好思考。
    biguokang
        41
    biguokang   69 天前
    在我印象中,在软件开源协议这方面,貌似在中国没法律效力吧,举个例子很多开源项目都有 996 License,但是国内仍然一堆 996 公司使用了这个开源项目,也没见过哪个公司被告侵权了。。
    lysS
        42
    lysS   69 天前
    不建议开源,就算别人用你的代码发布同样功能的应用,你也找不到证据
    ayase252
        43
    ayase252   69 天前
    不是源代码能够给能看就叫开源
    linhongye
        44
    linhongye   69 天前
    @JarvisTang #35
    那可以参考安卓的做法.
    如果开源了, 实际上不能阻止别人重新发布.
    但是你可以把里面某些重要功能闭源.
    如果对产品有信心, 闭源的部分也能让别人留在你的开源项目中, 而不去别人的
    zhoujinjing09
        45
    zhoujinjing09   69 天前
    那你为啥要开源源代码,直接二进制分发不就行了
    JarvisTang
        46
    JarvisTang   69 天前
    @nuance2ex 感谢,很有参考意义。
    westoy
        47
    westoy   69 天前   ❤️ 1
    @lshero
    不是
    dz 一开始是付费软件, 核心 zend 的, 免费的是童虎和 cnteacher 那个 fdz, 反而 phpwind 是开源的
    不过那时候哪个论坛的代码都不接受团队以外贡献代码的
    外围最多搞搞插件


    @JarvisTang
    dz 前身 ctb 是基于 xmb 的
    不过后来有人找过 xmb, xmb 那边的态度是 dz 几乎是重写了,和他们没关系了, 随便 dz 怎么搞

    而且 xmb 国内也没火过啊,dz 在国内干掉的一是动网, 动网的问题主要是主创去搞页游了, 没兴趣再做论坛程序了, 二是 vbb, 一方面 vbb 是收费的, 而且付费比较麻烦, 本地化搞的也不行, 二是当时 im286 是 vbb 在国内落地的标杆之一, 而 crossday 和 286 站长拒绝游泳的鱼关系很好, 当时也兼任的 286 管理员, 所以等于自己给自己换了给自己做了一波宣传............和开源关系其实不是很大, 那时候 dz 是付费的商业软件啊..........后来周鸿祎和红杉投了 discuz 之后才推动免费发放+开放源码的, 不过当时 fdz 占有率也蛮高了, 周鸿祎手下还到处打电话给各家稍微大一点的还在用动网和 phpwind 的论坛站长, 游(忽)说(悠)他们转 discuz.......
    JarvisTang
        48
    JarvisTang   69 天前
    @libook 非常感谢,很有帮助
    JarvisTang
        49
    JarvisTang   69 天前
    @monkeyNik 你说反了吧,软著才可以绕过去,发明专利是不行的,只要原理相似,就有侵权风险了。软著和专利是有区别的,发明专利保护的是方法,这个方法可以用很多手段实现,但是都在专利保护范围里。比如 iOS 12 上划关闭应用的功能,在中国这个方法的专利是高通的,所以苹果有一段时间没有专利,就在国内版本里使用了另一位方案,后来获得专利授权后才又改回来了。
    xxfye
        50
    xxfye   69 天前
    > 对于竞争者,如果开发出功能原理一样或者相似的产品,无论使用哪种编程语言

    这个是做不到的,Clean room 不说,别人对你代码用其他语言重写一版无论如何都限制不了
    opentrade
        51
    opentrade   69 天前
    按照 rust 的作风,快开源吧,我们用 rust 再写一遍
    wdlth
        52
    wdlth   69 天前
    第三点其实很难保证,有强大的法律合规和知识产权团队会帮绕过去的,人家甚至可以做得更好。
    opentrade
        53
    opentrade   69 天前
    @JarvisTang 产品经理搞开源,也算跨界了
    JarvisTang
        54
    JarvisTang   69 天前
    @xxfye 专利保护的是方法,用别的语言写,如果用同样技术逻辑,就是侵权了。发明专利不是软著。
    wzzzx
        55
    wzzzx   69 天前
    @nuance2ex #7 大佬写的真好,通俗易懂! 可以多写写一些相关协议嘛😂😂😂
    jim9606
        56
    jim9606   69 天前
    你这种要求,特别是 2 和 3,基本上决定的你得定制专有许可协议。主流的所有开源协议都不能用。

    注意单纯算法和程序代码是不受专利保护的,通常要结合为某个具体硬件才能构成专利,留意你的专利的保护效力及取证维权的可操作性。

    我是觉得你这个目标你还不如不开源算了,这些限制约等于白嫖贡献者成果。你把 SDK 和文档做好就行。

    另外补充一句,如果不想别人抢走你的名声,记得注册商标。商标维权可比专利维权简单多了。

    @wms GPL 不满足要求 3,GPL 允许 SaaS 模式的衍生不开源。
    JamesChen
        57
    JamesChen   68 天前   ❤️ 3
    一些网友不要把开源搞成于做慈善,开源的商业模式无外乎:做定制服务;抢占市场 制定标准;部分开源,闭源卖钱;衍生品赚钱(如卖 Saas 服务)。楼主防竞争者缺德白嫖自己的劳动成果,这是很正常的事。协议选择也是门“技术活”,不懂的话真不必强答,容易误导其他新人。

    MongoDB 就主要靠培训与卖 Saas 服务赚钱,结果被 AWS 疯狂白嫖,直接上架 MongoDB 服务去卖,搞得 19 年 MongoDB 股价大跌,这谁能顶得住?得亏后来从 AGPL 切成 SPPL,之后营收大幅增长。虽 AWS 的行为可能不违法协议,但在明知对方商业模式的情况下,用对方的商业模式去白嫖对方产品,也确实无耻与缺德。

    说回楼主,我看楼主貌似主要靠衍生品(如 Sass )盈利?如果是这样的话,MIT 、BSD 、Apache v2 这种 permissive 协议就别用了,会给人白嫖到连内裤都不剩。

    主流协议推荐 AGPL (限制性最强的协议):**如果其许可下的软件与用户通过网络进行交互,那么就需要提供源代码给用户,所有的修改也同样要提供给用户**。如果 AGPL 都不能满足你需求,那就找律师自己定制个吧。Elasticsearch 、MongoDB 很多开源项目都是定制协议的。

    至于“对于开发者,只能通过 Pull Requests 方式参与主程序开发”,老实说,我没见过主流协议不准 fork 的,如果真有这样的协议欢迎其他大佬补充,给我长长见识。但是我估计你要的应该是“对修改开源”,这个 AGPL 也能做到。

    但楼主请注意了,道高一尺魔高一丈,开源协议的传染性有阻断这么一说,无耻的厂商总能够找漏洞白嫖你产品,然后核心代码不开源。不然 MongoDB 也不用从 AGPL 切 SPPL 了。上面的回答就是给楼主一个大概方向,具体协议建议找律师咨询,别找开发者问了,CTO 都不一定能 hold 住这问题。
    JamesChen
        58
    JamesChen   68 天前
    (SPPL -> SSPL)
    补充下,如果我是楼主:开源版使用 AGPL (或 SSPL 协议),商业版就授权提供服务
    SSPL 的各种细节、与 AGPL 可以参考: https://www.mongodb.com/licensing/server-side-public-license/
    shakoon
        59
    shakoon   68 天前
    我司和很多软件公司都有合作,采购了他们的原型产品,共同在之上做了很多个性化定制,软件公司提供所有源代码,合同上有不得将产品和代码转让第三方的条款,软件公司如果对产品进行了升级,在合同维保期限内可以提供给我司并提供一定资源协助进行升级。根据楼主的描述,我也不认为你在做的是开源软件,而是和我说的这种商业软件有较多的相似之处。所以我觉得,你应该还是需要一个自有的协议,把权利和义务描述清楚,对有需要进行二次开发的人员提供源码,并限制其分发改造后的版本。另外我建议还是通过技术手段限制用户对主程序进行改动,部分基础类、库只提供二进制包。
    no1xsyzy
        60
    no1xsyzy   68 天前
    你可以去 OSI 讨骂
    开源之定义即包含「允许任意地演绎」并强制「显式专利授权」。
    你最多仅公布源代码不开源。

    《在程序员论坛寻求法律建议是否搞错了什么》绝赞发售中

    允许开发扩展插件可以仅提供 SDK 或 API,进行正确完整的界面划分,比如 TotalCommander 。
    专利我记得各国法律最长也不过 14 年期限。
    Rheinmetal
        61
    Rheinmetal   68 天前
    专利十几万 用户个位数就搞笑罗
    出事在切换吧 先搞起来 不是大生态 看都没人看
    Rheinmetal
        62
    Rheinmetal   68 天前
    高级白嫖白嫖你的 idea 然后重写架构
    更绝的是 jp 重重保护氢能源 然后直接被绕过去 等你专利过期再来白嫖
    janus77
        63
    janus77   68 天前
    你觉得 1 和 3 有没有可能同时满足呢?我觉得你这个条件不够严谨甚至有冲突
    lonewolfakela
        64
    lonewolfakela   68 天前
    https://creativecommons.org/licenses/by-nd/4.0/
    CC BY-ND 可能是最适合的协议,但是我觉得你可能依然需要自己修改一下,强调一下:1 、可以开发扩展插件; 2 、商业竞争受专利限制
    Felldeadbird
        65
    Felldeadbird   68 天前
    执行双协议。选一个较为严格,限制商业的协议。或者自建一个开源协议。
    LANB0
        66
    LANB0   68 天前
    还是算了吧,何必要开源呢?红帽是开源的,也没被 centos 弄死;安卓是开源的,也没被一众国内 UI 弄死。这么不自信何必多此一举,直接闭源商业化多好。谁也不能指责你什么,但你又想占开源的便宜,又怕让别人另立山头把你弄死,这何必呢。何况一谈到开发者生态和终端市场应用,这就意味着核心根本不在技术,你所谓的专利大厂要想做有的是方法绕过,大厂也有的是资源来推广。
    lychs1998
        67
    lychs1998   68 天前
    先确认自己的东西能申请专利,现在专利应该只能申请方法类(如算法等)的,如果只是某个应用,那么还是只能申请软著。目前大部分的开源项目,其实都谈不上能申请专利。而且开源和专利创新性的先后顺序需要你自己把握,因为很可能因为你先开源了导致没有创新性了,把你的专利毙了。

    可以考虑做开源的基础版(未优化),闭源的商业版本。
    houzhiqiang
        68
    houzhiqiang   68 天前
    GPL ? LGPL ? AGPL ?
    monkeyNik
        69
    monkeyNik   68 天前
    @JarvisTang 兄台提醒的对,我说错了...😂
    wph95
        70
    wph95   68 天前
    @LANB0 #66
    mongodb elasticseach 了解一下
    wph95
        71
    wph95   68 天前
    > 对于使用者,免费使用,不限用途,包括商业项目使用;
    对于开发者,只能通过 Pull Requests 方式参与主程序开发,不能演绎其他版本的主程序;但是不影响开发扩展插件,或者商业化运营扩展插件;
    对于竞争者,如果开发出功能原理一样或者相似的产品,无论使用哪种编程语言,无论是自托管部署或者 SaaS 模式,都要受到专利限制。

    经典 source open,不是 open source 。国内某大厂最会做的事情。

    你要是真的想这么弄,通过基于 GPL 加些条款做个自由协议吧。正经公司有部门 review 开源软件使用情况的反正看到这种奇怪自由协议直接不会通过的。

    你还是多多了解开源社区吧。正常做法哪里有通过专利进行保护的。你要是怕大厂抢你的劳动果实,用 SSPL,AGPL 限制他们,如果大厂使用了你们的代码作为服务提供,他们提供此类服务的软件的源代码都必须开源。
    wph95
        72
    wph95   68 天前
    我错了 这问题跟开源协议没什么关系了。
    > 对于竞争者,如果开发出功能原理一样或者相似的产品,无论使用哪种编程语言,无论是自托管部署或者 SaaS 模式,都要受到专利限制。
    意思是你弄了四个轮子的汽车。就不准别人开发四个轮子的汽车? 这可真牛,什么时候国内的专利能申请应用类型的东西了。
    no1xsyzy
        73
    no1xsyzy   68 天前
    @wph95 #70 你举的两个例子在修改协议之后都不再被认为是开源软件。
    source open 似乎也是 mongo 起的头。
    GPL 加限制条款就不再是 GPL 了,并且楼主意图也很明确地限制了自由(直接否认了自由之一任意修改的自由和自由之三发布修改版本的自由),所以也不可能形成自由许可(顺便,一般认为自由定义比开源定义严格地更严格,即几乎不可能有自由软件不符合开源定义)
    no1xsyzy
        74
    no1xsyzy   68 天前
    @wph95 「功能」「原理」二者都符合的话是会受限制的
    参考「 U 盘」在那 14 年里专利在谁手里,靠专利授权和专利官司赚了多少亿。
    letking
        75
    letking   68 天前
    第一条,这不就是免费的闭源软件吗?
    第二条,你可以雇几个人来给你搞开发,这样版权当然是你的。
    第三条,你不是已经申请了 6 个专利了吗?只要能通过,你就申请专利不就完了?还搞什么协议?
    wph95
        76
    wph95   68 天前
    @no1xsyzy #73
    我想说的是

    > 但你又想占开源的便宜,又怕让别人另立山头把你弄死

    这个想法非常正常,就像 elasticsearch,大家幸幸苦苦把 es 生态弄起来。云厂商打包一下变成服务来割韭菜。(他通过卖机器来赚钱,你让这些给 es 做贡献以此为生的公司咋么活。

    谁规定了 mongodb 和 es 不是开源项目了。开源现在也开始原教旨化了嘛。明明 aws 这些不讲武德不回报社区自己赚钱割韭菜,搞得是项目维护者主动限制自由一样。
    letking
        77
    letking   68 天前
    整体而言就是免费的闭源软件模式,类似微信、QQ 这种。那就老老实实地自己开发就行了,非搞开源不是自找麻烦?还是说就想白嫖别人给你写代码?
    至于别人能不能做一个类似的产品出来,这要看专利局承不承认你这的东西有独创性值得保护,不是什么开源协议能保护的了的。
    wph95
        78
    wph95   68 天前
    @no1xsyzy #74 我的 我前面说的不到位,计算机领域
    原理 方法这种申请专利没问题
    功能和内容这种不都是申请软件著作权的嘛
    这些东西和开源协议是两码事情。哪里有通过开源协议来保护版权什么的 没听过这样的先例。
    Rocketer
        79
    Rocketer   68 天前 via iPhone
    看了这帖才发现原来很多人不知道开源的“开”是什么意思,以为把源码给大家看就叫“开源”了。

    我想这些人一定也没买过前端样式库和组件库。前端代码没什么可加密的,都可以下载,但就是不能随便用,这种就不叫开源。
    MOETAN0
        80
    MOETAN0   68 天前
    今天 OSC 刚好有一篇博客: https://my.oschina.net/vigor23/blog/5129221
    lanshee
        81
    lanshee   68 天前
    楼主想当 Guido 那样的???
    lc7029
        82
    lc7029   68 天前
    不开源就完事了
    way2explore2
        83
    way2explore2   68 天前
    @emeab 第二条。第三天不满足吧,
    way2explore2
        84
    way2explore2   68 天前
    @Trim21 感觉这是唯一解
    way2explore2
        85
    way2explore2   68 天前
    @JarvisTang 不限制使用,其实就是允许别人竞争啊,我的理解啊。因为竞争的概念太模糊了。像 mongo 那样限制做 SaaS 倒可行
    no1xsyzy
        86
    no1xsyzy   68 天前
    @wph95 es 换许可证的原因是 es 自己要卖云服务。mongo 貌似是纯粹
    ESR 和 OSI 规定的,你不服可以去讨个骂。开源不是模因,没原教旨化一说。顺便,mongo 自己撤回了 SSPL 的开源认定申请,实际上似乎并不在乎自己是不是开源软件。
    no1xsyzy
        87
    no1xsyzy   68 天前
    @wph95 功能和内容可能申请实用新型专利,不排除楼主自己都没搞清楚发明和实用新型有区别()
    专利和软著不冲突你可以都申请(反而是发明和实用新型冲突,但可以同步申请,因为不一定能申请上发明),且保护方向不一致,专利执行更严格、保护范围更宽泛、保护时间更短。

    当然没有用开源协议保护版权,因为一直在用版权来保护开源许可证( Copyleft 是依托于 Copyright 的)
    通常会在那一大堆开源许可证中**挑选**能使利益最大化的那个。
    楼主纯粹是没搞清楚。
    JarvisTang
        88
    JarvisTang   68 天前 via iPhone
    @no1xsyzy 我写的是发明专利,没有写错。
    InvincibleDream
        89
    InvincibleDream   68 天前
    发明专利保护的是方法、技术及新工艺等,保护代码的是软件著作权。除非你的发明专利滴水不露,而且非常容易举证竞品使用你的技术,通过法律诉讼进行维权将消耗大量的资金和时间。
    vsitebon
        90
    vsitebon   68 天前
    针对软件方法的发明专利举证其实是很难的,不过如果你专利写得好就另说了。你的需求看来要不就闭源,然后分发 SDK ;或者就开源,制定自有协议,或者基于现有的协议上限定
    LANB0
        91
    LANB0   68 天前
    @wph95 mongo 也没有限制厂商的硬分叉吧,各家云服务都搞出了自己的 mongo 兼容版。楼主这种只允许别人贡献代码,不允许别人 fork 的想法就很奇怪。
    dk7952638
        92
    dk7952638   68 天前
    这么说吧,开源协议在国内就是个笑话,骗自己的东西,完全没有完善的司法保证,其实国外也好不到哪去,如果不像被白嫖,闭源是唯一选择,闭源免费一样可以吸引用户
    nuance2ex
        93
    nuance2ex   68 天前
    @wzzzx 可以关注我知乎,会有定期文章分享。

    By .超越律师🚀
    NSAgold
        94
    NSAgold   68 天前 via Android
    @wph95 #76 这不是所谓的“原教旨化”,https://opensource.org/osd 了解下,这是给“开源( open-source )”的定义。debian 首次提出并定义了“开源”这个专有名词的含义,后来将该部分单独抽走并重新制作了“开放源码定义”。因此不符合 osd 的项目毫无疑问不是开源项目,这是挂羊头卖狗肉。

    而且“原教旨”也不是这么用的。“原教旨主义”实质上是保守主义思潮,以最初的原本为主,拒绝现代化的修订与解释。指责不符合国家卫生标准的店虚标自己合格算是原教旨么?
    开源的定义实际上是一个可以修订的标准,开源许可证要过 osi 认证才算开源许可证。以 mongo 为例,osi 曾经说过 SSPL 是典型的“Fauxpen source license”( faux 法语,意同 fake )。
    ykrank
        95
    ykrank   67 天前
    协议一大堆,结果没用户就没任何意义
    winglight2016
        96
    winglight2016   67 天前
    @yuk1no 第三个好像不支持同样功能不同代码,例如,山寨大厂腾讯

    另外,lz 如果不图此项目的商业价值(赚钱 /盈利),那么随便什么开源协议都可以——毕竟,所谓竞争,一般指的是商业竞争,你既然已经放弃了商业利益,那么为什么要禁止商业模仿呢?
    yunshansimon
        97
    yunshansimon   64 天前
    直接加区域限制,不在大中国地区的 gpl,在大中国地区的,闭源。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   834 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:04 · PVG 05:04 · LAX 14:04 · JFK 17:04
    ♥ Do have faith in what you're doing.