自己有想要开源的项目,但是不想被用来做与自己竞争的产品,如何原则开源协议,双重开源协议是用来干这个的吗?

2015-02-13 16:52:12 +08:00
 WildCat
具体如何操作? LICENSE 文件怎么写?
假设 MIT + 自己的一个额外限制协议
4373 次点击
所在节点    问与答
17 条回复
vzch
2015-02-13 17:17:22 +08:00
协议其实是君子协定,要真想限制还是不要用 MIT 这个比较宽松
vzch
2015-02-13 17:22:10 +08:00
LICENSE 通常建项目或打包程序生成的直接用他的格式,我想自定义限制在生成基础上添加些关键词
stanhou
2015-02-13 17:24:00 +08:00
既然你担心他做竞争产品,就禁止他商用,用CPAL协议。
akfish
2015-02-13 17:41:19 +08:00
开源和禁止商用是矛盾的概念,free software的free就包括商用,不允许商用就not free了。

大多数开源license并不允许你区别授权,比如你不能说满足xxxx条件的人能以MIT协议获得授权,而其他人则是另外的协议。

MIT,BSD,Apache这种协议不要考虑,太过宽松。那也就只有GPL协议可选了,因为大多数商业公司看到GPL就会恶心得吃不下饭(当然国内的流氓公司连屎都吃得下),所以如果你提供GPL以外的授权,他们肯定会欣然接受。

另外还有一个细节就是要附带一个Contributor Agreement,后续所有的contributor需要书面签署CA,不然不要merge他们的代码。CA的作用是让你可以随时修改license乃至闭源,这样能获得凌驾于license的权利。当然,所有签署了CA的contributor也获得了联合版权,闭源后他们也能继续在CA限定范围内免费使用。Google,Apple等公司的开源项目,往往都有CA。

需要注意的是,所有开源协议的法律强制效力,是需要版权所有者(即lz你)去强制实施的,你没有那个能力把人告到破产,就最好别开源。

另外一个选择就是不开源,只提供商业版,但是允许非盈利用途免费使用。
9hills
2015-02-13 17:43:07 +08:00
双重协议不是 A与B,而是A或B
所以别人只需要遵守你的MIT即可,无法做到任何限制。
9hills
2015-02-13 17:44:41 +08:00
GPL是可以区别授权的,开源的代码是GPL的。但是可以单独做商业授权,很方便。
@akfish
lingyired
2015-02-13 17:45:29 +08:00
@akfish 自由软件不等于开源软件
akfish
2015-02-13 17:50:04 +08:00
@lingyired OSI系的open source license认为free == open
"Free software" and "open source software" are two terms for the same thing: software released under licenses that guarantee a certain, specific set of freedoms.
http://opensource.org/faq#free-software

用open一词是为了解决free一词在语义上的模糊,避免和free of money混淆。
zeroten
2015-02-13 17:58:43 +08:00
@akfish 应该可以不用现成的协议,而自己写一个满足楼主的需求吧?
lingyired
2015-02-13 18:02:37 +08:00
@akfish
- -
Richard Stallman 不这么认为呀。

Why Open Source Misses the Point of Free Software https://www.gnu.org/philosophy/open-source-misses-the-point.html

专访自由软件之父 http://tech.sina.com.cn/it/special/people/gnu/
vzch
2015-02-13 18:03:43 +08:00
@zeroten 现有著名协议都是精心拟定的,经过众多诉讼与口水的考验,自己些除非熟悉著作权的内容,否则很容易有漏洞可钻
akfish
2015-02-13 18:04:59 +08:00
@zeroten 可以是可以,但这种有法律效力的文书,最好找专业人士,这样又增加成本了。
现有的开源协议是久经考验的,大公司实践N久了,基本上没有什么法律上的漏洞可钻,直接拿来用省时省力省钱。
akfish
2015-02-13 18:10:25 +08:00
@lingyired 那是GNU系的想法,意识形态之争你懂的。
lingyired
2015-02-13 18:10:47 +08:00
@akfish 反正不关我事,哈哈
breeswish
2015-02-13 21:01:49 +08:00
来一发 AGPL?
chinafeng
2015-02-13 21:07:04 +08:00
可防君子,无防小人
jedihy
2015-02-14 09:31:00 +08:00
开源了就防不住了,别人根本不需要用你的代码,只要参考一下就能做一个跟你竞争

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

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

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

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

© 2021 V2EX