开源类软件许可证简明指南
来源:百度文库 编辑:神马文学网 时间:2024/04/29 06:18:38
什么是许可证?
关于许可证的准确含义在理解上存在大量误区。当你对自己的作品授予许可证时,你并没放弃任何权利。你仍然持有作品的原始版权(或者专利权,如果你有的话)。许可证是对使用同一作品的其他人授予特殊的许可。
比起直接公开发布作品和对使用者逐一授权这两种方式来,授予许可证是一个不错的选择。直接公开发布作品,意味着你放弃了一切版权,人们无需提及你是原作者或贡献者。而逐一授权的方式意味着你不得不把更多的设计开发时间耗费在处理个人许可上。
开源许可证使得其他人无需寻求特别的许可就可以方便地为项目添砖加瓦,它也保护了你作为原创者的权利,确保你至少可以因为自己的贡献而获得赞誉,同时防止其他人将你的成果据为己有。
GNU通用公共许可证(GNU General Public License)
GNU通用公共许可证(简称GPL)可能是开源项目最为常用的许可证之一。GPL授予并担保开源项目参与者享有广泛的权利。简单来说,它允许用户合法拷贝、分发和修改软件,这意味着你可以:
- 拷贝软件
- 以任何方式分发软件
- 为分发软件收取费用
- 对软件作出任意修改
源码的发布和二进制可执行文件的发布截然不同,留意这点非常重要。此外,当许可证和某些软件一起使用、而这些软件的许可证又和该许可证存在彼此依赖的关系时,会产生一些问题和限制。更详细的介绍可参见GPL兼容性实用指南。使用GPL,你需要在软件源码里包含特定的信息,以及一份许可证的拷贝。
GNU宽通用公共许可证(GNU Lesser General Public License)
你应当知道另一种GNU许可证:宽通用公共许可证(Lesser General Public Licence,简称LGPL)。与标准的GPL相比,它授予软件更少的权利。一般而言,LGPL适合那些链接非GPL和非开源软件的库。因为GPL要求包含有部分GPL授权代码的软件以GPL方式发布,这样开发者就无法在收费的专属软件里使用GPL授权代码。 LGPL正好解决了这一问题:它不要求其它使用LGPL授权代码的软件以LGPL方式发布。
BSD许可证(Berkeley Software Distribution License)
BSD许可证指的是一系列宽松的自由软件许可证,它们与其它自由软件许可证(如GNU通用公共许可证)比起来,对分发软件的限制更少。在这一系列许可证的不同版本中,有两种尤为重要:新版(或称修订版)BSD许可证和简版(或称自由版)BSD许可证。这两个版本的许可证已被认证为GPL兼容的自由软件许可证,并已被开源促进会(Open Source Initiative)接纳为开源许可证。
新版(也称“三句版”)BSD许可证规定,只要软件的版权申明和许可证的免责条款得以保存,软件可以以任何目的不受限制地分发。该许可证还包含如下条款:即未经许可,不得以软件贡献者的名字为软件的衍生产品做代言。这一条款正是新版BSD许可证与简版BSD许可证之间的主要区别。
MIT许可证(MIT License)
在所有常用的开源许可证中,MIT许可证最为简短,可能也最为广泛。它的条款非常松散,比起大部分其它许可证来说更加宽松。它的基本前提如下:
- 该许可免费授予任何获得本软件及相关文档(合称为“软件包”)的人,许可其无限制地应用软件,包括不受限地使用、拷贝、修改、合并、出版、分发、再授权、和/或出售软件的拷贝。被许可者获取软件包提供的权利须基于以下条件:
这意味着:
- 你可以任意使用、拷贝和修改软件。没人能够限制你将软件用于任何项目、以你喜欢的格式拷贝软件任意多次、或以任何方式收费。
- 你可以免费分发软件或者出售软件,你分发软件的方式不受限制。
- 唯一的限制是软件必须附带许可协议。
MIT许可证是限制最少的许可证,它基本上是说,只要附带许可证,任何人都可以利用该许可证授权的软件做任何想做的事。
Apache许可证(Apache License)
Apache许可证(2.0版)授予用户大量权利,这些权利适用于版权和专利权。由于有的许可证只适用于版权、不适用于专利权,Apache许可证的这一灵活性使其成为专利开发者的首选。什么是版权和专利权?这篇文章解释了版权和专利权之间的区别。
以下是有关Apache许可证更为详细的介绍:
- 权利的永久性
- 权利的世界性
- 获取权利的免费性
- 权利的非排他性
- 权利的不可撤回性
Apache许可证对分发代码也有特殊要求,主要是有关给予代码作者以适当荣誉,以及保持许可证的一致性。
知识共享(Creative Commons)
知识共享(Creative Commons,简称CC)许可证并非完全的开源许可证,但设计类项目也常常使用。有各种不同的CC许可证可供使用,每种授予特定的权利。一个CC许可证包含四个基本部分,每部分即可单独生效,又可联合使用。简述如下:
- 署名
- 相同方式共享
- 非商业性
- 禁止衍生
如前所述,CC许可证的各个部分可以联合使用。最为严格的许可证为“署名-非商业-禁止衍生”许可证,即你可以自由分享作品,但不得修改或收费,同时你必须按照作者指定的方式为作品署名。这对那些一方面希望发布作品,另一方面又希望多多少少保留对作品使用方式的控制权的作者来说,颇为不错。限制最少的CC许可证是“署名”许可证,即只要按照作者指定的方式为作品署名,就可以用作品做任何事。
CC许可证在设计类作品中的应用要比在开发中的应用多,但并没有限制你在开发中使用它,只是要清楚各部分条款的细节。
补充资源
- Creative Commons Licenses
CC许可证官网。各种CC许可证的描述和法律条文。 - Open Source Initiative
开源促进会。一个很棒的网站,包含大多数主流开源许可证的信息。 - Open Source Licenses Comparison
开源许可证之比较。一份比较主要开源许可证的表单。 - Understanding Open-Source Licensing
理解开源许可证。关于什么是开源许可证以及它们适合做什么的非常全面的概述。 - HOW TO: Pick an Open Source License