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

2015-03-06 10:21:18 +08:00
 little_cup

还是有关这个 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 还是我修改后的授权呢?

7383 次点击
所在节点    问与答
32 条回复
lsylsy2
2015-03-06 10:30:46 +08:00
假如你开源的项目包含了图标,那么他就有权使用;
不过他必须保留mit协议信息的(要有“本软件基于xxx,其为mit协议”),可以投诉。
修改协议需要所有(所!有!)作者同意,同时旧版本无法收回。
lsylsy2
2015-03-06 10:33:00 +08:00
你用gpl应该没啥问题。
gpl最大的限制是,如果有别的程序使用了这个代码(比如作为模块),那么那个程序也会被“传染”成gpl。你这个程序是独立运行的,问题不大。
little_cup
2015-03-06 10:36:20 +08:00
@lsylsy2 非常感谢!吃一堑长一智,以后争取不再犯类似错误了。
保留信息指的何种层面的保留呢?比如我要求他在软件描述中增加到 Github 或我的 Google Play 的链接是否合理?
phoeagon
2015-03-06 10:37:48 +08:00
JoyNeop
2015-03-06 10:38:06 +08:00
常年 All Rights Reserved 表示省心多了……

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

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

下次不要这样就好  哈哈
little_cup
2015-03-06 10:50:17 +08:00
@dacapoday
@gDD
非常感谢……长知识了。
大改还是算了吧,之前也是打算的再修一到两个版本的 Bug,对现有的用户负责。对自己而言这个项目再学习进步的价值已经不大,开学了就开下一个坑。
真是惨痛的教训……
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
2015-03-06 11:15:47 +08:00
mcfog
2015-03-06 11:38:12 +08:00
首先,无论你写任何协议,只要你推广或者about里带着github链接,必然会有几率被这样搞,即使你写GPL,人家一样会搞。个人开发者就不要梦想着靠协议来躲开这些人。

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

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

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

然后1) 可以投诉到Play市场,让对方改图标; 2) 如果目前图标版权不是你自己的,那就自己改图标。
little_cup
2015-03-06 11:47:12 +08:00
@mcfog 非常感谢!写的主要目的是学习练手,发 Play & Github 主要是为了攒简历……
learnshare
2015-03-06 11:47:16 +08:00
既然开源出去,被滥用是肯定的。如果代码不太有商业价值,就随他去吧。
little_cup
2015-03-06 11:48:09 +08:00
@HowardMei 图形/UI版权声明该如何增加呢?
jarlyyn
2015-03-06 11:53:30 +08:00
基础库用mit,然后在自己的产品里调用。
产品本身不要开源。
你不想给别人用去开源干嘛?都不该上github的public源
HowardMei
2015-03-06 11:59:41 +08:00
@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.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/174851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX