如何选择开源协议
什么是许可协议?
什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。
不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。
而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。
GNU GPL
GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:
可自由复制
你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
可自由分发
在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
可以用来盈利
你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
可自由修改
如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。
需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。
GNU LGPL
GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。
BSD
BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。
新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。
MIT
MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:
该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示。
这意味着:
你可以自由使用,复制,修改,可以用于自己的项目。
可以免费分发或用来盈利。
唯一的限制是必须包含许可声明。
MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。
Apache
Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有 一篇文章阐述这个问题)。
Apache 协议还有以下需要说明的地方:
永久权利
一旦被授权,永久拥有。
全球范围的权利
在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
授权免费,且无版税
前期,后期均无任何费用。
授权无排他性
任何人都可以获得授权
授权不可撤消
一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。
分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。
Creative Commons
Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:
署名权
必须为原始作者署名,然后才可以修改,分发,复制。
保持一致
作品同样可以在 CC 协议基础上修改,分发,复制。
非商业
作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网 站,也有人认为非商业的意思是非盈利。
不能衍生新作品
你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。
这些许可形式可以结合起来用,其中最严厉的组合是“署名,非商用,不能衍生新作品”,意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原 作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是“署名”,意味着,只要为原始作者署名了,就可以自由处置。
小米分布式监控平台遵循 Apache License, Version 2.0 协议规范 http://open-falcon.org/ http://www.apache.org/licenses/LICENSE-2.0
- 大小: 114.7 KB
分享到:
相关推荐
3. 划词翻译 crx-selection-translate(仅参考界面),开源协议:非开源文档。 本资源提供了多种开源项目,旨在提高工具开发效率和质量。这些项目涵盖了网页剪藏插件、文献阅读软件插件和网页翻译插件等多个方面,...
gat1400是【有来开源组织】使用 Java 语言基于 SpringBoot 框架快速对接视图库视频专网国标协议GAT/1400协议。 已实现GAT/1400协议功能:人脸识别上传/车牌识别上传/摘要认证登陆/注册保活/时间同步。 已成功对接...
《开源软件成熟度评估及选型指南》内容主要来自近几年我们对开源软件评估与应用选型的研究成果,以及对优秀的开源软件的筛选整理。内容主要面向那些希望将开源软件部署在其应用环境中,或利用开源软件进行二次开发的...
标题中的"整理的开源类库"表明这是一个关于开源软件库的集合,可能包含了不同功能的代码库,方便开发者在自己的项目中复用和学习。描述中的内容同样简洁,没有提供更多的具体信息,但我们可以根据标签“源码”来推测...
标题 "依据开源数据整理-恶意加密流量指令识别数据集" 提供了我们即将探讨的核心主题:这是一个用于识别恶意加密流量指令的数据集,该数据集基于开源信息进行整理。这意味着研究者或开发者可以利用这个资源来训练和...
【标签】"开源中国"是这个项目的关键词,强调了该项目与开源中国社区的关联,意味着源代码遵循开源协议,允许用户查看、使用、修改和分享代码,推动了技术交流和学习。 【压缩包子文件的文件名称列表】: 1. osc-...
WebRTC(Web Real-Time Communication)是由Google开源的一个实时通信技术,旨在为...Google开源的WebRTC项目资料整理涵盖了这一领域的核心知识和技术细节,对于想要涉足实时通信开发的开发者来说是一份宝贵的资源。
追格商城小程序(开源版)遵循GPL V2.0开源协议发布。 我们借助了开源的力量,才得以快速构建出追格商城小程序(开源版),在此特别感谢他们: WordPress、Codestar、mp-html、Painter画板、Uni-app,以及其他未...
如果该项目遵循标准的开源许可协议,那么任何人都可以自由地查看、使用、修改并分发源代码,这对于学习Git操作、版本控制以及自动化脚本编写等方面都是宝贵的资源。 总的来说,3zcurdia-changes-reporter是一个有...
追格商城小程序(开源版)遵循GPL V2.0开源协议发布。 我们借助了开源的力量,才得以快速构建出追格商城小程序(开源版),在此特别感谢他们: WordPress、Codestar、mp-html、Painter画板、Uni-app,以及其他未标记...
追格商城小程序(开源版)遵循GPL V2.0开源协议发布。 我们借助了开源的力量,才得以快速构建出追格商城小程序(开源版),在此特别感谢他们: WordPress、Codestar、mp-html、Painter画板、Uni-app,以及其他未标记...
标题中的“可以查找支持MTP协议手机内指定文件大小的查找器开源了”表明这是一个针对MTP(Media Transfer Protocol)协议的开源软件项目,它的主要功能是帮助用户在连接到电脑的MTP协议支持的手机中查找特定大小的...
以下是对"最近在学习常用的Java开源项目,整理一下常用的代码.zip"这个压缩包中可能包含的知识点的详细解释: 1. **Maven或Gradle构建工具**:Java项目通常使用Maven或Gradle进行构建和依赖管理。通过查看项目的pom...
开源软件通常遵循特定的许可协议,如MIT、GPL或Apache等,这些协议规定了用户可以如何使用和贡献代码。 2. **吴耀武老师的核心词汇**: 吴耀武可能是一位在英语教育领域有影响力的教师,他整理了一套核心词汇列表,...
- **目标与任务**:该中心旨在整理和规范化现有数据,集成西部地区的科学数据和研究成果,以促进数据共享,并对科学研究文献进行规范化和空间化处理。 - **元数据管理**:实现了ISO19115元数据的解析、上传、批量...
版权声明:本文为CSDN博主「YoungJ5788」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhaoyajie1011/article/details/105948679
以下是根据标题、描述和标签整理出的关键知识点: 1. **Pixhawk概述**: - Pixhawk不仅是一个硬件平台,还包含一套完整的飞行控制软件,实现了自主飞行、导航和任务执行等功能。 - 开源特性使得用户可以定制化...
第六条 结算与现金管理业务甲方利用自身全面的资金结算网络和业务服务平台,为乙方提供“快速、便捷、精心整理页脚内容银医金融业务合作协议()农银医合字()第号”等金融服务。 本协议的签订和实施,将对甲乙...
- **目的**:《甲方安全开源项目收集》旨在通过收集和整理一系列优秀的安全开源项目,帮助企业建立更强大的安全体系,提高对网络攻击的防御能力。 #### 开源安全项目的分类与应用场景 - **资产管理**:例如...