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

如何正确的选择开源协议?今天早上起来一下子被打懵了。

  •  2
     
  •   little_cup · 2015-03-06 10:21:18 +08:00 · 7520 次点击
    这是一个创建于 3553 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是有关这个 App

    前段时间有一个疑似机器人的帐号发 issue要求加上开源协议,因为对各种开源协议都不了解,外加想到之前自己受惠 fork 的一个项目是 MIT 的,想到跟着别人选择总是不会太糟,于是选择了 MIT。

    然后今天在 Google Play 上习惯性的搜索自己的 App,一下子懵了:

    手机搜索截图

    而在桌面版上,它甚至在我之前:

    桌面搜索截图

    下载该 App 试用后,发发现其相对于我的原版,除了 App 名字和删去开源链接外没有进行任何更改。

    于是才想起去认真了解开源协议相关知识,搜索后才了解到 MIT 似乎是放弃了自身所有的权利?……一下子真的被打得很懵。

    1. 这次事出自己对相关协议不了解,主要责任在自己,我已知错。

    2. 顺带吐槽一下 Google 莫名其妙的搜索排序规则,我从 Clipboard manager 这个关键字的排名 40 开外爬到现在用了 1个多月的时间,为什么这个 App 100+ 的下载就可以排在我前面?

    3. 如果我发邮件要求该人更改图标,有无协议或规范的支持?

    4. 我该如何正确选择开源协议?我希望别人能够随意修改和个人使用,不能用于商业行为或这样只改个名字就上架 Google Play。网络上常见的帮助选择协议的文章似乎没有讲得这么细……

    5. 如果我现在将协议更换为其他,那么更换之后,对于其他的新来的阅读到此项目的人,更换的 commit 之前的代码是处于 MIT 还是我修改后的授权呢?

    第 1 条附言  ·  2015-03-07 15:13:31 +08:00
    @lsylsy2
    @gDD
    @mcfog
    @HowardMei
    @monsoon
    @9hills
    今天收到 Google 的邮件:

    您好,

    感谢您与我们联络。

    我们需要您提供更多信息才能继续调查您的投诉。对于您提供的每个网址,请准确指出您声明侵犯了您的版权的内容:

    https://play.google.com/store/apps/details?id=(指向那个山寨 App)

    我们收到这些资讯后,便会继续调查作业。


    Google 小组敬上

    奇怪我明明用的英文投诉……
    我想了一下投诉的理由主要有2点:一是大家提到的图标/资源(他甚至连 Play 上的截图都是直接复制的),二是他删去了所有有关我原始项目的字眼和链接。
    请问:我的上述投诉理由有没有问题或可以补充的,以及该如何回复 Google 的邮件比较正式一些?
    再次谢谢诸位!

    希望这次的事件,能给更多和我类似的,对开源等概念不是特别清楚的童鞋以警示和提醒。
    第 2 条附言  ·  2015-03-11 08:28:09 +08:00
    更新:今天收到邮件,Google 把山寨的干掉了,谢谢大家。
    32 条回复    2015-03-08 16:48:34 +08:00
    lsylsy2
        1
    lsylsy2  
       2015-03-06 10:30:46 +08:00 via Android   ❤️ 1
    假如你开源的项目包含了图标,那么他就有权使用;
    不过他必须保留mit协议信息的(要有“本软件基于xxx,其为mit协议”),可以投诉。
    修改协议需要所有(所!有!)作者同意,同时旧版本无法收回。
    lsylsy2
        2
    lsylsy2  
       2015-03-06 10:33:00 +08:00 via Android   ❤️ 1
    你用gpl应该没啥问题。
    gpl最大的限制是,如果有别的程序使用了这个代码(比如作为模块),那么那个程序也会被“传染”成gpl。你这个程序是独立运行的,问题不大。
    little_cup
        3
    little_cup  
    OP
       2015-03-06 10:36:20 +08:00
    @lsylsy2 非常感谢!吃一堑长一智,以后争取不再犯类似错误了。
    保留信息指的何种层面的保留呢?比如我要求他在软件描述中增加到 Github 或我的 Google Play 的链接是否合理?
    phoeagon
        4
    phoeagon  
       2015-03-06 10:37:48 +08:00
    JoyNeop
        5
    JoyNeop  
       2015-03-06 10:38:06 +08:00
    常年 All Rights Reserved 表示省心多了……

    又不是 Linux Kernel 这么基础设施级的软件,开源意义不大。
    phoeagon
        6
    phoeagon  
       2015-03-06 10:39:16 +08:00
    @little_cup @lsylsy2 GPL也不能保證別人的app不排序到你前面啊。。。。
    little_cup
        7
    little_cup  
    OP
       2015-03-06 10:40:40 +08:00
    @JoyNeop 本意只是想以后毕业时能把 Github 刷满绿简历好看点……啊惨痛的教训……
    dacapoday
        8
    dacapoday  
       2015-03-06 10:41:26 +08:00 via Android   ❤️ 1
    壮士斷腕:停止当前版本开发,另外fork一个闭源的,界面,图标大改。
    不管怎样,那些山寨版是灭不掉的
    gDD
        9
    gDD  
       2015-03-06 10:42:09 +08:00   ❤️ 1
    一般会把代码开源(MIT 之类的),然后说明 icon 是商标™,不得衍生使用。

    参考 Sequel Pro:
    http://www.sequelpro.com/legal
    https://twitter.com/sequelpro/status/538099350639874050
    acgeo
        10
    acgeo  
       2015-03-06 10:45:06 +08:00
    已经这样了。。

    下次不要这样就好  哈哈
    little_cup
        11
    little_cup  
    OP
       2015-03-06 10:50:17 +08:00
    @dacapoday
    @gDD
    非常感谢……长知识了。
    大改还是算了吧,之前也是打算的再修一到两个版本的 Bug,对现有的用户负责。对自己而言这个项目再学习进步的价值已经不大,开学了就开下一个坑。
    真是惨痛的教训……
    cctvsmg
        12
    cctvsmg  
       2015-03-06 11:10:21 +08:00
    当然要用WTFPL协议
    WTFPL ---> Do What the Fuck You Want to Public License
    http://en.wikipedia.org/wiki/WTFPL
    zenozeng
        13
    zenozeng  
       2015-03-06 11:15:47 +08:00
    mcfog
        14
    mcfog  
       2015-03-06 11:38:12 +08:00   ❤️ 1
    首先,无论你写任何协议,只要你推广或者about里带着github链接,必然会有几率被这样搞,即使你写GPL,人家一样会搞。个人开发者就不要梦想着靠协议来躲开这些人。

    其次,app能火,开发只是第一步,即使那个人的山寨版火了,你的这段经历写在简历里反而更亮眼

    想明白你的目的是啥?方便自己&大家,简历里有靠谱项目,被人抄算不上什么坏事

    最后,如果希望维权,可以试试发邮件给google play说明情况?
    HowardMei
        15
    HowardMei  
       2015-03-06 11:42:48 +08:00
    @gDD 是对的,而且一般默认图形/UI资源不包含在代码内,像envato的themeforest主题市场就是利用这点来规避GPL的感染性,所以保持现在的MIT协议,加一段图形/UI版权声明是没问题的。

    然后1) 可以投诉到Play市场,让对方改图标; 2) 如果目前图标版权不是你自己的,那就自己改图标。
    little_cup
        16
    little_cup  
    OP
       2015-03-06 11:47:12 +08:00
    @mcfog 非常感谢!写的主要目的是学习练手,发 Play & Github 主要是为了攒简历……
    learnshare
        17
    learnshare  
       2015-03-06 11:47:16 +08:00
    既然开源出去,被滥用是肯定的。如果代码不太有商业价值,就随他去吧。
    little_cup
        18
    little_cup  
    OP
       2015-03-06 11:48:09 +08:00
    @HowardMei 图形/UI版权声明该如何增加呢?
    jarlyyn
        19
    jarlyyn  
       2015-03-06 11:53:30 +08:00
    基础库用mit,然后在自己的产品里调用。
    产品本身不要开源。
    你不想给别人用去开源干嘛?都不该上github的public源
    HowardMei
        20
    HowardMei  
       2015-03-06 11:59:41 +08:00   ❤️ 1
    @little_cup 可以在readme里面加一段:
    This application is comprised of two parts:
    (1) the Java code are licensed under the MIT license;
    (2) All rights of other parts, but not limited to the icons, images, and UI designs are reserved.
    monsoon
        21
    monsoon  
       2015-03-06 12:11:26 +08:00   ❤️ 1
    这种事情经常在 Google Play 上发生。我每个月都可以在 reddit 的Androiddev 频道里看到这种事情,Google客服对于这种事情应该也很有经验了。

    https://support.google.com/googleplay/answer/2853570?p=report_content&hl=zh-Hans&rd=1
    点击去,
    里面有个
    https://support.google.com/legal/contact/lr_dmca?product=googleplay&hl=zh-Hans

    我认为就是是 MIT 协议,Google 看到的也会帮你把那款应用撤下来的。
    不用 Fork,直接把协议改成其他协议应该也没问题。
    futursolo
        22
    futursolo  
       2015-03-06 12:12:44 +08:00
    @lsylsy2
    如果怕相同协议限制的话用LGPL不就行了。
    monsoon
        23
    monsoon  
       2015-03-06 12:16:27 +08:00
    或者你直接进到那个应用的页面,点击页面最下方的 Flag as inappropriate 也可以。
    9hills
        24
    9hills  
       2015-03-06 13:01:36 +08:00 via iPhone   ❤️ 1
    所有的开源协议都是不限制商业使用的,换句话说限制商业使用的都是假开源。

    lz你的这种情况可以自己写个license或者用cc禁止商用 即可,但使用了这些了license后,虽然你公开了源代码,但不是开源,也就是不open
    little_cup
        25
    little_cup  
    OP
       2015-03-06 13:06:35 +08:00
    @9hills 谢谢!原来是这样,学习了。
    9hills
        26
    9hills  
       2015-03-06 13:10:38 +08:00 via iPhone
    @little_cup 恩,展示给别人看的,没必要开源。用 cc 署名禁止演绎禁止商业使用就好了……
    LINAICAI
        27
    LINAICAI  
       2015-03-06 13:12:49 +08:00
    产品为毛要开源。。。
    jemyzhang
        28
    jemyzhang  
       2015-03-06 13:48:08 +08:00
    不了解, 下载点赞先
    clyecao
        29
    clyecao  
       2015-03-06 14:41:46 +08:00 via Android   ❤️ 1
    学习了,需要注意
    Mavious
        30
    Mavious  
       2015-03-06 22:14:41 +08:00 via Android   ❤️ 1
    lz的剪纸堆一直在用呢,不是码农,没啥建议,感谢lz的努力!
    我在酷安上下载更新的。
    renzhn
        31
    renzhn  
       2015-03-08 14:56:08 +08:00
    果然不能开源..
    little_cup
        32
    little_cup  
    OP
       2015-03-08 16:48:34 +08:00 via Android
    @renzhn 嗯,很惨重的代价...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3629 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:28 · PVG 12:28 · LAX 20:28 · JFK 23:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.