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

相关文章
|
6月前
|
数据采集 JSON 数据可视化
GitHub上有哪些好的项目可以关注
GitHub上有哪些好的项目可以关注
|
6月前
你的GitHub项目被封存到北极了吗?
你的GitHub项目被封存到北极了吗?
53 0
如何在本地运行查看github上的开源项目
如何在本地运行查看github上的开源项目
185 0
|
Web App开发 算法 搜索推荐
github开源学习项目推荐(2)
这本书里的文字,全部的意义,只有两个字:“启发”。 有些知识,不仅要了解,还要深入了解。为了深入了解,不仅要学习,还要实践,更要反复试错,在成功中获得激励,在失败中汲取教训,路漫漫其修远,上下求索才可能修成正果。小到开车,大到创业,各种所需要的知识莫不如是。面对这样的知识,我们要了解
197 0
|
机器学习/深度学习 算法 数据挖掘
github开源学习项目推荐
洛雪音乐助手是一款完全开源免费的音乐软件,在 github 上已经收获了将近 2w stars 完全开源免费 界面美观,主题多 支持多平台歌单导入 支持自定义音源,享受超高音质 支持多平台数据源,聚合搜索,数据齐全 支持 windows,mac,linux ,android 平台
250 0
Github参与OpenJDK8的开发指南
Github参与OpenJDK8的开发指南
131 0
Github参与OpenJDK8的开发指南
|
存储 XML JSON
GitHub实用开源项目
以下几款是不错的开源项目 也都挺实用的 希望对你们有所帮助
GitHub实用开源项目
|
前端开发 JavaScript 算法
优秀前端GitHub开源项目推荐!
前言 自己也在前端这一行业有些年头了,从最初的啥也不懂,到现在的啥也不会。这期间收藏了无数的学习网站、开源项目等等,其实现在回过头来看,学习前端最重要的不是学的广泛,而是要学的精!今天就给大家推荐几个在GitHub上星星数都不低的开源项目。
479 0
优秀前端GitHub开源项目推荐!
|
存储 人工智能 算法
我在 GitHub 发现这 3个项目,真绝了!
我在 GitHub 发现这 3个项目,真绝了!
208 0
我在 GitHub 发现这 3个项目,真绝了!
|
网络安全 开发工具 数据安全/隐私保护
详解 | 在本地安装使用GitHub上的开源项目
详解 | 在本地安装使用GitHub上的开源项目
1549 0