当前位置: 首页 > news >正文

开源协议类型及长安链开源协议介绍

截至目前,我国参与国际开源社区协作的开发者数量排名全球第二并推出了众多社区活跃度较高的高质量开源项目,是全球开源生态的重要贡献力量,但在开源治理方面我国还处于发展初期,大部分开发者对开源的印象还限于开放代码、免费使用,尚未形成参与开源、回馈开源的意识,同时在使用开源软件的过程中也存在很多认知盲区。

开源协议是开源软件的重要组成部分,理解开源协议首先需要了解开源世界中经常提到几个概念:著作权、著佐权、专利权、版权。‌著作权是指作者对其创作的文学、艺术和科学作品所享有的专有权利,包括人身权和财产权,受著作权法的保护;著佐权是开源软件中产生的概念,利用现有著作权体制来保护所有用户和二次开发者的自由的授权方式;专利保护技术方案,通常要求“首创性”;版权保护的是作品文字性东西,只保护表达形式,趋向于文学作品。

接下来介绍开源协议类型,当前的开源协议主要分四类。一是强互惠型开源协议,例如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的优越性可能被夸大了。值得注意的是&#xff…...

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

工厂方法模式和抽象工厂方法模式的battle

1.案例直接上手 在这个案例里面,我们会实现这个普通的工厂方法,并且对比这个普通工厂方法和我们直接创建对象的差别在哪里,为什么需要一个工厂: 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类: 两个发…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值,以达到平滑(去噪)、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算,…...

中国政务数据安全建设细化及市场需求分析

(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...