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

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

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

接下来介绍开源协议类型,当前的开源协议主要分四类。一是强互惠型开源协议,例如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的开源协议中存在一个“报复性条款”,即如果软件用户自己对开源软件提出专利侵权索赔,就会撤销许可,该条款在让软件用户拥有与开源软件相关的专利许可的同时处理了软件用户声称开源软件侵犯其专利的潜在情况,专利风险相对较小,这也是长安链作为商业友好软件可以被广泛应用的基础条件。

具体常见的开源协议选择有一个较为典型的参考图可供开发者快速理解:

图片

图片来源于网络

企业和个人在使用开源以及对外开源中,要注意履行开源软件许可协议相关义务,避免为自身带来不可预知的法律风险。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

胡壮麟《语言学教程》第五版PDF英文版+中文版翻译

胡壮麟《语言学教程》中文版:https://pan.quark.cn/s/9491130ec572 《语言学教程》(英文版)是一部经典的语言学教材,自 1988 年面世以来,被众多高校广泛采用,长销不衰。该教材自出版以来不断修订&#xff…

AI产品经理实战手册:策略、开发与商业化指南

通过《AI产品经理手册》,将可以了解不同类型的AI,如何将AI整合到产品或业务中,以及支持创建AI产品或将AI集成到现有产品所需的基础设施。熟悉实践管理AI产品开发流程、评估和优化AI模型,以及应对与AI产品相关的复杂伦理和法律问题…

31.安卓逆向-抓包-实战4

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。第一…

FMC ADDA子卡 2 通道 14bit 2 通道 3GS/s ADC +16bit 2 通道 12.6GS/s DAC AD9208/AD9172/AD9689

14bit 2 通道 3/2.6/2GS/s ADC 16bit 2 通道 12.6GS/s DAC FMC AD/DA 子卡 是一款高分辨率、高采样率的 ADCDAC FMC 子板。它同时支持 2 路 14 位 3.0/2.6/2.0GS/s 的 A/D 通道输入和 2 路 16 位 12.6GS/s 的 D/A 通道输出, 全功率模拟 -3dB 输入带宽可达 9GHz。A 为…

红米k50电竞版修复“NV损坏” 刷写工程固件操作步骤解析 去除校验电阻图示

Redmi K50电竞版。机型代码:ingres,高通 骁龙8 Gen1。八核处理器。适用于以下型号的小米机型:21121210C, 21121210G,国外型号称为POGO F4 GT。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此机型刷写工程固件预览界面 3💝�

CSRF与SSRF

csrf(跨站请求伪造)的原理: csrf全称是跨站请求伪造(cross-site request forgery),也被称为one-click attack 或者 session riding scrf攻击利用网站对于用户网页浏览器的信任,劫持用户当前已登录的web应用程序,去执行分用户本意的操作。 利…

2024版最新Metasploit安装及使用教程(非常详细)从零基础入门到精通,看完这一篇就够了。

通过本篇文章,我们将会学习以下内容: 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

【利器】12个评估大语言模型(LLM)质量的自动化框架

LLM评估是指在人工智能系统中评估和改进语言和语言模型的过程。在人工智能领域,特别是在自然语言处理(NLP)及相关领域,LLM评估具有至高无上的地位。通过评估语言生成和理解模型,LLM评估有助于细化人工智能驱动的语言相…

使用GetX实现GetPage中间件

前言 GetX 中间件(Middleware)是 GetX 框架中的一种机制,用于在页面导航时对用户进行权限控制、数据预加载、页面访问条件设置等。通过使用中间件,可以有效地控制用户的访问流程,并在适当条件下引导用户到所需页面。 这…

「图文详解」Pycharm 远程服务器Debug

首先声明一点,社区版的无法使用,需要使用 专业版Pycharm 才可以使用,至于密钥可以去TB购入,价格低廉、有效期长 相信很多小伙伴会面临本地电脑显存不够,但是服务器代码又无法直观的调试,只能靠打日志的方法…

spring组件介绍

Spring容器(Spring Container): Spring容器是Spring框架的核心,它负责实例化、配置和组装Bean。Spring容器通过读取配置文件(如XML文件或基于Java的配置类)或注解来识别Bean定义,并在运行时创建…

SemiDrive E3 多核心运行 FreeRTOS 配置介绍

一、概述 本文主要介绍如何通过相关配置,使 Semidrive E3 芯片中的 SF 和 SP0 core 分别运行一套 FreeRTOS 操作系统。 以 multicore-xip 示例作为基础,参考 FreeRTOS-xip 示例的配置,将 FreeRTOS 移植至 SF 和 SP0 core 工程上,…

麻将教学知识

​​​​​​​​​​​​​​

WPF-实现多语言的静态(需重启)与动态切换(不用重启)

目录 一、多语言切换(需重启) 1、配置文件添加Key 2、新增附加属性当前选择语言 3、创建资源文件 4、初始化多语言集合 5、切换多语言并更新配置文件 6、应用程序启动根据配置切换多语言 7、使用 二、多语言切换(无需重启)…

laravel 安装后台管理系统, filament.

参考: 安装 - 面板构建器 - Filament 开始 - 面板构建器 - Filament laravel版本 11. composer require filament/filament:"^3.2" -W php artisan filament:install --panels php artisan make:filament-usercomposer require livewire/livewire php artisan…

[数组基础] 0048. 旋转图像

文章目录 1. 题目链接2. 题目大意3. 示例4. 解题思路5. 参考代码 1. 题目链接 0048. 旋转图像 - 力扣 2. 题目大意 描述:给定一个 nn 大小的二维矩阵(代表图像)matrix。 要求:将二维矩阵 matrix顺时针旋转 90。 说明&#xff…

Java基础(8)异常

目录 1.前言 2.正文 2.1异常的引入 2.2异常的类型 2.2.1编译时异常 2.2.2运行时异常 2.3区分Exception与Error 2.4异常的声明,抛出与捕获 2.4.1throw 2.4.2throws 2.4.2try-catch与finally 2.6自定义异常 3.小结 1.前言 哈喽大家好啊,Java…

功能强大视频编辑软件 Movavi Video Editor Plus 2024 v24.2.0 中文特别版

Movavi Video Editor Plus中文修改版是一款功能强大的视频制作编辑软件,使用能够帮助用户快速从录制的素材中制作成一个精美的电影,支持进行视频剪辑,支持添加背影、音乐和各种音乐,软件使用简单,无需任何的经验和专业…

闯关leetcode——231. Power of Two

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/power-of-two/description/ 内容 Given an integer n, return true if it is a power of two. Otherwise, return false. An integer n is a power of two, if there exists an integer x such th…

<项目代码>YOLOv8 煤矸石识别<目标检测>

YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…