1-1 开源许可证GPL, BSD, MIT, Mozilla, Apache, LGPL的介绍

2023-05-16

文章目录

  • 前言
  • 开源许可证由来
  • 开源许可证类型
  • 开源许可证介绍
    • GPL协议
    • BSD协议
    • MIT协议
    • Mozilla许可
    • Apache协议
    • LGPL开源协议


前言

开源许可证(Open source licenses),广义来讲是指一种被用于计算机软件或其他产品的,允许在指定的条款内使用,修改或分发其源代码,蓝图或设计的许可证。一般来讲,我们说的开源许可证是指广义的开源许可证释义。

狭义的来讲,根据 OSI(Open Source Initiative,开放源代码倡议组织) 的解释,开源许可证是指那些符合 OSD(开源定义,Open Source Definition) 的许可证 —— 简单来说,这些许可证允许软件被自由的使用,修改和分发。



开源许可证由来

通俗来讲的话,开源许可证就是一种允许我们在一定条件内按照我们的需要自由使用和修改软件及其源代码的法律条款,籍此条款,这个软件的作者(可能是一个人,也可能是很多人)可以将这些权利许可给我们,并告知我们一些使用限制。

这些条款有时由个人起草,有时由商业公司起草,但最广泛使用的是由非营利组织(例如 自由软件基金会,FSF)起草的各种开源许可证,通常情况下,作为开发者的我们可以通过按照这些许可证的要求放置许可证条款(有的许可证可能有别的要求,也有可能没有要求)来声明我们基于这些许可证开源。

需要注意的是,使用开源许可证并不意味着单纯的限制使用者,对于一些许可证(例如下文将会提到的 GPL 协议),他们也会限制您(开发者)的行为。因此,选择一个合适的许可证是十分重要的。


开源许可证类型

目前,国际公认的开源许可证共有80多种。它们的共同特征是,都允许用户免费地使用、修改、共享源码,但是都有各自的使用条件。

如果一种开源许可证没有任何使用条件,连保留作者信息都不需要,那么就等同于放弃版权了。这时,软件可以直接声明进入"公共领域" (public domain)。但大部分都声明了使用条件。

根据使用条件的不同,开源许可证分成两大类。

  • 宽松式(Permissive) 许可证:BSD,MIT,Apache 2

  • 著佐权(Copyleft) 许可证:AGPL,GPL,LGPL,Mozilla


开源许可证介绍

常见的开源许可证有GPL, BSD, MIT, Mozilla, Apache, LGPL,宽松程度不一,根据下列流程图可定位所属的许可证。
在这里插入图片描述

常见开源许可证

GPL协议

GPL协议来源自由软件联盟GNU,GPL/LGPL都侧重于代码及衍生代码的开源与免费使用。GPL是传染性开源,只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,因此这个协议并不适合商用软件。

  • 复制自由:允许把软件复制到任何人的电脑中,并且不限制复制的数量。
  • 传播自由:允许软件以各种形式进行传播。收费传播允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。
  • 修改自由:允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权。

遵循 GPL 协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的。


BSD协议

BSD 协议也很宽松,给予了使用者很大自由,基本上允许用户“为所欲为”:用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售。

前提是需要满足下面三个条件:

  • 如果再发布的软件中包含源代码,则源代码必须继续遵循 BSD 许可协议。
  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
  • 不允许用原始开源代码软件的名称、作者名字或机构名称进行市场推广。BSD代码鼓励代码共享,但需要尊重代码作者的著作权。

BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议,很受大公司的欢迎,因为可以完全控制这些第三方的代码,甚至在必要的时候可以修改或者二次开发。


MIT协议

MIT 是十分宽松的许可协议,来源于大学,可以说是史上最为简洁和慷慨(permissive)的开源协议之一。

用户可以拿自己的代码做任何想做的事情;用户在项目副本中要包含版权声明和许可声明;用户无需承担任何责任。作者只想保留版权,而无任何其他限制。也就是说,无论是以二进制发布的还是以源代码发布的,都必须在发行版里包含原许可协议的声明。

采用MIT协议的应用案例有JQuery、Rails 等。


Mozilla许可

MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对 源代码的需求和他们利用源代码获得的利益。

Mozilla 公共许可证第二版(简称 MPL2.0)是一个弱 copyleft 许可证,但是其条款的特殊性质又使其更像一个宽松许可证(甚至,有人专门创造了词语 copycenter 来描述这一类许可证),该许可证虽然要求软件源代码需要使用相同许可证进行分发,但是对于可执行软件和包含本软件的大型作品的协议做出了宽松的要求。


Apache协议

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样适用于商业软件,鼓励代码共享和尊重原作者的著作权,同样允许代码修改,但它更重视专利权。

如果修改了程序源代码,需要在文档中进行声明;

  • 若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息;
  • 如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议。Apache Licence也是对商业应用友好的许可。
  • 使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

现在热门的 Hadoop、Apache 家族、SVN、MongoDB 等项目都是基于该许可协议研发的。


LGPL开源协议

LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议,同样来源于自由软件联盟GNU,可以翻译为更宽松的GPL协议,也属于传染性开源。

用户如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程序无需开源。LGPL允许商业软件通过类库引用(link)方式使用LGPL 类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1-1 开源许可证GPL, BSD, MIT, Mozilla, Apache, LGPL的介绍 的相关文章

  • 修改ssh默认端口22

    平滑修改linux中的sshd端口 第一种 xff1a 1 假如要改SSH的默认端口 xff08 22 xff09 xff0c 那么你只要修改 xff1a 代码如下 etc ssh sshd config中Port 22 这里把22改成自己
  • docker and docker-compose安装

    docker 安装 curl sSL https get daocloud io docker sh docker compose 安装 1 curl L https get daocloud io docker compose relea
  • mysql远程登录

    MySQL5 7授权用户远程访问 做个记录 xff0c 每次弄环境的时候 xff0c 特别是弄mysql环境 xff0c 时不时都要用到下面的命令 命令如下 grant all privileges on to 39 root 39 64
  • zabbix5.0快速部署脚本

    bin bash 版本1 0 zabbix 43 nginx版本 welcome cat lt lt EOF 需要需改的配置文件有 xff1a 1 vi etc yum repos d zabbix repo zabbix源 2 vi et
  • openstack创建网络,路由等

    参考链接 xff1a https blog csdn net qq 28540443 article details 109184700 ops request misc 61 amp request id 61 amp biz id 61
  • shell脚本颜色

    https blog csdn net it chang article details 111084116
  • windows11 安装 vmare sphere client 无法启动问题

    被搞了两天特别记录一下 xff1a 现象 xff1a 安装什么都正常双击就是启动不了 解决 xff1a 控制面板 程序和功能
  • ceph delete pool

    参考 xff1a Pools Ceph Documentation 前言 xff1a 网上的写的乱七八糟不是你抄我就是我抄你 写的完全瞎扯 简直看不下去 官网截图 xff1a 准备 1 查看pool名称 ceph osd lspools 创
  • TODS:一款功能强大的多元时间序列异常检测工具

    TODS是一个全栈的自动化机器学习系统 xff0c 主要针对多变量时间序列数据的异常检测 该系统可以处理三种常见的时间序列异常检测场景 xff1a 点的异常检测 xff08 异常是时间点 xff09 模式的异常检测 xff08 异常是子序列
  • Linux防火墙firewalld安全设置

    背景描述 防火墙是具有很好的保护作用 攻击者必须首先穿越防火墙的安全防线 xff0c 才能接触目标计算机 在公司里数据安全是最重要的 xff0c 要求安全部门进行全公司进行服务器防火墙安全搭建 xff0c 在原有的基础上进行安全的防火墙设置
  • STM32F1--FreeRTOS系统学习(一):系统下载移植以及跑马灯测试

    以下内容皆是个人学习过程中的总结 xff0c 记录一下整个过程 xff0c 用于后期复习 xff0c 如有不对之处 xff0c 麻烦各位大佬指出 xff08 喜欢的朋友麻烦点个关注 后期还会进行持续更新 xff09 一 什么是FreeRTO
  • 如何准备国内一流互联网公司面试,如百度、阿里、腾讯、字节等

    入职新公司快半年了 xff0c 今天 xff0c 我就想和大家聊聊 xff0c 关于找工作 面试的一些心得与体会 说实话 xff0c 在这次找工作之前 xff0c 我面试找工作的经历并不丰富 xff0c 反而是当面试官的次数更多 所以呢 x
  • 基于 瑞芯微 RK1126 平台的项目总结(包含AI 画中画 RTSP OSD 录像 双路摄像头)

    其实这个项目结束一两个月了 中间过了个年 就把这事给忘记了 趁现在比较空记录一下 说下概况 项目是基于RK1126平台 硬件配置2个摄像头一个广角一个长焦 需要支持画中画在广角摄像头的画面中 显示长焦摄像头的大概位置 但是由于硬件还是驱动没
  • JavaScript小案例2-实现猜数游戏

    题目要求 xff1a 系统生成一个1 100的数 xff0c 然后让玩家猜数 如果玩家猜对该数 xff0c 则游戏结束 xff1b 如果没猜对 xff0c 则弹出警告框告告知玩家数字猜大了还是猜小了 xff0c 并提示玩家是否继续游戏 xf
  • 【Ubuntu】Linux文件系统简介

    Linux文件系统简介 Linux文件系统简介及类型1 Linux文件系统简介2 Linux文件系统类型 Linux文件系统结构文件操作指令创建新文件命令 touch创建文件夹命令 mkdir文件夹及目录删除命令 rm文件夹 目录 删除命令
  • 嵌入式实时操作系统(RTOS)

    一 项目准备工作 1 创建一个标准库项目 这里不用很麻烦 xff0c 项目能跑就行 xff0c 后面要以这个项目为基础移植 2 下载ucOS 源码 ucos 源码 百度网盘链接 xff1a 提取码 xff1a 1234 xff08 STM3
  • ROS环境安装与配置

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 实验环境一 ROS话题二 ROS消息三 C 43 43 编码实现小海龟圆周运动 提示 xff1a 以下是本篇文章正文内容 xff
  • solvepnp参数获取

    1 上参数 xff1a solvePnP 具体参数 xff1a objectPoints xff1a 特征点的世界坐标 xff08 3d点 xff09 xff0c 坐标值需为float型 xff0c 不能为double型 xff0c 可以为
  • 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准

    磁力计校准椭球拟合使用篇 xff01 xff01 下方蓝色函数链接 xff01 xff01 matlab 椭球拟合函数链接 串口打印磁力计数据 xff0c 可以选择原始数据不进行任何缩放 xff08 前提是各轴向分辨率一致 xff09 sp
  • 数据结构与算法 — 希尔排序 和 快速排序

    目录 一 希尔排序 1 希尔排序的介绍 1 希尔排序的历史背景 2 插入排序的问题 3 希尔排序的做法 4 选择合适的增量 2 希尔排序的实现 3 希尔排序的效率 1 希尔排序的效率 2 Hibbard 增量序列 3 Sedgewick增量

随机推荐