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

写的开源软件被剽窃了,竟然还发到 app store

  •  
  •   wangwangc · 142 天前 · 16337 次点击
    这是一个创建于 142 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年写了一个 redis 客户端,地址: https://github.com/cmushroom/redis-pro 今天去 app store 上搜了一下竟然被别人上架了: https://apps.apple.com/cn/app/redis-pro/id1576996455?mt=12 太意外了

    151 条回复    2022-02-13 18:12:00 +08:00
    1  2  
    learningman
        1
    learningman  
       142 天前   ❤️ 2
    果然是国人发的
    learningman
        2
    learningman  
       142 天前   ❤️ 16
    gfreezy
        3
    gfreezy  
       142 天前
    你代码的协议本身是允许商业化的吧
    imzcg2
        4
    imzcg2  
       142 天前 via Android
    代码闭源或者停止开发,不就好了,你还有别的办法吗
    gstqc
        5
    gstqc  
       142 天前   ❤️ 2
    你用的 Apache-2.0 License ,他这样做似乎是可以的
    Tink
        6
    Tink  
       142 天前 via Android
    可以举报
    wangwangc
        7
    wangwangc  
    OP
       142 天前
    @gstqc 用哪个许可好一些啊, GPL?
    wangwangc
        8
    wangwangc  
    OP
       142 天前
    @learningman 还有人打赏,666
    sadfQED2
        9
    sadfQED2  
       142 天前 via Android   ❤️ 1
    所以我都是选 AGPL 协议,你偷可以,但你也得给我开源
    eason1874
        10
    eason1874  
       142 天前   ❤️ 5
    Apache License 2.0 允许别人修改、分发、商用,只是不能用你的商标,并且保留你的许可信息

    如果他的软件关于信息里有列出你的许可,那貌似没啥毛病
    aecra
        11
    aecra  
       142 天前 via Android
    不讲武德的太多了,只能用 AGPL
    wangwangc
        12
    wangwangc  
    OP
       142 天前
    改成 GPL 吧,不讲武德
    a132811
        13
    a132811  
       142 天前
    skiy
        14
    skiy  
       142 天前
    哈哈。

    我前两天整理 VSCode 插件时,发现了一款 “REST Client Pro”。我还以为是 “REST Client”的作者开发的“增值付费版”,结果发现是别人 fork 出来的。虽然也是开源,但这起名方式,真的很不讲武德。

    https://marketplace.visualstudio.com/items?itemName=truman.rest-client-pro
    wangwangc
        15
    wangwangc  
    OP
       142 天前
    @skiy 你这么一说,感觉我这个起名也有点问题
    skiy
        16
    skiy  
       142 天前
    @wangwangc 我不太了解商标这个。按理,Redis 应该也是别人的注册商标。但是能不能使用( Redis 是 BSD 协议的),我不太了解。当初 javaeye ( iteye )不知道有没有印象?就是被 java 给“告”了。
    nieyujiang
        17
    nieyujiang  
       142 天前 via iPhone
    直接 gplv3
    dianso
        18
    dianso  
       142 天前
    所谓的协议有啥用????
    laravel
        19
    laravel  
       142 天前
    国内这种多得是,典型的就是仿站,还有盗版别人收费主题的。
    mcfog
        20
    mcfog  
       142 天前   ❤️ 1
    GPL 同样可以商用,禁止商用、禁止恶用、禁止用于战争都是不自由

    真的感到不舒服的可以直接不写 License ,自动相当于 all rights reserved
    xtinput
        21
    xtinput  
       142 天前   ❤️ 4
    不止你一个被剽窃了·····
    v2ex 客户端也被上架了
    zvl0reqglvd
        22
    zvl0reqglvd  
       142 天前
    别开源了吧,国人这尿性,或者写个部分,其他的不发。
    你开源,别人挣钱,气不气?
    knightdf
        23
    knightdf  
       142 天前   ❤️ 4
    别的不说,网站用这种动态效果背景的都是二笔
    jones2000
        24
    jones2000  
       142 天前
    要开源就要做好被人白嫖的心理准备, 否在就别开源。
    gstqc
        25
    gstqc  
       142 天前
    @wangwangc GPL 吧
    防止对方自己加功能但不开源
    skiy
        26
    skiy  
       142 天前   ❤️ 3
    @xtinput 哈哈。版本更新的描述还有“添加广告”。
    gengchun
        27
    gengchun  
       142 天前   ❤️ 1
    @mcfog 1. GPL 有传染性; 2. 苹果不允许 GPL 上架。
    agagega
        28
    agagega  
       142 天前   ❤️ 1
    如果你的项目是 GPL ,并且整个项目都是你自己写的,可以通过加一个例外条款来上架 App Store ,例如 https://github.com/nextcloud/ios/blob/master/COPYING.iOS
    hsfzxjy
        29
    hsfzxjy  
       142 天前 via Android
    apache license + common clause 。不过这样就不是“开源”了
    xsx107
        30
    xsx107  
       141 天前 via iPhone
    小哥还发了个 V2 的客户端,估计能看到这个贴
    NoString
        31
    NoString  
       141 天前
    哈哈哈 绝绝子
    lishoujun
        32
    lishoujun  
       141 天前   ❤️ 1
    你可以在应用内的关于里面放一些自己的介绍、捐献信息,这样下游打包相当于在给你做宣传
    cmdOptionKana
        33
    cmdOptionKana  
       141 天前   ❤️ 8
    讲道理,既然选择了开源,有人用,即使是商用,还是应该开心的呀。

    如果不想别人拿去用,那为什么要开源?源码都公开发布了(而且也选择了允许自由使用的协议),会被拿去用是意料之中的吧,这是很顺理成章的结果呀。
    Biwood
        34
    Biwood  
       141 天前
    这是非常正常的行为吧,你发这个帖子只能说明你在把 LICENSE 文件放进开源项目里的这个行为不是基于自发的选择,可能是出于惯性和模仿?或许应该提前了解阿帕奇证书里面的具体内容,开源精神本身就是基于一种友善的、开放式的态度,如果希望有更多的约束,那么应该提前选择另外一个证书
    skiy
        35
    skiy  
       141 天前   ❤️ 7
    刚刚发现有人搞了个开源许可证选择器:

    http://139.159.212.56:8000/
    Immortal
        36
    Immortal  
       141 天前
    fork 的 medis 么 有点像
    R0ckyY2
        37
    R0ckyY2  
       141 天前 via iPhone
    我猜一定是中国人干的。
    msg7086
        38
    msg7086  
       141 天前 via Android
    自由软件却不给人自由,这不是打自己的脸么。
    如果不希望别人在你的许可证允许下拿去随意使用,那还是不要搞自由软件为好。
    你可以发布成免费软件,没有人会怪你的。
    Valid
        39
    Valid  
       141 天前
    但是好像并没有要求付费
    icyalala
        40
    icyalala  
       141 天前   ❤️ 8
    法律上是可行的
    道德上很明显说不过去把,楼上这些说没毛病或者讽刺楼主的,搞什么啊。。
    binux
        41
    binux  
       141 天前 via Android
    @icyalala 那这个许可证要怎么说?
    你可以免费用,但是又不能?
    Cielsky
        42
    Cielsky  
       141 天前 via Android
    @icyalala 额,你选择了这个协议,既让别人用,又不让别人用?
    麻烦开源前先了解了解开源协议吧,选择一个适合自己的开源协议很重要
    L4Linux
        43
    L4Linux  
       141 天前 via Android   ❤️ 2
    @msg7086 自由软件是给软件用户自由。
    maokwen
        44
    maokwen  
       141 天前 via iPhone
    @msg7086 #38 每日小常识:协议就像法律,只是自由的一层保障,不违反协议也可以成为自由的敌人
    unb
        45
    unb  
       141 天前 via Android
    不讲伍德
    cmdOptionKana
        46
    cmdOptionKana  
       141 天前   ❤️ 21
    @icyalala 道德上有什么问题?

    我是成年人,我不是文盲,我不是智障,我有能力选择协议,我知道我在做什么,我选择了一个表达了 “请大家拿去用吧,商业也行,你们用了我才更开心” 的意思的协议。
    (事实上,由于我知道 GPL 开源不受欢迎,我自己做开源软件时特意避开 GPL ,故意选择了最宽松的 MIT 协议,就是希望更多人拿去用,希望大家不要有任何压力)

    然后其他人看到我用了这个协议,他用了我的代码,他有什么道德问题?
    linora
        47
    linora  
       141 天前
    @skiy 感谢!看着是西南大学弄的
    maokwen
        48
    maokwen  
       141 天前   ❤️ 1
    @cmdOptionKana #46 实际上你对 GPL 、MIT 的理解也限于“不受欢迎”、“最宽松”之类比较宽松的表述。
    你觉得你有能力选择协议,你觉得你知道你在做什么,你没有,几乎所有人都没有。
    协议的出现是为了让愿意分享的人省心,不用担心自己的劳动成果被用于违背其良好意愿,而不是为了让他们去服从。例如,你为何要接受自己的代码被不劳而获者、与大公司无异的黄牛、甚至是恐怖组织利用?这会不会打击作者的创作热情?
    这是一个很好的例子,自由开源的精神 != 保障自由开源的条文
    liuidetmks
        49
    liuidetmks  
       141 天前
    请问,哪里能找到这种项目? 我也想发几个,看看能不能赚点钱
    muyi
        50
    muyi  
       141 天前   ❤️ 4
    krixaar
        51
    krixaar  
       141 天前
    @maokwen #48 > 你为何要接受自己的代码被不劳而获者……利用?
    找开源代码用不就是为了不劳(尽量“少劳”)而获嘛,不然就自己造轮子了(小声
    ZE3kr
        52
    ZE3kr  
       141 天前
    @dianso https://www.163.com/dy/article/GJFG2Q2V0511CUMI.html 还是有用的,可以直接起诉
    maokwen
        53
    maokwen  
       141 天前
    @krixaar 一般使用你代码的人至少遇到问题可以向你提 issue 甚至提 pr 吧,这也是一种帮助,而且他们使用这代码也有利与开源社区和大公司的封闭标准对抗,不算不劳而获。而如果你的代码被倒卖,不会有这些好处。
    RickyC
        54
    RickyC  
       141 天前
    开源发布者,说被人“剽窃”,证明他自己才是“剽窃者”吧?
    因为他认为自己 发布的开源代码 是属于自己的。
    他剽窃了 他自己写的,但是不只属于他自己的 代码。
    Felldeadbird
        55
    Felldeadbird  
       141 天前
    apache 协议啊。对方只要在软件声明了使用的开源项目即可。
    tianyou666shen
        56
    tianyou666shen  
       141 天前   ❤️ 1
    印象里之前看过如何选择想要的开源协议 https://www.ruanyifeng.com/blogimg/asset/201105/free_software_licenses.png
    kop1989smurf
        57
    kop1989smurf  
       141 天前   ❤️ 5
    你自己用 Apache-2.0 License ,然后你说别人剽窃???
    如果都这么干,开源社区还有什么意义?
    RickyC
        58
    RickyC  
       141 天前
    @kop1989smurf 说实话,不知道他们这样的人 是怎样理解开源的。
    halfdb
        59
    halfdb  
       141 天前 via Android
    没啥好吵的,都是误解罢了。几个开源协议看起来差不多,背后的观念是有很大不同的。
    halfdb
        60
    halfdb  
       141 天前 via Android   ❤️ 1
    如果楼主选择协议之前就有人告诉他,你的软件可以被别人拿去商用,那也就没这么多破事了。所以开源的科普任重道远
    wangyzj
        61
    wangyzj  
       141 天前
    Apache-2.0 License
    vophan1ee
        62
    vophan1ee  
       141 天前 via Android
    @dianso 协议是代码作者根据版权法提供的一种分发许可,也就是如果你符合协议规定的内容,就是可以使用的,否则是违法的。只不过 op 用的协议比较宽松罢了...
    xingshu1990
        63
    xingshu1990  
       141 天前
    @halfdb 很多人不这么理解的,他们理解的是,发布开源吸引拥簇者,再发布付费版,清洗过滤这些拥簇者。
    billly
        64
    billly  
       141 天前
    你这个项目名也不地道
    kop1989smurf
        65
    kop1989smurf  
       141 天前   ❤️ 2
    @RickyC #58
    @halfdb #60
    无非就是既要又要,又当又立罢了。

    既要当作开放的开源软件发布赚取人气。
    又要当这个人气的最大变现收割者。
    lysS
        66
    lysS  
       141 天前
    绷不住了
    [博客园原创文章防剽窃、反爬虫指南(持续更新.....)]( https://www.cnblogs.com/strengthen/p/10983408.html)
    villivateur
        67
    villivateur  
       141 天前 via Android   ❤️ 1
    楼上不少人都不懂开源协议啊,还把“国人”搬出来了,我觉得楼主的诉求毫无根据,那个软件发布者一点问题都没有。
    nmap
        68
    nmap  
       141 天前
    如果不想别人拿去用,那为什么要开源?再说这个作者也是免费提供的,没经济利益
    cmdOptionKana
        69
    cmdOptionKana  
       141 天前   ❤️ 1
    @maokwen 你说 “你觉得你有能力选择协议,你觉得你知道你在做什么,你没有,几乎所有人都没有。”

    你这句话有两个问题:

    1. 开源协议的基本意思并不复杂,做这个选择不需要非常深入的研究。比如“是否允许商用”是可以看懂的吧?
    2. 参与开源,每个人都带着不同的目的。自己是什么目的,这应该是非常清晰的吧?

    根据目的选择协议,程序员连这个事情都要说:“我没能力,我做不到,我明知我看不懂但我还是选了一个协议,并且我宣布我选的协议不代表我的真实意思” 吗?

    你举了一个例子 “例如,你为何要接受自己的代码被不劳而获者、与大公司无异的黄牛、甚至是恐怖组织利用?这会不会打击作者的创作热情?”

    答案是:Linux 、SSH 、VSCode 、Vue 以及几乎整个开源社区的作者的代码都有可能被不劳而获者、与大公司无异的黄牛、甚至是恐怖组织利用,他们被打击创作热情了吗,没有。
    084
        70
    084  
       141 天前
    @laravel #19 还有内容农场。jpg
    xabcstack
        71
    xabcstack  
       141 天前
    自己的成果被扩大化了,你应该高兴啊,对不对
    hahastudio
        72
    hahastudio  
       141 天前   ❤️ 1
    “我用了 Apache 2 的协议,我发现有人用我的项目发布应用,但我没发布,他以后挣钱了我也只能干瞪眼,我好气”
    你自己的行为,你要自己想清楚。
    Red54
        73
    Red54  
       141 天前   ❤️ 1
    主流的开源协议都是允许商用的。
    https://choosealicense.com/appendix/

    如果非要又当又立的话就搞个禁止商用的协议或者像 Unreal 那样别人商用要给你分钱的协议。
    https://www.unrealengine.com/en-US/eula/publishing
    solemelo
        74
    solemelo  
       141 天前
    真尼玛恶臭
    CodingNaux
        75
    CodingNaux  
       141 天前
    Apache License 2.0 ,可以商用,可以分发,可以私用。
    继续完善 app ,提供付费功能,自己上架
    https://choosealicense.com/appendix/
    skiy
        76
    skiy  
       141 天前 via iPhone
    @linora 错别字特别多,总的来说,很粗糙。各位 v 友可以搞一个 app ,专门选择开源协议的。

    ---

    另外说下,Apache 2 确实比较宽松。还记得前段时间的 fakerjs 吗?别人也是直接 fork 一个出来的。

    选择协议很重要。
    icyalala
        77
    icyalala  
       141 天前   ❤️ 12
    即使是使用 MIT 的 Library 、二进制分发的软件,法律上无需附加 License ,但大部分开发者也会在 Acknowledgements 里附上对应 License 以声明贡献者或表示感谢,这是人之常情、对开发者的尊重。

    但使用了一样的名字,使用了全部功能,却标注自己是开发者,链接到自己的网站。没有为开源做贡献,甚至让用户认为对方才是开发者,这明显不道德,至少是对创作者的不尊重。

    楼上还有拿 Linux 、VSCode 举例的,这完全是不同的。这些知名开源项目是广为人知的,即使有人拿来直接使用,大家也都能清楚前因后果。楼主这样的项目,相对而言就是名不见经传了,很明显楼主被打击了创作热情,而且 "成果被扩大化" 也无从谈起。

    我觉得各位都是开发者,为什么不站在同是创作者的角度支持楼主,或者宣传 License 选择的重要性,反而是冷嘲热讽呢?法律只是对道德的最低要求吧。

    楼主可以参考之前的这个帖子: https://v2ex.com/t/811123
    devwolf
        78
    devwolf  
       141 天前
    总的来说,多理解协议,慎重开源
    Vindroid
        79
    Vindroid  
       141 天前   ❤️ 1
    如果你眼红别人拿你的代码商用赚钱了,请修改或补充协议;如果你对你正在用的协议不熟悉或不知道协议里究竟协定了哪些内容,请去了解协议后再重新确定要使用的协议;如果对方商用的软件没有遵守你的协议,请投诉平台并控告对方
    zwpaper
        80
    zwpaper  
       141 天前
    所以说到最后,如果不想被人白嫖商用,只能选择闭源?或者借 GPL 和 App Store 的冲突,用 GPL ?
    mattxlee
        81
    mattxlee  
       141 天前
    @icyalala 非常同意,法律是对人的最基本的要求。虽然这个“盗取者”并没有违反协议,但是不道德是肯定的,虽然这个人没有违反协议,但应该被骂。
    kop1989smurf
        82
    kop1989smurf  
       141 天前   ❤️ 2
    @icyalala #77 “为什么不站在同是创作者的角度支持楼主,或者宣传 License 选择的重要性”
    冷嘲热讽楼主不就是在宣传 License 的重要性么?
    难道支持楼主又当又立反而是宣传 License 的重要性?

    至于说打击楼主的创作热情,一个不尊重契约精神的开发者,开源社区需要他的“创作热情”么?他又把开源社区当作什么?

    而且个人开发者和大资本的开源项目在开源社区这个范围内有什么区别?这都需要双标?
    cmdOptionKana
        83
    cmdOptionKana  
       141 天前
    @icyalala

    Linux 以及很多现在著名的开源产品,绝对不是天生就广为人知,大部分开源产品最初都是默默无闻的。

    大部分开源产品也不是成名之后才改开源的,而是在名不见经传的时候就开源,就允许商用。
    dawn009
        84
    dawn009  
       141 天前   ❤️ 1
    @icyalala

    > 即使是使用 MIT 的 Library 、二进制分发的软件,法律上无需附加 License ,但大部分开发者也会在 Acknowledgements 里附上对应 License 以声明贡献者或表示感谢,这是人之常情、对开发者的尊重。

    问题是如果有署名的需求,为什么不直接选一个要求署名的协议呢?又不是没有。

    这种有明确协议却不按字面意思理解,反而求助于“人之常情”的行为,有害。

    我们签合同都会依照白纸黑字来明确权责,而不是靠“人之常情”,否则要合同何用。开源协议也是一种合同。
    xing7673
        85
    xing7673  
       141 天前 via iPhone
    楼主应该要么自己慎重选择协议,要么自己上架 app store (可以让其他用了的 4.3 ),这个是楼主的锅。
    但是,对于直接使用代码上架的人,这种人也值得辩解?莫不是同类?
    icyalala
        86
    icyalala  
       141 天前
    @kop1989smurf

    关于契约精神和道德指责,我们可以看一个例子: https://github.com/appget/appget
    这是相关新闻: https://www.theverge.com/2020/5/28/21272964/microsoft-winget-windows-package-manager-appget-copied

    AppGet 同样是 Apache License ,微软自己重写了一遍,但是相同的逻辑相同的目录结构,微软也没提及原作者的贡献。合法吗?合法。结果呢?作者和社区指责微软抄袭,最终作者心灰意冷停止了维护,很难说这是个好结果。

    至于最后一个问题,并不是"个人开发者和大资本" 的区别,问题在于开源项目的知名度区别。如果项目足够知名,那么如果有人重新发布,那么大家就不容易被对方 "我是开发者,这是我的网站" 所欺骗或产生误解。
    ricky077
        87
    ricky077  
       141 天前
    @Immortal 感觉界面有点像.
    kop1989smurf
        88
    kop1989smurf  
       141 天前
    @icyalala #86
    1 、这个东西微软实现了一遍,对开源社区而言有什么问题?有什么损失?怎么说不是好结果?按照你的逻辑,fork (复刻)这个功能就不该存在?更何况微软的竞品“winget”也是开源的。

    2 、“不容易”又如何?“容易”与“不容易”就可以执行双重的道德标准?
    skiy
        89
    skiy  
       141 天前 via iPhone
    @icyalala 其实合理的行为应该是买断,再重写。参考下 docker compose 。v1 是 python 的,docker 完全有能力重写,但还是买断了。v2 是 go 语言重写的。这样才能提高开源作者的积极。
    icyalala
        90
    icyalala  
       141 天前   ❤️ 2
    @kop1989smurf 看开社区的人是怎么说的,怎么评价的:
    https://github.com/microsoft/winget-cli/issues/353
    我觉得这很清晰
    kios
        91
    kios  
       141 天前
    我的妈呀,真他妈的贱啊
    nitmali
        92
    nitmali  
       141 天前
    没有提及原作者或致谢就是他有问题
    yazinnnn
        93
    yazinnnn  
       141 天前
    更改为严格的开源协议吧,比如 gpl

    不过 gpl 也是允许其他人分发你的代码获利的
    leafre
        94
    leafre  
       141 天前
    Apache License 2.0
    herozzm
        95
    herozzm  
       141 天前
    这种事情已经不是第一次了
    kop1989smurf
        96
    kop1989smurf  
       141 天前
    @icyalala #90 那么你看看原作者在此楼是怎么表述的?楼主又是怎么表述的?
    RickyC
        97
    RickyC  
       141 天前
    @xing7673 当然是同类。我们都是拿来主义。
    icyalala
        98
    icyalala  
       141 天前
    @kop1989smurf 楼主表述:被剽窃",改成 GPL 吧,不讲武德。
    AppGet 作者表述:代码被复制不是问题,我很清楚这一切,但是这对我不公平,我想分享一下。
    ohwind
        99
    ohwind  
       141 天前
    @wangwangc 尽快换协议吧,你选协议之前要考虑好需要拿来做什么,不要跟风选
    kop1989smurf
        100
    kop1989smurf  
       141 天前
    还有一段:

    At the end of the day, I just wanted us Windows users to have a great package manager like Homebrew or apt-get etc. And realistically there is a higher chance we'll have a more successful one (might not be necessary ideal) under Microsoft's name than AppGet.

    所以你认为原作者的代码被 fork ,这仍然是开源社区的损失么?
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2585 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:47 · PVG 21:47 · LAX 06:47 · JFK 09:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.