xiaochong0302
V2EX  ›  问与答

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

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

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

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

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

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

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

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

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

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

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

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

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

    -- Wikipedia

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