如何选择开源许可证?

对于软件产品,无论是免费发布还是出售,制定一份许可协议都非常有用。否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理授权问题。许可,就是提供给使用你产品的人有一定的权限,不过你仍然拥有版权和专利(如果申请了的话)。开源许可证使得我们发布开源软件产品变得简单。

现今存在的开源许可证很多,多数人搞不清楚他们之间的区别。很多程序员在开源代码的时候不知如何选择开源许可证,或者使用别人的开源代码时未遵循其原始许可证。如何选择开源许可证,这是一个问题。

通过OSI(Open Source Initiative)组织批准的许可证目前有78种。当前流行的6种GPL,LGPL,Apache,MIT,BSD和MPL都是OSI批准的许可证。GitHub建了一个很赞的网站Choose an open source license,提供了各主流许可证的协议文本,并对它们作了详细的介绍和比较。国内阮一峰的BLOG也提供了一张简洁的分析图(GPL,LGPL和MPL许可证描述有误)。

MIT许可证

MIT许可证是一个简短、宽松的许可证,唯一的要求就是保留原始版权和许可声明。你可以:

  • 商业使用。软件及衍生产品可以用于商业目的。
  • 自由地修改、发布。软件可以被自由地拷贝、修改、发布。

BSD许可证

BSD许可证是一个给予使用者很大自由的许可证。使用者可以自由的使用、修改源代码,也可以将修改后的代码作为开源或专有软件再发布,只须满足:

  • 如果再发布的产品是源代码,则在源代码中必须包含原始版权和许可声明。
  • 如果再发布产品是二进制形式,则需要在其文档和版权申明包含原始版权和许可声明。
  • 未经事先书面许可,不得使用原作者/机构的名字和原产品名字进行衍生产品的推广。

Apache许可证

Apache许可证是一个宽松且专业的许可证,相比于其他许可证,软件产品可以自由修改、发布和商用,该许可证还为用户提供专利许可,只须满足以下条件:

  • 包含一份原始许可声明和版权声明
  • 如果修改了源代码,包含一份代码修改说明。
  • 不得使用其原始商标

GPL许可证

GPL(GNU General Public License)许可证是一个开放源码许可证,只要在软件产品中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL许可证的产品,则该软件产品也必须采用GPL许可证发布,并且不论以何种形式发布,都必须同时附上源代码。这就是所谓的“传染性”。其他细节与Apache许可证类似,如:

  • 软件及衍生产品可以用于商业目的。
  • 产品可以被自由地分发、修改。
  • 同时提供额外的专利授权。
  • 产品再发布时包含一份原始许可声明和版权声明。
  • 如果修改了源代码,包含一份代码修改说明。

LGPL许可证

LGPL( GNU Lesser General Public License)许可证是一个主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。其他细节与GPL许可证类似,如:

  • 同时提供额外的专利授权。
  • 产品再发布时包含一份原始许可声明和版权声明。
  • 如果修改了源代码,包含一份代码修改说明。

MPL许可证

MPL(Mozilla Public License)许可证是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对源代码的需求和他们利用源代码获得的利益。MPL同著名的GPL许可证和BSD许可证相比。MPL在许多权利与义务的约定方面与它们相同,但是,相比而言MPL还有以下几个显著的特点:

  • MPL虽然要求对于经MPL许可证发布的源代码的使用、修改也要以MPL许可证的方式再许可出来(开源),以保证其他人可以在MPL的条款下共享源代码。但是,在MPL许可证对于衍生代码没有要求,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个豁口。
  • 软件产品再发布时包含一份原始许可声明和版权声明。
  • 提供快速的专利授权。
  • 不得使用其原始商标。
  • 如果修改了源代码,包含一份代码修改说明。

注:以上所有许可证都支持私有使用,即使用和修改软件但不对外发布。

The Unlicense

The Unlicense是一个放弃所有权利的许可证,没有任何限制,它一般用在致力于公有领域的产品。

注:开源许可证也可用于非软件产品,尤其是那些能够被当做源码编辑和管理的产品,如开源硬件设计等。


如果你的产品不是软件产品(数据、多媒体等),也有一些开源许可证可供选择。

Creative Commons许可证

Creative Commons简称CC,中国大陆正式名称为知识共享。传统的著作权通常为两种极端,一种是”保留所有权利”,另一种是“不保留任何权利”(即公有领域,public domain)。知识共享则试图在两者中间广大的灰色地带保有弹性,使创作者可以“保留部分权利”。创作者可与大众分享创作,授予其他人再散布的权利,却又能保留其他某些权利。知识共享一般用于设计,摄影,图片作品的开放式分享,并提供多种可供选择的授权形式及条款组合:

  • 署名(Attribution,简写为BY):必须提到原作者。
  • 非商业用途(Noncommercial,简写为NC):不得用于盈利性目的。
  • 禁止演绎(No Derivative Works,简写为ND):不得修改原作品,不得再创作。
  • 相同方式共享(Share Alike,简写为SA):允许修改原作品,但必须使用相同的许可证发布。

注:许可协议不能同时包含“相同方式共享”和“禁止演绎”许可要素,“相同方式共享”要素仅适用于演绎作品。

这些授权形式可以结合起来用,如CC BY,CC BY-NC-SA等。


参考:

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

推荐阅读更多精彩内容