如何选择开源许可证? 作者: 阮一峰 日期: 2011年5月 2日 如何为代码选择开源许可证,这是一个问题。 世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。 乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。 下面是我制作的中文版,请点击看大图。 (完)
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 | # | 引用
南明离火 说:
阮兄,问个问题,如果现有的使用GPL许可的,比如mysql;在被oracle收购后,改成了闭源,新的版本限制对旧版本的mysql生效么?
2012年3月30日 10:44 | # | 引用
阮一峰 说:
许可证改变,对改变之前的用户不起作用。
2012年3月30日 18:53 | # | 引用
南明离火 说:
哦~ 明白了~ 谢谢。
2012年3月30日 21:34 | # | 引用
alswl 说:
《开源之道》讲了好几章的东西,不如这么一张图,大赞
2012年4月16日 12:02 | # | 引用
hardykevin 说:
阮老师请问AGPL是什么样的开源协议?它与GPL又有什么不同?
2012年4月19日 23:52 | # | 引用
superdiablo 说:
"新增代码是否采用同样许可证?"应该改为"链接代码是否采用同样许可证?"吧
2012年7月 3日 10:36 | # | 引用
theliujianhua 说:
一张图胜过千言万语。
2012年11月10日 15:44 | # | 引用
cxc 说:
今天算是明白了啥叫豁然开朗。
2014年1月 5日 13:26 | # | 引用
nx0105 说:
请问这个连接是不是对于静态连接和动态连接都是一样的
2014年11月19日 13:00 | # | 引用
王祥 说:
老师您好,这张图我看到都是从修改了源码开始的。如果我单单是用了这个软件而没有修改源码的话是什么情况呢?
2016年3月20日 05:13 | # | 引用
crossoverJie 说:
涨姿势了
2016年7月 1日 09:40 | # | 引用
程大治 说:
您好,我在写一篇有关如何开源Android库的文章,可否使用这里的图片?我会同时提供出处!我的博客:blog.chengdazhi.com
2016年7月29日 16:03 | # | 引用
woderia 说:
有个问题咨询下,如果开源软件某个版本前用的apache,之后用的gpl,如果我下载这个版本前的代码要遵循哪个协议?
2017年1月12日 13:28 | # | 引用
分数 说:
原图的版权是mit的吗
2017年3月23日 13:12 | # | 引用
Bruce Yang 说:
棒棒!talk is cheap,show me the picture。
2017年8月29日 14:36 | # | 引用
genrwoody 说:
静态链接的和直接用源码编译有区别吗,代码都在你的程序里了。
2017年9月 7日 13:33 | # | 引用
Aaron 说:
您好,我可以转发你这篇文章到我的头条号吗?
谢谢
2017年9月19日 14:48 | # | 引用
Aaron 说:
哈哈,看到大神你的信息了,那我就转发了啊。如果有任何问题,请您给我留言。
文档信息
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
发表日期: 2011年5月 2日
更多内容: 档案 » 开发者手册
博客文集:《前方的路》,《未来世界的幸存者》
社交媒体: twitter, weibo
Feed订阅:
2017年9月19日 14:51 | # | 引用
韩小鱼 说:
GPL 协议保护项目文件结构吗?文件结构类似但是内容不一样。
2018年5月 8日 17:34 | # | 引用
FFF团 说:
想引用一个MIT协议的源码进行再开发软件,这个开发出来的软件(闭源),需要提供什么?那份源码的MIT协议吗?
2018年12月28日 22:44 | # | 引用
Jiang 说:
请问开源软件证可证一般要怎么告知用户?
2021年6月15日 17:50 | # | 引用
JackZhouMine 说:
https://choosealicense.rustwiki.org/ 这个网站可以指导开发者选择一个适合的协议。
2022年1月13日 15:19 | # | 引用
笑容 说:
是时候更新一下这个图了。 毕竟增加了很多新的协议。 哈哈。 感谢
2022年4月25日 11:18 | # | 引用
大仙 说:
请问这个留言系统是用得哪个啊?
2023年5月23日 10:08 | # | 引用
fishelly 说:
很好奇,一个开源项目使用了MIT协议,同时又附上了补充协议“禁止商用”。那么这个是否符合规定?
2024年10月16日 15:29 | # | 引用