常见6种开源协议比较

news2024/12/23 18:44:41

前言

        常见的开源许可协议有6种是比较常见和广泛使用的,每种协议都有其特定的使用场景和约束条件。这6种分别是GPL, LGPL,MIT许可证, Apache许可证,BSD许可证和Mozilla Public License(MPL).

6种开源许可协议说明

  1. GPL(GNU General Public License):由自由软件基金会创立,是最广为人知的开源许可证之一。它要求任何修改过的或基于GPL许可的软件必须以相同的许可方式发布。

  2. LGPL(Lesser General Public License):也是由自由软件基金会创立,是针对库和组件的开源许可证。与GPL不同,LGPL允许这些库以二进制形式嵌入到闭源软件中。

  3. MIT许可证:非常宽松的开源许可协议,几乎没有限制,允许代码的自由使用、修改和再发布,只需在代码中包含原许可和版权声明。

  4. Apache许可证:类似于MIT,也是一种较为宽松的许可证,但具有更详细的法律条款和专利授权条款。

  5. BSD许可证:包括两种主要类型,分别是简单的2条款BSD许可证(BSD-2-Clause)和较为宽松的3条款BSD许可证(BSD-3-Clause)。BSD许可证允许自由使用、修改和再分发代码,只需要保留原许可和版权声明。

  6. Mozilla Public License(MPL):由Mozilla基金会发布的开源许可证,结合了GPL和BSD的特点,允许将代码嵌入到闭源程序中,但修改的部分必须公开。

比较权限和许可的差异

总结 

        在选择开源许可证时,开发者应根据项目的需求和预期的开源程度来进行合适的选择。总的来说,采用了BSD开源协议的软件在使用上是最小的.不过,从最近发生的一些新闻事件来看,一个开源项目的协议也可能是会变更到其它种类. 需要注意,开源项目在哪些版本是"免费"的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习评价指标(1):目标检测的评价指标

1. 简述 在计算机视觉/深度学习领域,每一个方向都有属于自己的评价指标。通常在评估一个模型时,只需要计算出相应的评价指标,便可以评估算法的性能。同时,所谓SOTA,皆是基于某一评价指标进行的评估。 接下来&#xff0…

GitHub - 使用SSH进行连接

文章目录 前言开发环境单个SSH密钥1.1. 生成SSH密钥1.2. 添加SSH密钥1.3. 测试SSH连接2.1. 简化密钥密码输入 多个SSH密钥1.1. 生成/添加/测试SSH密钥2.1. 简化密钥密码输入 无密码密钥补充内容最后 前言 有一个SSH密钥跟了我很多年,更换电脑也不曾更换它。它不需要…

腾讯云轻量2核2G3M云服务器优惠价格61元一年,限制200GB月流量

腾讯云轻量2核2G3M云服务器优惠价格61元一年,配置为轻量2核2G、3M带宽、200GB月流量、40GB SSD盘,腾讯云优惠活动 yunfuwuqiba.com/go/txy 活动链接打开如下图: 腾讯云轻量2核2G云服务器优惠价格 腾讯云:轻量应用服务器100%CPU性能…

QT初识(1)

QT初识 桌面开发什么是QT下载QT安装好之后的工具AssisantDesignerQT Creator 创建一个简单的项目 我们今天来认识一下QT。 桌面开发 在了解QT,我们得了解一下桌面开发: 桌面开发指的是编写和构建在个人计算机或其他桌面操作系统(如Windows、…

论文笔记 - :MonoLSS: Learnable Sample Selection For Monocular 3D Detection

论文笔记✍MonoLSS: Learnable Sample Selection For Monocular 3D Detection 📜 Abstract 🔨 主流做法限制 : 以前的工作以启发式的方式使用特征来学习 3D 属性,没有考虑到不适当的特征可能会产生不利影响。 🔨 本…

全面概述Gitee和GitHub生成/添加SSH公钥

前言 现如今将代码开源已经成为软件开发行业的一种趋势,而现在比较有名的代码托管平台有GItHub、Gitee、Gitlab等相关平台。而我们在使用代码托管平台最为常见的就是如何将自己本地的代码推送到远程托管平台中的仓库中,现如今各大托管平台基本上都提供了…

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题 一、运行环境 1、硬件 手机型号:NOVA 7 系统:HarmonyOS版本 4.0.0 2、软件 android SDK platforms:14.0(API Level 34)、13.0(API Level 33) SDK Build-T…

jvm类加载机制概述

、什么是jvm的类加载机制 类加载机制是指我们将类的字节码文件所包含的数据读入内存,同时我们会生成数据的访问入口的一种 特殊机制。那么我们可以得知,类加载的最终产品是数据访问入口。 加载类文件(即.class文件)的方式有以下几…

一些基本类上实用的注解及例子

文章目录 一些基本类上实用的注解及例子一、Data二、Accessors三、AllArgsConstructor四、NoArgsConstructor五、EqualsAndHashCode六、后面在补充!先这样吧,哈哈!总结 一些基本类上实用的注解及例子 一、Data Data 注解是一个组合注解&…

Django源码之路由的本质(上)——逐步剖析底层执行流程

目录 1. 前言 2. 路由定义 3. 路由定义整体源码分析 3.1 partial实现path函数调用 3.2 图解_path函数 3.3 最终 4.URLPattern和Pattern的简单解析 5. 小结 1. 前言 在学习Django框架的时候,我们大多时候都只会使用如何去开发项目,对其实现流程并…

linux 软中断入门

在 linux 中,任务执行的载体有很多,包括线程,中断,软中断,tasklet,定时器等。但是从本质上来划分的话,任务执行的载体只有两个:线程和中断。软中断和 tasklet 的执行可能在中断中&am…

云服务器8核32G配置报价大全,腾讯云、阿里云和京东云

8核32G云服务器租用优惠价格表,云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价,腾讯云和京东云是轻量应用服务器,阿里云是云服务器ECS: 阿里云8核32G服务器 阿里云8核32G服务器价格…

9.动态规划——2.最大序列和

例题——最大序列和 找状态 思路一() 定义一个状态 d p [ i ] dp[i] dp[i],计为前i个数构成子序列和的最大值 此法状态转移比较困难,即若 d p [ i ] dp[i] dp[i]与 d p [ i − 1 ] dp[i-1] dp[i−1]没有明确的关系,有…

获取电商数据的几种方法分享

在数字化时代,电商数据已经成为企业决策的重要依据。无论是市场趋势的洞察、用户行为的分析,还是产品优化和营销策略的制定,都离不开电商数据的支持。本文将分享几种获取电商数据的有效方法,力求在干货满满的同时,也不…

PyCharm中出现Microsoft Defender配置建议

原因 Windows安全中心的病毒和威胁防护会自动扫描电脑中的文件夹,我们的项目文件夹和IDE文件夹也会被扫描,而PyCharm认为这会降低IDE性能。 解决方法 直接点击提示框里的自动。 或是手动给扫描添加排除项,步骤如下: 1、先打开…

Sui原生功能如何改变链上游戏体验

从zkLogin到可编程交易区块(PTB),Sui的原生功能为游戏开发人员提供了工具,最终利用了Web3的力量,给玩家带来了新的体验和参与度。之前的区块链在支持链上游戏方面存在技术上的局限,但是Sui提供了开发人员所…

受益于边缘计算的三个关键应用

边缘计算和 5G 网络正在改变物联网,增强跨多个领域的广泛应用的功能,并催生大量新兴应用。我们通过研究三个突出的用例来说明边缘计算的强大功能。 工业4.0智能工厂 工业 4.0 为制造商提供了基于灵活的工业环境提高生产力和盈利能力的愿景,…

AR-Net网络(图像篡改检测)

AR-Net网络 摘要AbstractAR-Net1. 文献摘要2. 研究背景3. 创新点4. AR-Net 网络架构5. 实验6. 结论总结 摘要 AR-Net使用自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模&a…

牛客NC92 最长公共子序列(二)【中等 动态规划 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/6d29638c85bb4ffd80c020fe244baf11 思路 https://blog.csdn.net/qq_36544411/article/details/120021203 思路 动态规划法, 我们以dp[i][j]表示在s1中以第i个元素结尾,s2中以第j个元素结…

【JavaSE】初识线程,线程与进程的区别

文章目录 ✍线程是什么?✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么? ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…