如何选择各类开源许可证,有何异同?

IT 行业诞生初期,开源精神极大的推动了计算机行业的飞速发展。对于人类影响深远的例如 Internet 协议,邮件,FTP 服务,都是免费的。

计算机科学家们,无私共享出他们智慧结晶的产物。随着行业的发展,越来越多的从业者加入了这个行业,可如果秉持着开源免费的思想,缺乏市场足够的资金支持,行业也难以走的长远。因此,正是基于这个目的,开源社区衍生出了诸多的协议许可证。要使用开源自然可以,但使用者就必须遵守开源所附带的协议,只在许可范围内行事。

许可证是为了保护作者的合法权益(包括合理的知识产权和专利权力以及避免因开源惹火烧身的免责的权力),开源使软件开发者避免了重复造轮子,让后来者可以站在巨人的肩膀上做更多的事。有的许可协议宽松,有的协议严格,在此对这些协议进行一次梳理。

协议,当前有 开源许可证知识共享协议(Creative Commons, CC) 。开源许可证主要针对软件领域,知识共享协议主要针对文化产出,例如文章、数据、视频等。



开源许可证

权力术语

下表是对开源许可证中所划分的权力粒度的梳理,开源许可证会对下列的权力进行授权,或者加以限制,又或者要求有条件的使用。

名称 中文名 备注
Commercial use 商业应用 指是否可将开源用于商业目的
Distribution 发布发行 指是否允许发布发行依赖于此开源的项目
Modification 修改 指是否允许在开源项目上做修改
Patent use 申请专利 指是否允许用于专利申请
Private use 个人使用 指是否允许个人学习,修改和使用
License and copyright notice 注明协议和版权 指是否要求注明协议以及版权说明
State changes 注明变更 指对于开源代码的修改是否要明确说明
Liability 义务 指开源软件是否承担使用其后带来的义务
Trademark use 商标使用 指开源软件是否可用在商标或在商标中暗示使用
Warranty 报修维护 指开源软件是否提供后期维护
Same License 同协议下 指基于开源二次开发的产品若发布,是否要基于相同或相近的协议之下
Disclose source 公开源码 指基于开源开发的代码是否也需要开源


常用许可证梳理

简单来说,开源许可证主要有五大类,GPL/LGPL, Apache, MIT/BSD。GPL/LGPL 具有一定的传染性,会要求使用源码的项目也要开源,MIT/BSD 则最为慷慨,允许使用者任意使用,但需保留作者信息,而 Apache 在 MIT/BSD 至少保留了专利使用的权利。

  1. MIT License:只想简简单单的使用,安心 Coding,不在乎别人怎么用。例如 Babel、.NET Core、Rails、JQuery 都是基于 MIT
  2. Apache License:Apache 也是较为宽松,但是保留了专利的权力。诸如 Elasticsearch、Kubernetes、Swift 采用了此许可
  3. GNU GPLv3:关心代码的分享和使用,需要使用者也要基于相同的协议,公开源码,且保留了专利的权力。Bash、GIMP 等软件是基于此许可。
MIT License Apache License 2.0 GNU GPLv3 GNU AGPLv3 GNU LGPLv3 Mozilla Public License 2.0 The Unlicense
商业应用 Permit P P P P P P
发布发行 P P P P P P P
修改 P P P P P P P
申请专利 P P P P P
个人使用 P P P P P P P
注明协议和版权 Conditional C C C C C
注明变更 C C C C
义务 Limit L L L L L L
商标使用 L L
报修维护 L L L L L L L
同协议下 C C C C
公开源码 C C C C

更多许可证说明参考该链接:https://choosealicense.com/appendix/

MIT License,协议原文 https://opensource.org/licenses/MIT
Apache License 2.0, 协议原文 http://www.apache.org/licenses/LICENSE-2.0.html
GNU GPLv3 协议原文 https://www.gnu.org/licenses/gpl-3.0.txt

即使是最具传染性的GPL、LGPL也是可以通过编译成独立二进制的方式来规避的, 参考 Android ,在争议中逃离 Linux 内核的 GPL 约束。 摘自知乎,auxten 的回答,https://www.zhihu.com/question/19568896


如何选择

关于如何选择,Paul Bagwell 画了一张分析图。原链接找不到了,只找到了阮一峰在其博客翻译后的一张中文版。

image

摘自阮一峰博客,http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html


知识共享协议

以上阐述了开源软件和代码相关的协议,但有时很多产出并非是代码,也有文章、视频、字体、图片等等,此时就不再适用以上的协议了,而是采用知识共享协议(Creative Commons,简称 CC)


许可协议

中文 缩写 说明 HTML 使用
署名 CC BY 允许其他人发行、再混合、调整、以您的作品为基础进行创作,即使出于商业性目的,只要他们指明您的原创身份。推荐用于最大程度散布和使用被授权作品。 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">知识共享署名 4.0 国际许可协议</a>进行许可。
署名-相同方式共享 CC BY-SA 允许其他人再混合、调整和基于您的作品进行创作,即使出于商业性目的,只要他们以相同条款标识您的姓名或名称、许可他们的新作品。基于您的作品的所有新作品将适用相同的许可协议,因此所有的演绎作品均允许商业性使用。维基百科使用此许可协议 <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享署名-相同方式共享 4.0 国际许可协议</a>进行许可。
署名-禁止演绎 CC BY-ND 允许再发行作品,无论是商业性和非商业性使用,只要该作品未经修改、删减,且给您署名。 <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nd/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">知识共享署名-禁止演绎 4.0 国际许可协议</a>进行许可。
署名-非商业性使用 CC BY-NC 允许其他人再混合、调整、基于您的作品进行非商业性创作。尽管他们的新作品必须署您的名并要出于非商业性目的,他们不必依据相同条款许可他们的演绎作品。 <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">知识共享署名-非商业性使用 4.0 国际许可协议</a>进行许可。
署名-非商业性使用-相同方式共享 CC BY-NC-SA 允许其他人再混合、调整和基于您的作品进行非商业性创作,只要他们标识您的姓名或名称,并以相同条款许可他们的新作品 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可。
署名-非商业性使用-禁止演绎 CC BY-NC-ND 限制最严格的,只允许他人下载你的作品,在为你署名的情况下与别人共享你的作品,但不能以任何方式改变作品,或出于商业目的使用作品。 <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议</a>进行许可。

摘自:知识共享协议的原理 https://creativecommons.org/licenses/

可以在 https://creativecommons.org/choose/ 网站上生成许可


参考资料

[1] Choose an open source license,https://choosealicense.com/
[2] 《如何选择开源许可证?》,作者 阮一峰,http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
[3] 知乎问答,主流开源协议之间有何异同? https://www.zhihu.com/question/19568896, 参考了 GcsSloop 用户的答案以及 auxten 的回答
[4] 《程序员不可不知的版权协议》,作者 GcsSloop,http://www.gcssloop.com/tips/choose-license
[5] MIT License,协议原文 https://opensource.org/licenses/MIT
[6] Apache License 2.0, 协议原文 http://www.apache.org/licenses/LICENSE-2.0.html
[7] GNU GPLv3 协议原文 https://www.gnu.org/licenses/gpl-3.0.txt
[8] Choose a creative commons, https://creativecommons.org/choose/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • 缘由 1,最近公司有相关的开源软件知识测试 2,网上看到阮一峰的文章:如何选择开源许可证 一般规则 1,free ...
    亮晶晶满天星阅读 1,530评论 0 0
  • 对于软件产品,无论是免费发布还是出售,制定一份许可协议都非常有用。否则,对于前者,你相当于放弃了自己所有的权利,任...
    feil0n9wan9阅读 6,948评论 2 12
  • 一、常用开源协议汇总图 首先从一张图开始,介绍几种主流的开源协议,以及决定选用哪种框架的思路。使用哪种开源协议,决...
    悦凡阅读 914评论 0 1
  • 作为一个开源爱好者,我们经常会写一些开源的软件或者工具在网上分享,或者为一些其他的开源软件贡献一些自己的力量,但是...
    乔伯阅读 13,975评论 0 19
  • 开源协议概要 目前开源的协议可以参考GNU组织的开源许可协议:[具体参考链]。(http://www.gnu.or...
    追云_似梦阅读 17,917评论 1 5