[开源协议] 什么是MIT协议及其使用场景

什么是MIT协议?

MIT协议是一种开放源代码软件授权协议,全称为Massachusetts Institute of Technology License。该协议允许自由地使用、复制、修改、合并、发布、分发、再授权和销售软件及其副本的任何部分。MIT协议要求在软件的所有副本中包含版权声明和许可声明。尽管MIT协议要求保留版权和许可声明,但它不限制使用软件的人或组织,包括商业使用。因此,MIT协议被广泛应用于各种开源软件项目中。

如何选择开源协议?

Paul Miller — Simple description of popular software licenses (paulmillr.com)

如何选择开源许可证?

MIT协议内容

英文

MIT LicenseCopyright (c) [year] [fullname]Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

中文

版权所有 (C) 年份 作者或组织名称

根据以下条款,被授权人获得免费的获得和使用本软件及其相关文档文件(以下简称“软件”)的许可。被授权人有权处理软件的副本,包括但不限于使用、复制、修改、合并、发布、分发、再授权和销售软件及其副本的权利,以及授予他人同等的权利,但前提是:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不附带任何形式的明示或暗示担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权所有者不承担任何索赔、损害或其他责任,无论是合同诉讼、侵权行为还是其他行为,由于、在或与本软件有关或由本软件引起,无论是因使用或其他方式产生的,即使在有关软件的可能性已经通知。

参考资料

MIT 许可证 | 选择一个许可证 (rustwiki.org)

Paul Miller — Simple description of popular software licenses (paulmillr.com)

如何选择开源许可证?

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

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

相关文章

高性能API云原生网关 APISIX安装与配置指南

Apache APISIX是Apache软件基金会下的顶级项目,由API7.ai开发并捐赠。它是一个高性能的云原生API网关,具有动态、实时等特点。 APISIX网关可作为所有业务的流量入口,为用户提供了丰富的功能,包括动态路由、动态上游、动态证书、A…

瀑布型还是敏捷型?一次搞懂主数据项目实施方法

在主数据项目实施的过程中,经常会碰到一个让人头痛的问题,我该选择什么样的实施方法才能够更为高效地完成项目的交付? 得帆经过多年在软件行业的摸爬滚打,总结出了适合主数据项目的实施方法。接下来我们将为大家介绍两种常用的实…

Android 启动流程及 init 进程解析

一、Android 启动流程概括 按下电源键触发开机,从 ROM 加载引导程序 BootLoader 到 RAM 中,BootLoader 执行启动 Linux kernel,然后启动第一个用户进程 init,init 进程的工作包括挂载文件、创建文件目录、设置 selinux 安全策略&…

gitlab添加ssh公钥

一:生成公钥 桌面鼠标右击打开 Open Git Bash here (前提是安装了Git); 2.输入命令 ssh-keygen -t rsa -C "123*****90qq.com"来生成新的密钥对,将其中的"123*****90qq.com"替换为你自己的电子邮件地址。 命令:ssh-keyg…

提升Vue3应用效率的秘诀:深入比较ref与reactive!

ref 和 reactive 是 Vue3 中实现响应式数据的核心 API。ref 用于包装基本数据类型,而 reactive 用于处理对象和数组。尽管 reactive 似乎更适合处理对象,但 Vue3 官方文档更推荐使用 ref。 我的想法,ref就是比reactive好用,官方也…

可分矩阵和k-拟可分矩阵

可分矩阵 可分矩阵(Separable Matrix)是线性代数和多变量数据分析中的一个重要概念。它关系到一种特殊类型的矩阵分解,这种分解可以将矩阵简化为更小的、更易处理的组成部分。在不同的应用背景中,可分矩阵的定义和性质可能有所不…

Oracle RMAN 备份恢复

Oracle RMAN 备份恢复 1.什么是RMAN RMAN在数据库服务器的帮助下实现数据库文件、控制文件、数据库文件和控制文件的映像副本,以及归档日志文件,数据库服务器参数文件的备份。RMAN也允许使用脚本文件实现数据的备份与恢复,而且这些脚本保存…

CentOS 升级 Glibc-2.28

安装 glibc-2.28 # 下载并解压 glibc-2.28 $ wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz $ tar -xzvf glibc-2.28.tar.gz $ cd glibc-2.28 # 创建临时文件 $ mkdir build && cd build $ ../configure --prefix/usr --disable-profile --enable-add-ons --…

Springboot 使用小记-集成 MyBatis 单多数据源

文章目录 1.单数据源1.1 application.properties 配置参考1.2应用类参考配置 2.多数据源(主从)2.1 application.properteis 如下配置2.2 主从数据源的配置2.3 Mybatis 配置动态数据源2.4 动态数据源线程安全处理2.5 获取动态数据源2.6 AOP 配置,在 DAO 层切入&#…

QT获取当前路径方法

一、获取应用程序运行路径 假设当前运行的应用程序在 ...\build-qt_python-Desktop_Qt_5_12_10_MinGW_64_bit-Debug\debug下,我们需要获取...\build-qt_python-Desktop_Qt_5_12_10_MinGW_64_bit-Debug\debug这个路径, 可以使用QCoreApplication提供的…

Spring: Springboot 框架集成不同版本的spring redis

文章目录 一、集成不同版本的spring redis1、Spring Data Redis 1.x:2、Spring Data Redis 2.x:3、Spring Data Redis 3.x(Spring Boot 2.x): 二、springboot集成Spring Data Redis 2.x1、首先,确保在 pom.…

Vue:vue的安装与环境的搭建

文章目录 环境搭建安装node.js(比较简单)安装Vue脚手架初始化启动 环境搭建 安装node.js(比较简单) 首先要安装node.js,进入官网下载即可。 更改安装路径,保持默认配置,一直点击下一步安装即可…

Linux系统运维命令:查看cache里的URL,即查看系统访问了哪些包含http的url(使用grep结合awk,组合命令实现功能)

目 录 一、需求 二、解决方法 1、解决思路 2、命令 三、实例演示和命令解释 1、实例演示 2、命令解释 四、扩展 一、需求 想知道某台linux机器最近访问了哪些http的web地址,如何处理? 二、解决方法 1、解决思路 Linux系统访问外…

(undone) 如何计算 Hessian Matrix 海森矩阵 海塞矩阵

参考视频1:https://www.bilibili.com/video/BV1H64y1T7zQ/?spm_id_from333.337.search-card.all.click 参考视频2(正定矩阵):https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_…

如何电脑录屏?教你3分钟快速掌握!

在当今数字化时代,电脑录屏已成为一项必不可少的技能。无论是录制游戏画面、线上课程还是软件演示,录屏都可以帮助用户更好地保存和分享信息。可是如何电脑录屏呢?在本文中,我们将介绍两种常用的电脑录屏方法,并分步骤…

【nvm切换node版本,发现npm无法使用,简单粗暴的解决方案】

nvm切换node版本,发现npm无法使用,简单粗暴的解决方案 使用了nvm切换指定node版本后,发现npm命令无法使用。 在nodejs官网找到这部分内容 找到需要安装的压缩包 把解压的文件放入到自己的nvm文件夹内 这部分是解压的nodejs 示例

HarmonyOS—低代码开发Demo示例

接下来为大家展示一个低代码开发的JS工程的Demo示例,使用低代码开发如下华为手机介绍列表的HarmonyOS应用/服务示例。 1.删除模板页面中的控件后,选中组件栏中的List组件,将其拖至中央画布区域,松开鼠标,实现一个List组…

从初步的需求收集到详细的规划和评估

综合需求分析建议 明确与细化用户故事 确保每个用户故事清晰、具体,包含角色、目标和成功标准。对用户故事进行优先级排序,以指导开发过程中的功能实现顺序。用户参与和原型制作 创建用户旅程图,以理解用户在使用产品或服务时的整体流程与体验。制作原型或草图,展示用户界面…

产品可靠性设计-浪涌防护设计中TVS选型与计算

产品可靠性设计-浪涌防护设计中TVS选型与计算 上一篇 有对产品浪涌和雷电脉冲的瞬态抑制方法和思路进行了分析,我们再对浪涌防护中TVS的能量计算方法举例给电子工程师们进行参考。 1)浪涌与EFT及在产品抗扰度测试时的问题及差异 EFT测试是一种高频的现…

Golang 关于 interface 接口的理解

package mainimport "fmt"// 定义一个存储器接口:支持mysql存储、redis存储 type StorageManager interface {insert(data string) int // 增加update(id int, data string) int // 更新 }// 实现一个Mysql存储器 type Mysql struct{}func (mysql…