概览:
(1)BSD许可--它要求版权和著者身份申明;
(2)GPL--通用公共许可("CopyLeft")禁止派生或发行产品的限制;
(3)LGPL--库/次级GPL,它不同于GPL许可证,在这个许可证下,库(函
数库)可以自由地联接到专有软件;
(4)Artistic许可--使作者保持对进一步开发的控制;
(5)Netscape公共许可(NPL)--基于GPL精神的新的许可证,但是保持
了对源码更多的控制和所有权;
(6)公共域(Public Domain)--通常用于决定性的算法以鼓励广泛使用,通常由美国政府使用。
具体来说:
1.GPL许可证:
GPL许可证,全称为“GNU 通用公共许可证(The GNU General Public License,GPL)”,是自由软件联盟GNU的开放源码软件许可证的一种,是开放源码软件领域最富盛名的一种许可证。同时,GPL也是开放源码软件领域对被许可人权利限制最严的许可证,它集中体现了纯粹的Copyleft精神。
GPL首先是承认软件的版权――软件有原始的版权所有者,然后纳入自由软件的版权许可约束。在承认版权的前提下,通过软件的版权许可来实现自由权利的要求。GPL许可证最重要的特点在于它要求根据GPL许可证发布的软件(如:最有影响力的Linux)修改、翻译的演绎作品,甚至只要其任何一部分代码是以 GPL发布的,那么全部程序也必须受GPL许可证的约束,即继续遵守GPL许可证的规定,有些人将其称之为GPL的“病毒效应”。
2. LGPL许可证
LGPL许可证,全称为“GNU 宽通用公共许可证(The GNU Lesser General Public License,LGPL)”被用于一些(但不是全部)GNU程序库。
这个许可证以前被称为库通用公共许可证。LGPL许可证适用于特殊设计的函数库,且与原来的通用公共许可证有很大的不同,给被许可人较为宽松的权利,所以也叫做“较宽松公共许可证”。在特定的函数库中使用它,以准许私有的程序可以与这些函数库连结。
3.BSD许可证
BSD许可证(BSD license)是“Berkeley Software Distribution license” 的首字母缩写,是自由软件中使用使用最广泛的许可证之一。
BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。
BSD许可证具备开源软件许可证普遍的要求,但它只要求被许可者附上该许可证的原文以及所有开发者的版权资料。通俗地说,BSD许可证看重的是“名”,在“利”方面,BSD许可证给予被许可者充分使用(包含商业使用)源代码的权利。
BSD许可证完全不会产生像GPL许可证那样的“病毒效应”,为开源软件,特别是作为学校、公共科研机构科研成果的开源软件转化为产品等充分利用敞开了大门。
4. Artistic许可证
其特点是使作者保持对进一步开发的控制。
5. MPL许可证
MPL(MPL是The Mozilla Public License的简写),最初是1998年初Netscape的 Mozilla小组为其开放源代码软件项目设计的软件许可证。MPL许可证出现的最重要原因就是Netscape公司认为GPL许可证没有好好平衡开发者对源代码需求与他们获得的利益。MPL继承了GPL精神,但是保持了对源代码的更多的控制和所有权。
6.公共领域许可证
公共领域许可证(Public Domain)。又叫作”无版权许可(Not Copyrighted)”或“无约束许可(No Restrictions)”。它通常用于决定性的算法以鼓励广泛使用,通常由美国政府使用。
7.ApacheLicence 2.0许可证
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件:需要给代码的用户一份Apache Licence;如果你修改了代码,需要再被修改的文件中说明;在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明;如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
这篇文章也有一些借鉴意义(附各种协议官网):
http://rckiki.blogbus.com/logs/2006/04/2346552.html
分享到:
相关推荐
- 这是最著名的开源许可证之一,由FSF发布。它确保了用户能够获得上述四种自由,并且任何基于GPL许可的软件所做的修改或衍生作品都必须遵循同样的许可证。 2. **MIT License** - 这是一种较为宽松的许可证,主要...
开源软件与其他类型的软件相比较,主要体现在其零许可证费用和开放自由的设计理念上,这使得开源软件能够吸引广泛的用户和开发者参与。同时,开源软件的高质量、灵活可定制性、公开透明度和良好的学习平台优势也得到...
1. **GNU General Public License (GPL)**:GPL是最著名的开源许可证之一,它要求所有基于该软件的衍生作品也必须采用GPL许可证,即“copyleft”原则。这意味着如果你的项目使用了GPL软件,你的整个项目也必须开源。...
Tressette,这款源自意大利的著名纸牌游戏,以其独特的游戏规则和丰富的策略性,在全球范围内拥有广泛的爱好者。Tressette是一款适合四人参与的双人合作游戏,两名玩家坐于彼此对面,形成团队对抗,这使得游戏充满了...
7. **许可证文件**:开源项目通常会有一个LICENSE文件,声明该项目遵循的开源许可协议,如MIT、Apache 2.0或GPL等。 8. **构建脚本**:如Makefile或npm scripts,用于自动化构建过程,包括编译源代码、打包、压缩等...
5. 许可证文件:定义了项目所遵循的开源许可协议,如MIT、GPL等,确保用户可以自由地使用、修改和分享这些资源。 在安装和使用Papirus Adaptive图标主题时,用户需要确保他们的设备已解锁并安装了支持自定义图标的...
5. **许可证类型**:研究不同的开源许可证,了解它们对软件使用、修改和分发的约束,如GPL、LGPL、MIT、BSD和Apache等。 6. **企业与开源**:探讨开源软件如何影响商业策略,企业如何利用开源软件构建产品,以及对...
1. **MIT_License.txt** - 这个文件包含了项目使用的MIT许可证,这是一种宽松的开源许可证,允许他人自由地使用、修改和分发代码,只需保留原始作者的版权信息。 2. **languages** - 可能包含与不同语言或翻译相关...
【标题】中的“开源项目”指的是该项目的源代码对公众开放,允许用户查看、使用、修改和分发,遵循特定的开源许可协议。这通常意味着社区可以参与项目的开发,提出改进意见,修复错误,或者根据自己的需求进行定制。...
9. **许可证**:开源项目需要明确的许可证,如MIT、Apache 2.0或GPL等,以规定其他人可以如何使用、修改和分发代码。 10. **社区参与**:作为开源项目,鼓励社区成员参与讨论、提供建议和报告问题,这通常通过项目...
7. **许可证文件**:开源项目会有许可证文件(如`LICENSE`),定义了他人可以如何使用、修改和分发这个项目的代码。 8. **构建脚本**:可能有构建脚本(如`build.sh`或`Makefile`),用于自动化编译和打包过程。 ...
3. **并发模型**:Go语言以其高效的goroutine和channel机制著名,Gopher-Lang可能在此基础上进行了改进,提供了更好的并发控制和调试工具,以帮助开发者构建高并发应用。 4. **生态系统支持**:开源项目可能会扩展...
1. **作物模拟**:它提供了详尽的作物生长模型,能根据不同的气候、土壤类型和管理实践,模拟作物的生长周期,帮助农民进行决策,优化种植策略。 2. **水资源管理**:软件能够分析灌溉需求和水分平衡,帮助用户合理...
6. `LICENSE` 文件:项目授权信息,通常为开源许可证,如MIT、Apache 2.0等。 7. `Makefile` 或 `build.gradle`、`setup.py` 等:构建和编译项目的脚本。 为了深入理解CASPaxos,你需要阅读项目文档,了解其实现...
Karl Fogel是开源社区的资深人士,曾参与过多个著名的开源项目,包括CVS和Subversion等版本控制系统。这本书详细介绍了开源项目的各个环节,为开源项目的发起者、维护者以及所有参与者提供了一套完整的管理指南。 ...
Spring是Java领域中最受欢迎的轻量级框架之一,以其依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)特性而著名。Spring框架简化了Java应用程序的开发,通过提供事务管理、...
Apache License 2.0是一个广泛使用的开源许可,允许商业使用和修改,但要求保留原始版权和许可信息。`bouncycastle.LICENSE`可能指的是项目中使用到的Bouncy Castle库,这是一个广泛用于加密和数字签名的Java库。 3....
该总体项目下引用的软件是来自世界各地的单个开发人员和安全研究人员对著名开源项目的略微修改版本。 我们在Nesto尝试增强现有方法,并在与原始项目相同的软件许可下释放我们的努力。设备支持设备: 操作系统: ...
标签 "开源软件" 表明 CryptIt 遵循开源许可协议,可能如 GPL、MIT 或其他常见开源许可,用户不仅可以免费使用,还可以查看和修改源代码,遵循特定的协议分享给其他人。 **总结:** CryptIt 是一款专为 Mac OS X ...
7. **许可证文件**(如LICENSE):声明项目使用的开源许可证类型,如MIT、Apache 2.0或GPL,规定了其他人可以如何使用和修改该项目。 在研究Rialto项目时,我们可以通过阅读代码了解其实现逻辑,通过运行测试来确认...