分类:
作者: 阮一峰
日期: 2011年5月 2日
如何为代码选择开源许可证,这是一个问题。
世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。
乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。
下面是我制作的中文版,请点击看大图。
(完)
Peter 说:
请问比如像 Javascript 这样的客户端脚本,是不是不加密就算开源了?
jlake 说:
千言万语,不如一张图。
Jacobmee 说:
对于 LGPL的描述有问题。
Urumchi 说:
恩, 只有对LGPL做连接/调用而不是源代码包含/修改, 才可以避免自己也同样成为LGPL.
ray5 说:
翻译的图跟原图不一样啊
wadefelix 说:
图不一样,原作者已更新了图表
Ruan YiFeng 说:
引用Peter的发言: Javascript 这样的客户端脚本,是不是不加密就算开源了?
引用Peter的发言:
Javascript 这样的客户端脚本,是不是不加密就算开源了?
如果没有版权说明的话,那么就属于保留全部版权,你只能借鉴,不能直接拿过来用。
引用Jacobmee的发言: 对于 LGPL的描述有问题。
引用Jacobmee的发言:
已经修改过了,现在的版本应该是正确的。
引用ray5的发言: 翻译的图跟原图不一样啊
引用ray5的发言:
原图的英语表述,有些地方不明确,我把它改掉了。
另外,原图还区分不同许可证的版本。我一律选择各个许可证的最新版本。
OSMSG开源资讯 说:
哈哈 好东西,总算分清这几个许可证了。。。阮老师威武
引用wadefelix的发言: 图不一样,原作者已更新了图表
引用wadefelix的发言:
翻译的新图 http://blog.csdn.net/wadefelix/archive/2011/05/02/6384317.aspx 请指正
路人癸 说:
楼上的图更详细一点,但辨识程度似乎没有阮一峰作的好——1.没有是和否的区别,单凭红蓝箭头大家就能知道?2.判断流程的箭头过于庞大,几乎和判断条件一样大,导致整个图的大小超出了页面范围,右边的都看不清楚是什么。
抓住几个关键节点后,用图表来区分这些复杂的分类确实要方便很多了。
Chri 说:
您好,请问CC Lisence是属于哪种的,他的性质又是如何,是否是最开放的,谢谢。
DK 说:
用了,写了这么多年的程序,第一次把这几种开源许可弄明白…
FX 说:
呵呵,这个都可以写个简单的脚本判断了
RedNax 说:
引用Chri的发言: 您好,请问CC Lisence是属于哪种的,他的性质又是如何,是否是最开放的,谢谢。
引用Chri的发言:
我来回答一下吧。 cc是一系列授权的总称,究竟是什么性质看你选择哪种授权方式。 在官网有介绍: http://creativecommons.org/licenses/ 总的来说和软件授权并不对应。比如CC有 ND(禁止演绎)这种形式,开源软件就没哪个协议不允许你演绎(修改代码)的(不修改就能用的情形不多吧);NC(禁止商业使用)也没有,即使如GPL,你做的二进制程序卖钱也可以,只是要提供所有源代码并且以GPL发布(虽然别人可以直接抓下去编译出来,但可没禁止你标价贩卖)。
阿木 说:
之前看那些个概念介绍,的确很晕,这个就清晰明了。
yfpeng 说:
很好,但是与原图不同啊.
引用Chri的发言: 请问CC Lisence是属于哪种的,他的性质又是如何,是否是最开放的,谢谢。
请问CC Lisence是属于哪种的,他的性质又是如何,是否是最开放的,谢谢。
cc主要用于内容文档,不是为分享代码而设计的。
南 靖男 说:
MIT是最少约束的选择。GPL是最多约束的。 如果是个人随意作品,建议MIT许可。 如果是公司或者需要严格保护,GPL。
淬念 说:
这绝对是我见到过的最好的开源License说明,感谢一峰的劳动和介绍。
pt 说:
http://hginit.com/00.html feng哥,你知道joel的hg系列里面的图片是怎么画的么? 像是用手画的,但是边框又很直,然后上面的命令行的图片发现其实是css效果来的的,太有意思了
引用南 靖男的发言: MIT是最少约束的选择。GPL是最多约束的。 如果是个人随意作品,建议MIT许可。 如果是公司或者需要严格保护,GPL。
引用南 靖男的发言:
最少约束的直接发布在Public Domain中,知名的SQLite即是发布在公开领域
ssdt 说:
这些许可证难道都是这么绝对互补的吗
我有点不信
gpl 应该和lpgl互补度更高
中间的mozilla许可或许太唯一太顽固太投机,反而是不可持续的许可
所有不和gpl和lgpl兼容的许可,迟早被淘汰
包括商业公司和商业许可
Register 说:
谢谢阮兄的文章,未经您的同意已转载至我们的论坛,如果您不允许,请通知我删除。
yinheli 说:
还是这张图比较简明. 收藏!!!
wecing 说:
引用Register的发言: 谢谢阮兄的文章,未经您的同意已转载至我们的论坛,如果您不允许,请通知我删除。
引用Register的发言:
看来阮老师需要再写一篇关于CC的文章了。
azziporah 说:
果然是一图胜千言啊 以前看条款,怎么看都没感觉 这图一看就明白了(至少明白了个大概)
Yeking 说:
原文的链接已变 http://paulmillr.com/posts/simple-description-of-popular-software-licenses/
您的留言 (HTML标签部分可用)
您的大名:
«-必填
电子邮件:
«-必填,不公开
个人网址:
«-我信任你,不会填写广告链接
记住个人信息?
Peter 说:
请问比如像 Javascript 这样的客户端脚本,是不是不加密就算开源了?
2011年5月 2日 04:31 | 档案 | 引用
jlake 说:
千言万语,不如一张图。
2011年5月 2日 09:33 | 档案 | 引用
Jacobmee 说:
对于 LGPL的描述有问题。
2011年5月 2日 09:34 | 档案 | 引用
Urumchi 说:
恩, 只有对LGPL做连接/调用而不是源代码包含/修改, 才可以避免自己也同样成为LGPL.
2011年5月 2日 10:59 | 档案 | 引用
ray5 说:
翻译的图跟原图不一样啊
2011年5月 2日 11:14 | 档案 | 引用
wadefelix 说:
图不一样,原作者已更新了图表
2011年5月 2日 12:06 | 档案 | 引用
Ruan YiFeng 说:
如果没有版权说明的话,那么就属于保留全部版权,你只能借鉴,不能直接拿过来用。
2011年5月 2日 12:14 | 档案 | 引用
Ruan YiFeng 说:
已经修改过了,现在的版本应该是正确的。
原图的英语表述,有些地方不明确,我把它改掉了。
另外,原图还区分不同许可证的版本。我一律选择各个许可证的最新版本。
2011年5月 2日 12:17 | 档案 | 引用
OSMSG开源资讯 说:
哈哈 好东西,总算分清这几个许可证了。。。阮老师威武
2011年5月 2日 12:57 | 档案 | 引用
wadefelix 说:
翻译的新图
http://blog.csdn.net/wadefelix/archive/2011/05/02/6384317.aspx
请指正
2011年5月 2日 13:02 | 档案 | 引用
路人癸 说:
楼上的图更详细一点,但辨识程度似乎没有阮一峰作的好——1.没有是和否的区别,单凭红蓝箭头大家就能知道?2.判断流程的箭头过于庞大,几乎和判断条件一样大,导致整个图的大小超出了页面范围,右边的都看不清楚是什么。
抓住几个关键节点后,用图表来区分这些复杂的分类确实要方便很多了。
2011年5月 2日 14:03 | 档案 | 引用
Chri 说:
您好,请问CC Lisence是属于哪种的,他的性质又是如何,是否是最开放的,谢谢。
2011年5月 2日 14:41 | 档案 | 引用
DK 说:
用了,写了这么多年的程序,第一次把这几种开源许可弄明白…
2011年5月 2日 14:57 | 档案 | 引用
FX 说:
呵呵,这个都可以写个简单的脚本判断了
2011年5月 2日 15:48 | 档案 | 引用
RedNax 说:
我来回答一下吧。
cc是一系列授权的总称,究竟是什么性质看你选择哪种授权方式。
在官网有介绍:
http://creativecommons.org/licenses/
总的来说和软件授权并不对应。比如CC有 ND(禁止演绎)这种形式,开源软件就没哪个协议不允许你演绎(修改代码)的(不修改就能用的情形不多吧);NC(禁止商业使用)也没有,即使如GPL,你做的二进制程序卖钱也可以,只是要提供所有源代码并且以GPL发布(虽然别人可以直接抓下去编译出来,但可没禁止你标价贩卖)。
2011年5月 2日 19:03 | 档案 | 引用
阿木 说:
之前看那些个概念介绍,的确很晕,这个就清晰明了。
2011年5月 2日 21:42 | 档案 | 引用
yfpeng 说:
很好,但是与原图不同啊.
2011年5月 2日 23:21 | 档案 | 引用
Ruan YiFeng 说:
cc主要用于内容文档,不是为分享代码而设计的。
2011年5月 3日 01:26 | 档案 | 引用
南 靖男 说:
MIT是最少约束的选择。GPL是最多约束的。
如果是个人随意作品,建议MIT许可。
如果是公司或者需要严格保护,GPL。
2011年5月 3日 08:06 | 档案 | 引用
淬念 说:
这绝对是我见到过的最好的开源License说明,感谢一峰的劳动和介绍。
2011年5月 3日 09:19 | 档案 | 引用
pt 说:
http://hginit.com/00.html
feng哥,你知道joel的hg系列里面的图片是怎么画的么?
像是用手画的,但是边框又很直,然后上面的命令行的图片发现其实是css效果来的的,太有意思了
2011年5月 3日 21:40 | 档案 | 引用
wadefelix 说:
最少约束的直接发布在Public Domain中,知名的SQLite即是发布在公开领域
2011年5月 3日 22:08 | 档案 | 引用
ssdt 说:
这些许可证难道都是这么绝对互补的吗
我有点不信
2011年5月 5日 21:45 | 档案 | 引用
ssdt 说:
gpl 应该和lpgl互补度更高
中间的mozilla许可或许太唯一太顽固太投机,反而是不可持续的许可
所有不和gpl和lgpl兼容的许可,迟早被淘汰
包括商业公司和商业许可
2011年5月 5日 21:51 | 档案 | 引用
Register 说:
谢谢阮兄的文章,未经您的同意已转载至我们的论坛,如果您不允许,请通知我删除。
2011年5月 7日 09:47 | 档案 | 引用
yinheli 说:
还是这张图比较简明. 收藏!!!
2011年5月11日 09:10 | 档案 | 引用
wecing 说:
看来阮老师需要再写一篇关于CC的文章了。
2011年6月21日 13:46 | 档案 | 引用
azziporah 说:
果然是一图胜千言啊
以前看条款,怎么看都没感觉
这图一看就明白了(至少明白了个大概)
2011年10月23日 17:17 | 档案 | 引用
Yeking 说:
原文的链接已变
http://paulmillr.com/posts/simple-description-of-popular-software-licenses/
2012年1月25日 14:36 | 档案 | 引用