xiaochong0302
V2EX  ›  问与答

我的网课项目被骂伪开源,究竟用什么协议合适呢?

  •  
  •   xiaochong0302 · Nov 12, 2020 · 5819 views
    This topic created in 2036 days ago, the information mentioned may be changed or developed.

    我是酷瓜云课堂的开发者,致力开源网课系统,开源网校系统,开源在线教育系统。由于对开源协议理解的模棱两可,就用了自己拟定的协议,结果被骂挂羊头卖狗肉的伪开源。

    我自己拟定的协议大致如下:

    1. 本系统属于强业务类型,非通用类库框架,不适合再次衍生发布。
    2. 在保留我们版权标识的前提下,用户可以修改以满足自己的需求,可以用于商业用途。
    3. 有限社区支持,用户对自己的行为负责。

    是不是弄个 GPL 和商业授权双协议比较符合呢,请给我指点一下!

    38 replies    2020-11-13 19:08:45 +08:00
    murmur
        1
    murmur  
       Nov 12, 2020   ❤️ 12
    谁骂他你屏蔽就可以,开源还唧唧歪歪破事一堆,最烦的就这种
    hpeng
        2
    hpeng  
       Nov 12, 2020 via iPhone   ❤️ 1
    闭源,二进制分发就好了,有人要买,就给当前版本买断价
    cydian
        3
    cydian  
       Nov 12, 2020 via Android
    自己的产品自己做主。
    到处迎合别人,你自己就会失去动力做下去
    ClaudeCode
        4
    ClaudeCode  
       Nov 12, 2020
    哎 搞不懂这些人怎么想的.
    richard1122
        5
    richard1122  
       Nov 12, 2020
    你这个是服务端代码吗? 可以考虑用 AGPL 。
    zhaol
        6
    zhaol  
       Nov 12, 2020
    爱用用,不用滚。开源还得看对方脸色?
    zlhsvc
        7
    zlhsvc  
       Nov 12, 2020
    不要太过在意别人的想法,做你自己想做的就行
    ysc3839
        8
    ysc3839  
       Nov 12, 2020 via Android
    看如何定义“开源”了,有的人认为“能看到源代码”就是开源,还有的人使用的是 Open Source Initiative 的定义。
    https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6

    说你伪开源的人大概属于后者。
    xiaochong0302
        9
    xiaochong0302  
    OP
       Nov 12, 2020
    @richard1122 目前 PC 端是服务端渲染的,H5,小程序等客户端通过 API 访问数据
    vverr
        10
    vverr  
       Nov 12, 2020
    你自己的小产品,想怎么开源就可以怎么开源,何须理会。
    QingXuJiaZhi
        11
    QingXuJiaZhi  
       Nov 12, 2020
    最好还是选一个比较常见的协议,一来看起来正规点,别人也不好说你什么,而且也更有法律保障。

    你自己写的协议真的打起官司来很多问题的,比如什么叫做 “不适合”,什么叫做 “衍生发布”,这在法律上对方都可以搞出花样。
    yungo8
        12
    yungo8  
       Nov 12, 2020
    哎..比较好奇的是,我在网络上公开发布一个程序,我也没收费,如果有 bug 或者使用不当造成使用者损失了还得赔钱吗?

    当然我知道如果发布恶意程序可以是破坏计算机系统安全等的罪名...
    ccvip
        13
    ccvip  
       Nov 12, 2020
    @yeqizhang xiuno 论坛的作者 免费发布程序,开源未收钱,反复提醒大家注意合法用途,还是有人用 xiuno 做站侵犯版权被列为被告了(知乎看到的)。一气之下关站不玩了。
    xiaochong0302
        14
    xiaochong0302  
    OP
       Nov 12, 2020
    @vfxx 持刀杀人,菜刀工厂还要担负责任呀?
    xiaochong0302
        15
    xiaochong0302  
    OP
       Nov 12, 2020
    @cmdOptionKana 说实话那些开源协议真的很绕人,不是专业人士真的很难搞清边界
    tesguest123
        16
    tesguest123  
       Nov 12, 2020 via Android
    @murmur 这位老哥正解,开源项目就随心,你倒贴给别人用,别人都吗你
    CismonX
        17
    CismonX  
       Nov 12, 2020 via iPhone
    “开源”只是字面上都“开放源码”的意思,只要能看到源码都算开源,哪怕你没有赋予用户任何权利,没有“伪开源”的说法

    所以我一般说自己做的是“自由软件”而不是“开源软件”,自由软件对于许可证是有要求的,简单来讲,就是不能限制用户的使用自由。

    楼主做的确实不是自由软件,因为“禁止衍生发布”违背了自由软件的原则。在自由软件的基础上提供一个商业授权的“高级版”也是违背自由软件的原则的

    尽管如此,任何一个理性的自由软件支持者都不应该过度指责楼主的行为,因为自由软件的首要敌人是专有软件(尤其是垄断的商业公司的专有软件),而不是开源软件
    linux40
        18
    linux40  
       Nov 12, 2020 via Android
    这三点可能比较符合 BSD 风格的协议。
    linux40
        19
    linux40  
       Nov 12, 2020 via Android
    @linux40 说错了,应该是阿帕奇。
    yestodayHadRain
        20
    yestodayHadRain  
       Nov 12, 2020
    先 fork 为敬
    binbinyouliiii
        21
    binbinyouliiii  
       Nov 12, 2020 via Android
    不宣称开源的就可以了
    keepeye
        22
    keepeye  
       Nov 12, 2020
    感觉有些像 discuz 的模式
    chihiro2014
        23
    chihiro2014  
       Nov 12, 2020
    布局很清爽
    Felldeadbird
        24
    Felldeadbird  
       Nov 12, 2020
    源码都公开了,难道不是开源吗? 有些的嘴是管不来的。屏蔽可解决。
    CismonX
        25
    CismonX  
       Nov 12, 2020
    @CismonX

    而且不管你用哪一种许可证,想不被任何人指责是很难做到的。

    假设你用了 GPL 或者其他 copyleft 许可证,会有人指责你的许可证不够 permissive 。比如我曾经在一个 GitHub 官方 repo (忘了是不是 linguist )里面看到官方人员抱怨,某个他们想要用的库是 GPL 授权,导致 GitHub 这个专有软件无法使用。

    如果你用了 MIT 、Apache 之类的比较 permissive 的许可证,甚至直接放弃版权,将软件放置于 public domain,仍然会有人指责你。自由软件的狂热支持者会认为你的行为让专有软件的开发者能够随意白嫖代码,不利于自由软件社区的发展。

    所以,不要 care 别人的观点,按照自己的理念和准则形式,做自由软件、开源软件也好,做专有软件也罢,只要在法律容许的范围内,都是没问题的
    CismonX
        26
    CismonX  
       Nov 12, 2020
    另外我看了下楼主的代码仓库,本来以为一楼说的三条只是概述,没想到是原文。。这里需要注意一下,软件协议要尽量用术语,而且要确保你的声明在法律上有效的。这点可以确保你赋予用户的权利和保留的权利都受到法律的保护。一定要自拟软件协议的话,除非你有很深的法学背景,不然还是建议聘请专业的法务团队来做这件事。

    所以还是建议楼主根据自己的需要,选择一个现有的被认可的软件协议发布,而且注意,不能随意更改其中的条款。如果要修改,还是需要专业的法律援助。有个著名的反例是 Anti-996 License,它看上去只是在 MIT License 上面加了个“996 公司禁止使用”的条款,但这条声明却直接破坏了整个 License 的合法性。
    xiaochong0302
        27
    xiaochong0302  
    OP
       Nov 12, 2020
    @CismonX 谢谢
    back0893
        28
    back0893  
       Nov 12, 2020
    不管就行
    开源还要看人脸色?
    yklaxds
        29
    yklaxds  
       Nov 12, 2020 via Android
    BSD 协议
    reus
        30
    reus  
       Nov 12, 2020 via Android
    你管它干嘛?疯狗直接赶走就是了
    msg7086
        31
    msg7086  
       Nov 12, 2020
    「有些软件的作者只将源代码公开,却不符合“开放源代码”的定义及条件,因为作者可能设置公开源代码的条件限制,诸如限制可阅读源代码的对象、限制派生产品等,此称之为公开源代码的免费软件( Freeware,例如知名的网络论坛软件 Discuz!),因此公开源代码的软件并不一定可称之为开放源代码软件。」

    -- Wikipedia

    另外,「不适合」即不是许可也不是禁止,最多只能是一种描述。
    真要自己写,不如看看别的许可证是怎么写的,然后照搬。
    比如你可以找 MIT 许可证来参考,然后根据你自己的情况写一个你自己的许可证。
    xiaochong0302
        32
    xiaochong0302  
    OP
       Nov 12, 2020
    @msg7086 我还是找一个常见的开源协议吧,自己拟毕竟不懂的太多了
    iseki
        33
    iseki  
       Nov 12, 2020 via Android
    去现成的许可证里挑,别自己写,你又不是律师…而且你的以上行为,该软件确实不是自由软件…开源什么的,看怎么理解开源了
    cherbim
        34
    cherbim  
       Nov 12, 2020
    部分人以为代码公开就是开源,然后加了各种限制条件,然后部分开发者就觉得这不是挂羊头卖狗肉么,明明不是开源打着开源名义,然后就瞎 bb
    我觉得吧:直接选择无视即可,或者自己找个出常见开源协议
    nonduality
        35
    nonduality  
       Nov 12, 2020
    别傻乎乎被某些贪得无厌的人牵着走,你的软件你做主,找个能充分保护自己的协议用上,不要管那些人叽叽歪歪
    ajaxfunction
        36
    ajaxfunction  
       Nov 12, 2020
    支持开源支持楼主,自己的东西想咋就咋
    hq136234303
        37
    hq136234303  
       Nov 13, 2020
    你做开源项目是给别人做的吗?不都是觉得有意思,然后做的开心在开源的吗?
    xiaochong0302
        38
    xiaochong0302  
    OP
       Nov 13, 2020
    @keepeye 确实有点像,属于免费非开源类型,我会选一个常见开源协议的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   888 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 21:17 · PVG 05:17 · LAX 14:17 · JFK 17:17
    ♥ Do have faith in what you're doing.