开源协议类型及长安链开源协议介绍
截至目前,我国参与国际开源社区协作的开发者数量排名全球第二并推出了众多社区活跃度较高的高质量开源项目,是全球开源生态的重要贡献力量,但在开源治理方面我国还处于发展初期,大部分开发者对开源的印象还限于开放代码、免费使用,尚未形成参与开源、回馈开源的意识,同时在使用开源软件的过程中也存在很多认知盲区。
开源协议是开源软件的重要组成部分,理解开源协议首先需要了解开源世界中经常提到几个概念:著作权、著佐权、专利权、版权。著作权是指作者对其创作的文学、艺术和科学作品所享有的专有权利,包括人身权和财产权,受著作权法的保护;著佐权是开源软件中产生的概念,利用现有著作权体制来保护所有用户和二次开发者的自由的授权方式;专利保护技术方案,通常要求“首创性”;版权保护的是作品文字性东西,只保护表达形式,趋向于文学作品。
接下来介绍开源协议类型,当前的开源协议主要分四类。一是强互惠型开源协议,例如AGPL 3.0及以后的开源协议,该类开源协议具有“强传染性”(也有部分人士认为“传染性”该词对此类协议存在污名化),不但要求软件在使用到该协议下的部分代码时完全发布必须作为整体适用该协议,即便在某些不分发代码而是采用软件即服务(Software as a Service, SaaS)的场景下,也适用于其著佐权条件,即必须整体开源代码并采用该协议,该类开源协议是希望企业在使用开源软件的同时必须回报社区;二是互惠型开源协议,例如:GPL 2.0,该类开源协议主要特点是要求用户在分发代码的情况下如果软件包含该协议下部分代码,完全发布时必须作为整体适用该协议,但以软件即服务的形式使用该协议下开源代码则未做过多约束;三是弱互惠型开源协议,如LGPL 2.1,该类协议要求完全发布时某些部分必须适用该许可证,其它部分可在其它协议下发布;四是宽松型许可证,该类型许可证允许修改源代码后闭源,例如Apache 2.0、BSD、MIT等开源协议,该类型开源协议作为商业友好型开源协议被广泛应用,长安链开源之初即采用Apache 2.0开源协议并沿用至今。不同的宽松型许可协议对于版权声明或免责条款会有不同的要求,Apache 2.0开源协议要求每一个修改过的文件都必须包含原始许可证和版权声明,例如长安链chainmaker-go/main/main.go的版权声明:
/*
Copyright (C) BABEC. All rights reserved.
SPDX-License-Identifier: Apache-2.0
*/
长安链所采用的Apache 2.0开源协议核心内容是以保护和尊重原作者的著作权为主要目的。对使用,复制,修改,商用不做过多限制,但必须包含原著的License信息,长安链License信息如下:https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/blob/master/LICENSE。需要注意的是,Apache2.0开源协议不授予商标和品牌的权利,因此使用长安链商标及品牌名称需要通过联系长安链开源社区获得授权许可才可合规使用(添加长安链开源社区小助手微信:ChainMaker2021)。
早期的开源许可忽视了对于专利的规范,GPL 2.0版本提及了专利。长安链所采用的Apache 2.0中也包含了与专利相关的明确条款。Apache 2.0的开源协议中存在一个“报复性条款”,即如果软件用户自己对开源软件提出专利侵权索赔,就会撤销许可,该条款在让软件用户拥有与开源软件相关的专利许可的同时处理了软件用户声称开源软件侵犯其专利的潜在情况,专利风险相对较小,这也是长安链作为商业友好软件可以被广泛应用的基础条件。
具体常见的开源协议选择有一个较为典型的参考图可供开发者快速理解:

图片来源于网络
企业和个人在使用开源以及对外开源中,要注意履行开源软件许可协议相关义务,避免为自身带来不可预知的法律风险。
相关文章:
开源协议类型及长安链开源协议介绍
截至目前,我国参与国际开源社区协作的开发者数量排名全球第二并推出了众多社区活跃度较高的高质量开源项目,是全球开源生态的重要贡献力量,但在开源治理方面我国还处于发展初期,大部分开发者对开源的印象还限于开放代码、免费使用…...
SQL Server 可观测最佳实践
SQL Server 简介 SQL Server 是微软公司开发的一款关系数据库管理系统,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。它支持多种操作系统平台,而无论是物理还是虚拟形式,自建部署环境还是在云环境中,运行的操作系…...
青少年编程能力等级测评CPA Python编程(一级)
青少年编程能力等级测评CPA Python编程(一级) (考试时间90分钟,满分100分) 一、单项选择题(共20题,每题3.5分,共70分) 下列语句的输出结果是( )。 print(35*2) A&a…...
WebSocket 连接频繁断开的问题及解决方案
文章目录 WebSocket 连接频繁断开的问题及解决方案1. 引言2. 什么是 WebSocket?2.1 WebSocket 的优势2.2 WebSocket 的工作原理 3. WebSocket 连接频繁断开的常见原因3.1 服务器端问题3.1.1 服务器负载过高3.1.2 服务器配置不当3.1.3 超时设置 3.2 网络问题3.2.1 网…...
[CSP篇] CSP2024 游记(上)
Part.0 前言 在刚刚过去的 CSP-J2024 以及 CSP-S2024 中,不知大家十分用自己最好的状态参加了这次重要的测试,取得了令自己努力的成绩呢? 文章发布在 2024 年 11 月 1 日,距离出结果还有 3 − 5 3-5 3−5 天,如有需…...
Mac “屏幕保护程序启动或显示器关闭后需要密码“无效
屏幕保护程序启动或显示器关闭后需要密码只能选择“立即”的解决方法: 在 iPhone mirror中设置,每次询问权限。 参考:https://support.apple.com/en-us/120421...
架构师之路-学渣到学霸历程-35
Nginx的配置文件说明 nginx的学习,到了关键的部分,其实想要学好nginx就一定要了解配置文件;我们看看配置文件是怎么样的? 1、nginx的配置文件路径 不同的安装方式、nginx的配置文件路径也有所不同 源码安装配置文件路径&#…...
2024-10月的“冷饭热炒“--解读GUI Agent 之computer use?phone use?——多模态大语言模型的应用进阶之路
GUI Agent 之computer use?phone use?——多模态大语言模型的进阶之路 1.最新技术事件浅析三、思考和方案设计工具代码部分1.提示词2.工具类API定义,这里主要看computer tool就够了 总结 本文会总结概括这一应用的利弊,然后给出分析和工具代…...
sheng的学习笔记-AI基础-激活函数
ai目录:sheng的学习笔记-AI目录-CSDN博客 目录 Sigmoid Tanh 函数 ReLU(Rectified Linear Unit)函数 Leaky ReLU ELU(Exponential Linear Unit) SEIU Swish 激活函数的选择 激活函数(Activation F…...
重构代码之重复的观察数据
在代码重构中,重复的观察数据 是一种模式,指的是系统中存在多处对同一数据的观察或记录,使得数据需要在多处维护,导致了数据同步的困难和维护成本的增加。这种重复通常会引起以下几个问题: 数据不一致:由于…...
SpringBoot【实用篇】- 热部署
文章目录 目标:1.手动启动热部署2.自动启动热部署4.禁用热部署 目标: 手动启动热部署自动启动热部署热部署范围配置关闭热部署 1.手动启动热部署 当我们没有热部署的时候,我们必须在代码修改完后再重启程序,程序才会同步你修改的信息。如果我们想快速查…...
C语言 核心语法2
时间:2024.11.1 一、学习内容 1、计算机的存储规则 1.1存储规则 视频是图片和声音的结合体。 在计算机中,任意数据都是以二进制的形式进行存储的。 在计算机中,二进制可以表示万事万物。 1.2十进制 1.3二进制的运算过程 1.4文本存储 …...
【论文阅读】Real-ESRGAN
学习资料 论文题目:Real-ESRGAN:使用纯合成数据训练真实世界的盲超分辨率(Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data)论文地址:IEEE Xplore 全文 PDF:代码&#…...
安达发|零部件APS车间排程系统销售预测的优点
2024制造业面临着前所未有的挑战与机遇。为了保持竞争力,企业必须确保其生产系统能够高效、灵活地运作。在这方面,采用高级计划与排程系统,特别是零部件APS车间排程系统的预测方法,已成为提升生产效率和响应能力的关键策略。这种系…...
Android 同花顺面经
Android 同花顺面经 文章目录 Android 同花顺面经一面 一面 Android组件化搭建使用接口层路由有什么缺点? 如果更改接口的话,其他的依赖的moudle都得改 说说kotlin和java的区别? Java是支持面向对象的编程,Kotlin是支持面向对象支…...
搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用
Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用 搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用...
网络:IP分片和组装
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识,3位标志,13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…...
Oracle dblink创建使用
1、首先要有创建Database Link 的权限。可通过语句查看当前用户是否有权限: SELECT * FROM USER_SYS_PRIVS;如果没有权限,使用系统管理员用户登陆后给当前用户授权: GRANT CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK TO user;…...
Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification
Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification Neurips 24 推荐指数: #paper/⭐⭐⭐# 摘要 我们的研究结果表明,由于GNN中的超参数设置次优,之前报道的GT的优越性可能被夸大了。值得注意的是ÿ…...
Android 字节飞书面经
Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
篇章二 论坛系统——系统设计
目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...
