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

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

图片

图片来源于网络

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

http://www.lryc.cn/news/474335.html

相关文章:

  • SQL Server 可观测最佳实践
  • 青少年编程能力等级测评CPA Python编程(一级)
  • WebSocket 连接频繁断开的问题及解决方案
  • [CSP篇] CSP2024 游记(上)
  • Mac “屏幕保护程序启动或显示器关闭后需要密码“无效
  • 架构师之路-学渣到学霸历程-35
  • 2024-10月的“冷饭热炒“--解读GUI Agent 之computer use?phone use?——多模态大语言模型的应用进阶之路
  • sheng的学习笔记-AI基础-激活函数
  • 重构代码之重复的观察数据
  • SpringBoot【实用篇】- 热部署
  • C语言 核心语法2
  • 【论文阅读】Real-ESRGAN
  • 安达发|零部件APS车间排程系统销售预测的优点
  • Android 同花顺面经
  • 搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用
  • 网络:IP分片和组装
  • Oracle dblink创建使用
  • Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification
  • Android 字节飞书面经
  • 选择好友窗口(三)
  • 【含文档】基于ssm+jsp的音乐播放系统(含源码+数据库+lw)
  • 【C语言】动态内存开辟
  • Redis缓存在thinkPHP/fastAdmin框架中的应用
  • Ceisum无人机巡检视频投放
  • 分享几款开源好用的图片在线编辑,适合做快速应用嵌入
  • 闪存学习_1:Flash-Aware Computing from Jihong Kim
  • 如何将本地项目上传至Gitee仓库(详细教程)
  • redis详细教程(3.hash和set类型)
  • 性能测试详解
  • 修改ruoyi的logo和标题