如何正确的选择开源协议?今天早上起来一下子被打懵了。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
little_cup
V2EX    问与答

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

  •  2
     < href="Javascript:" Onclick="downVoteTopic(174851);" class="vote">
  •   little_cup 2015-03-06 10:21:18 +08:00 7926 次点击
    这是一个创建于 3882 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是有关这个 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
    既然开源出去,被滥用是肯定的。如果代码不太有商业价值,就随他去吧。
        18
    little_cup  
    OP
       2015-03-06 11:48:09 +08:00
    @HowardMei 图形/UI版权声明该如何增加呢?
    little_cup
    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     Solana     3388 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 10:45 PVG 18:45 LAX 03:45 JFK 06:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86