GitHub上常用的几种开源协议

简介: MIT Apache GUN BSD

开源协议?

开源协议是指一种规定软件源代码可以被任何人免费查看、使用、修改和分发的法律文档。开源协议的目的是促进软件社区的合作和创新,并确保开发者和用户在遵守协议条件的情况下享有相应的权利和义务。

开源协议通常包括以下几个方面的内容:

  • 授权许可:明确声明了软件的授权方式,即许可证的类型。

  • 源代码可用性:保证软件的源代码可以被获取和查看。

  • 修改权:允许用户对软件进行修改和改进。

  • 分发权:允许用户将软件的副本传播给其他人。

  • 禁止歧视:禁止以某种特定的用户群体、领域或企业为目标的歧视性限制。

  • 没有担保:明确声明软件的使用没有任何担保责任。

  • 知识产权:保护原作者的知识产权。

常见的开源协议包括GNU通用公共许可证(GPL)、MIT许可证、Apache许可证等。不同的开源协议具有不同的条款和要求,开发者在选择开源协议时需要根据自己的需求和意愿进行选择。

来看看GitHub上几种常用的开源协议

  • MIT

    MIT开源许可证是一种非常灵活的开源协议,允许使用、修改和分发受保护的软件。该协议几乎没有限制,允许任何人以任何方式使用软件,包括商业用途。

    根据MIT许可证,被许可人有权使用、复制、修改、合并、发布、分发、再授权和销售获得的软件副本,但需要在软件中包含原始版权和许可声明。

  • Apache License 2.0

    1. 权利授予:Apache License 2.0允许用户自由地使用、复制、修改、合并、发布、分发和销售软件。

    2. 开源要求:协议要求包含原始版权声明和许可协议的副本在所有的衍生作品中都需要保留。

    3. 没有担保:该协议明确声明作者或版权持有人不对软件提供任何形式的担保。用户需要自行承担使用软件的风险。

    4. 责任限制:协议明确规定作者或版权持有人不对任何损害赔偿负责,无论是合同诉讼、侵权行为还是其他情况。

    5. 版权声明:Apache License 2.0要求在所有的衍生作品中包含原始版权声明和许可协议的副本。

  • GUN General public License v3.0

    1. 共享源代码:使用GUN GPL v3.0协议的软件必须提供其完整的源代码,并允许其他人查看、修改和分发。

    2. 修改代码的自由:使用GUN GPL v3.0协议的软件可以被修改和扩展,但所有修改后的代码仍然必须遵守相同的协议并允许公开。

    3. 分发的义务:如果你分发了使用GUN GPL v3.0协议的软件,你必须同时提供源代码和许可证,以确保接收者能够获得相同的权益和自由。

    4. 反Tivoization条款:GUN GPL v3.0协议禁止将软件设计成不能在用户设备上运行修改版本的形式,以保护用户对软件的自由使用。

    5. 授权限制:GUN GPL v3.0协议不允许将GUN GPL v3.0许可协议与其他许可协议进行混合,除非这些许可协议与GUN GPL v3.0协议相兼容。

  • GUN Affero public License v3.0

    GUN Affero Public License v3.0基于GNU Affero General Public License v3.0(AGPLv3)进行了修改和补充。

    该许可协议要求任何使用或修改该软件的人,在向公众提供该软件的服务时,必须将对应的源代码也一同提供给用户。这意味着,如果您在服务器上运行基于GUN Affero Public License v3.0的软件,并通过网络向用户提供服务时,您需要提供源代码。

  • BSD2

    1. 在软件的所有副本和衍生作品中包含原始版权声明和许可声明。
    2. 禁止以原作者的名义进行促销软件的行为,除非获得了原作者的事先书面许可。
    3. 对于以二进制形式分发的软件,必须在文档和其他材料中提供与之相关的源代码的拷贝。
    4. 不对软件的使用、复制、修改、合并、出版、分发、再授权或销售做出任何限制。
    5. 软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性。
  • BSD3

    1. 保留版权:BSD3开源协议要求在源代码和二进制发布中包含原始版权声明。

    2. 免责声明:协议明确表示作者不对软件的任何损害或责任承担责任,使用者需自行承担风险。

    3. 分发限制:BSD3开源协议可以随意修改、分发和使用源代码和二进制文件,但不能用原作者的名字或机构名字来推销或认可修改后的产品。

  • Eclipse public License 2.0

    Eclipse Public License (EPL) 2.0被广泛用于管理和分发开源软件项目。该协议由Eclipse基金会制定,并在2004年发布。

    EPL 2.0保护了软件的版权,并允许开发者自由地使用、修改和分发被许可的软件。根据EPL 2.0,任何以源代码或二进制形式分发的衍生作品都需要遵循相同的许可条款。此外,EPL 2.0还规定开发者必须在他们的衍生作品中包含原始软件的版权声明、许可证和其他相关信息。

    EPL 2.0还包含了一些专利授权条款,允许开源软件在特定条件下使用专利技术。这为开发者提供了更多使用其他专利的灵活性和保护。

  • Creative Commons Zero v1.0 Universal

    Creative Commons Zero v1.0 Universal(简称CC0) 允许著作权持有人放弃对作品的所有权益,并将作品贡献给公共领域。这意味着任何人都可以自由地使用、复制、修改、分发和展示该作品,无需获得原始著作权持有人的许可。

    CC0协议的目标是为了最大限度地促进知识和创意的自由流动,并鼓励人们利用其他人的作品来创造新的作品。通过将作品置于公共领域,CC0协议消除了版权法所带来的限制,使作品能够被广泛地使用和改编。

    与其他开源协议不同,CC0没有要求使用者在使用作品时遵循特定的许可条件或提供说明原作者的要求。因此,CC0被认为是最具自由性的开源协议之一。

    CC0协议适用于任何类型的作品,包括文字、图片、音频和视频等。它适用于个人、组织和政府机构等各种著作权持有者。

相关文章
|
Ubuntu
ubuntu 22.04 阿里源
ubuntu 22.04 阿里源
12766 0
|
Java Maven Spring
Maven 镜像源加速和私服配置
华为开源镜像站加速下载开源组件 settings.xml 在 mirrors 标签中添加 mirror 子节点:
2678 0
|
7月前
|
机器学习/深度学习 数据可视化 算法
Ray Flow Insight:让分布式系统调试不再"黑盒"
作为Ray社区的积极贡献者,我们希望将这些实践中沉淀的技术能力回馈给社区,推动Ray生态在实际场景中的应用深度和广度。因此,2024年底我们做了激活AntRay开源社区的决策,AntRay会始终保持与官方Ray版本强同步(即AntRay会紧随Ray官方社区版本而发布),内部Feature亦会加速推向AntRay以开源研发模式及时反哺内部业务,同时会将社区关注的Feature提交至Ray官方社区,实现内外部引擎双向价值流动。后续我们会以系列文章形式同步蚂蚁推向开源的新特性,本文将重点介绍:Ray Flow Insight —— 让分布式系统调试不再"黑盒"。
|
缓存 JSON 前端开发
CORS 详解,终于不用担心跨域问题了
CORS 详解,终于不用担心跨域问题了
8718 1
CORS 详解,终于不用担心跨域问题了
|
网络协议 安全 Linux
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略(一)
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略(一)
|
人工智能 数据管理 API
手把手教你搭建企业微信AI助手
全程图文,一步一步带你搭建基于云百炼的RAG应用,并配置知识库,让AI助手更专业、更智能。
2458 1
|
8月前
|
人工智能 JSON 自然语言处理
31.3K star!开源免费本地AI神器,一键部署多模态大模型!
LocalAI 是一款革命性的开源AI框架,专为本地化部署设计。它完美复现了OpenAI的API接口,支持运行各类开源大模型(如LLaMA3、Phi-2、Stable Diffusion等),无需GPU即可在普通电脑上实现:
544 0
|
SQL 关系型数据库 数据库
postgresql报:ERROR: column “i“ of relation “test“ does not exist LINE 1: UPDATE怎么解决?
解决“ERROR: column "i" of relation "test" does not exist”错误的关键在于核实列名的准确性,修正更新语句,确保列名的引用正确无误,并考虑到任何可能影响列名引用的表别名、大小写、特殊字符或动态SQL生成等因素。通过上述步骤,你应该能有效定位并解决问题,保证SQL语句的正确执行。
1126 0
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之报错:Caused by: oracle.jdbc.OracleDatabaseException: ORA-01291如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
存储 人工智能 搜索推荐
RAG系统的7个检索指标:信息检索任务准确性评估指南
大型语言模型(LLMs)在生成式AI领域备受关注,但其知识局限性和幻觉问题仍具挑战。检索增强生成(RAG)通过引入外部知识和上下文,有效解决了这些问题,并成为2024年最具影响力的AI技术之一。RAG评估需超越简单的实现方式,建立有效的性能度量标准。本文重点讨论了七个核心检索指标,包括准确率、精确率、召回率、F1分数、平均倒数排名(MRR)、平均精确率均值(MAP)和归一化折损累积增益(nDCG),为评估和优化RAG系统提供了重要依据。这些指标不仅在RAG中发挥作用,还广泛应用于搜索引擎、电子商务、推荐系统等领域。
6108 2
RAG系统的7个检索指标:信息检索任务准确性评估指南