开源软件合规风险与开源协议的法律效力
更多内容:OWASP TOP 10 之敏感数据泄露
OWASP TOP 10 之失效的访问控制
OWASP TOP 10 之失效的身份认证
一、开源软件主要合规风险
1、版权侵权风险
没有履行开源许可证规定的协议导致的版权侵权,例如没有按照许可要求的保留版权声明等。
2、商业机密风险
因为不当使用开源软件,将产品的核心软件代码开源,或者未经授权将第三方非公开代码开源。
3、专利侵权风险
如果引用的开源软件携带的许可证中,没有专利授权条款,容易造成专利侵权风险。
4、商标侵权风险
未经授权使用开源软件的商标目前几乎没有许可证给出明确的商标许可。
二、开源协议的法律效力
法律依据:《著作权法》《计算机软件保护条例》《合同法》;
法律效力:包括GPL在内的通用开源协议具备法律认可的合同地位,具备法律效力;
侵权认定:软件“抄袭”导致的侵权在法律认定上可以做到,基本是通过软件源代码和其他文档的对比进行实质性相似的判定。
三、开源许可合规侵权案例
案例1:罗盒公司状告风灵公司侵权事件
罗盒公司,独立开发的VirtualApp V1.0,在2016年引入 GPL3.0 许可证于2017年取得计算机软件著作权登记证书,且声明用于商业用途请购买商业授权。2018年发现名为“点心桌面”的软件使用了VirtualApp V1.0 的代码,经过源码分析对比,发现两者之间高度相似,遂起诉被告福建风灵公司。
根据 GPL3.0 协议第4 条、第5 条的规定,只要后续版本中有使用先前开源版本中的源代码,并目先前版本使用了GPL3.0协议,则后续版本也必然受GPL3.0协议的约束。因此,VirtualApp 后续开源版本仍然受GPL3.0协议的约束,其用户在使用时也应该遵循相应的协议条款。
此次纠纷最终以风灵公司侵权,赔偿原告50万元结束。这是中国首个明确GPL3.0 许可证具有法律效力的案例。企业在使用开源软件时,必须遵循开源软件许可证中规定的协议条款,否则就容易存在侵权的风险。
案例2:TikTok Live Studio违反GPL许可证事件
2021年12月,抖音海外版 TikTok 上线了一款名为 TikTok Live Studio的APP,但不久其
下载页面就被删除。TikTok 官方对此事做出回应,原因是该APP 违反GPL许可证,其使
用GPL许可证下的开源软件源码,却没有按照GPL许可证的要求进行开源。
GPL许可证协议是一个极具传染性的协议。基于GPL的软件允许商业化销售,但不允许封闭
源代码。使用了遵循GPL协议发布的软件,自身也必须遵守GPL协议。因此TikTok需要按照
GPL的许可协议,开放其产品的源代码。
在使用开源软件时,需要了解该软件携带的许可证,以及许可证中规定的使用权利。有些开
源软件声明的许可看似宽松,但是可能会有潜在的风险。因此,产品在引入开源软件时,需
要完整的了解其许可证的含义。
更多内容:OWASP TOP 10 之敏感数据泄露
OWASP TOP 10 之失效的访问控制
OWASP TOP 10 之失效的身份认证
相关文章:
开源软件合规风险与开源协议的法律效力
更多内容:OWASP TOP 10 之敏感数据泄露 OWASP TOP 10 之失效的访问控制 OWASP TOP 10 之失效的身份认证 一、开源软件主要合规风险 1、版权侵权风险 没有履行开源许可证规定的协议导致的版权侵权,例如没有按照许可要求的保留…...
2024全新开发API接口调用管理系统网站源码 附教程
2024全新开发API接口调用管理系统网站源码 附教程 用layui框架写的 个人感觉很简洁 方便使用和二次开发...
[Linux 进程(四)] 再谈环境变量,程序地址空间初识
文章目录 1、前言2、环境变量2.1 main函数第三个参数 -- 环境参数表2.2 本地环境变量和env中的环境变量2.3 配置文件与环境变量的全局性2.4 内建命令与常规命令2.5 环境变量相关的命令 3、程序地址空间 1、前言 上一篇我们讲了环境变量,如果有不明白的先读一下上一…...
【C++】STL(标准模板库)
文章目录 1. 基本概念2. 容器2.1. 容器的分类2.2. vector2.2.1. 构造vector对象2.2.2. vector的赋值 1. 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称,现在已经成为C标准库的重要组成部分。STL的…...
【已解决】fatal: Authentication failed for ‘https://github.com/.../‘
文章目录 异常原因解决方法 异常原因 在 Linux 服务器上使用git push命令,输入用户名和密码之后,总会显示一个报错: fatal: Authentication failed for https://github.com/TianJiaQi-Code/Linux.git/ # 致命:无法通过验证访问起…...
SqlAlchemy使用教程(二) 入门示例及编程步骤
SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解 二、入门示例与基本编程步骤 在第一章中提到,Sqlalchemy提供了两套方法来访问数据库,由于Sqlalchemy 官方文档结构有些乱,对于ORM的使用步骤的描…...
HTML+JS+CSS移动端购物车选购界面
代码打包资源下载:【免费】HTMLJSCSS移动端购物车选购界面资源-CSDN文库 关键部分说明: UIGoods 类: 构造函数: 创建 UIGoods 实例时,传入商品数据 g,初始化商品的数据和选择数量。getTotalPrice() 方法…...
微服务治理:为什么要分析微服务的依赖关系?
在微服务架构中,单个服务相互协作以交付功能。这些协作会在服务之间形成依赖关系,其中一个服务依靠另一个服务来完成自己的任务。虽然依赖关系使功能得以实现,但不受控制的依赖关系可能会导致一系列挑战: 复杂性: 错综复杂的依赖…...
【程序员的自我修养—系统调用与API】
系统调用 背景: 为了避免有限的系统资源被多个不同的应用程序同时访问,需要加以保护,避免冲突;提供一套统一的接口,是应用程序能做一些由操作系统支持的行为;接口通过中断的方式实现,Linux使用…...
使用宝塔面板部署后端项目到服务器
文章目录 前言第一步:安装数据库第二步:打包后端项目第三步:配置数据库第四步:部署后端项目第五步:前后端联调测试总结 前言 在之前我已经写了一篇如何去部署前端项目,虽然能访问网站,但是没有…...
走迷宫(c语言)
前言: 制作一个迷宫游戏是一个有趣的编程挑战。首先,我们需要设计一个二维数组来表示迷宫的布局,其中每个元素代表迷宫中的一个格子。我们可以使用不同的值来表示空格、墙壁和起点/终点。接下来,我们需生成迷宫。在生成迷宫的过程…...
两周掌握Vue3(五):自定义指令、路由、ajax
文章目录 一、自定义指令1.创建和使用自定义指令2.钩子函数3.使用参数 二、路由1.创建一个router实例2.在components目录中创建组件3.将路由实例挂载到应用4.使用路由 三、Ajax 代码仓库:跳转 当前分支:05 一、自定义指令 自定义指令是Vue.js框架提供的…...
redis之单线程和多线程
目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…...
12AOP面向切面编程/GoF之代理模式
先看一个例子: 声明一个接口: // - * / 运算的标准接口! public interface Calculator {int add(int i, int j);int sub(int i, int j);int mul(int i, int j);int div(int i, int j); }实现该接口: package com.sunsplanter.prox…...
【MySQL】数据处理之增删改
文章目录 一、增加(插入)INSERT INTO...VALUES(...,...)VALUES的方式添加情况一:为表的所有字段按默认顺序插入数据情况二:为表的指定字段插入数据情况三:同时插入多条记录 将查询结果插入到表中 二、修改(…...
利用docker的LNMP
目录 服务器环境 任务需求 服务搭建 Nginx Mysql Php 启动 wordpress 服务 服务器环境 容器 操作系统 IP地址 主要软件 nginx CentOS 7 172.20.0.10 Docker-Nginx mysql CentOS 7 172.20.0.20 Docker-Mysql php CentOS 7 172.2…...
Grafana(二)Grafana 两种数据源图表展示(json-api与数据库)
一. 背景介绍 在先前的博客文章中,我们搭建了Grafana ,它是一个开源的度量分析和可视化工具,可以通过将采集的数据分析、查询,然后进行可视化的展示,接下来我们重点介绍如何使用它来进行数据渲染图表展示 Docker安装G…...
Shape-IoU——综合考量边框形状与尺度的度量
今天看到一篇文章主要是提出了一种更有效的IOU度量方法,论文地址在这里,如下所示: 摘要 边界盒回归损失作为检测器定位分支的重要组成部分,在目标检测任务中起着重要作用。现有的边界框回归方法通常考虑GT框和预测框之间的几何关…...
Stack详解(Java)
Stack Java 中的 Stack 是一种基于后进先出(LIFO)原则的数据结构。Stack 类实现了一个标准的堆栈,它继承自 Vector 类,并提供了一些额外的方法来支持堆栈的操作。 下面是一些 Java Stack 类的详细解释: 构造方法&…...
Qt框架学习 --- CTK编译(Qt5.15.2+vs2019+cmake)
系列文章目录 第二章 CTK的测试demo https://blog.csdn.net/yonug1107716573/article/details/135527289 文章目录 系列文章目录前言一、准备工作二、编译步骤1.修改文件2.编译CTK2.1 准备2.2 cmake界面配置2.3 配置编译器2.4 编译的配置设置2.5 选择需要编译的模块2.6 生成2.…...
My-TODOs:免费开源跨平台桌面待办清单应用终极指南
My-TODOs:免费开源跨平台桌面待办清单应用终极指南 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 你是否经常忘记重要任务?是否在多个待办应用间…...
树莓派4B + Python3 + OpenCV 实时扫码:从CSI摄像头调试到pyzbar优化,解决高延迟卡顿问题
树莓派4B动态扫码性能调优实战:从硬件选型到代码级优化 在智能仓储、自动化物流和创客项目中,实时二维码识别一直是核心需求。树莓派4B凭借其均衡的算力和丰富的扩展接口,成为这类场景的首选平台。但当开发者尝试用PythonOpenCVpyzbar构建动…...
智能家居语音交互进阶:从离线识别到场景化意图推理的本地化实现
1. 项目概述:从“听见”到“听懂”的智能家居进化 “小爱同学,打开客厅灯。” “天猫精灵,空调调到26度。” 这类语音交互如今已司空见惯。但你是否遇到过这样的场景:对着音箱说“我有点冷”,它却回答“对不起…...
深入理解Istio架构:控制平面与数据平面核心组件全解析
深入理解Istio架构:控制平面与数据平面核心组件全解析 【免费下载链接】istio-handbook Istio服务网格进阶实战 项目地址: https://gitcode.com/gh_mirrors/is/istio-handbook Istio作为新一代服务网格(Service Mesh)的领航者…...
2026年3大知识竞赛软件测评:告别抢答器,手机闯关如何玩出高级感?
在2026年的今天,组织一场知识竞赛不再需要搬运笨重的抢答硬件,也不再需要人工统计分数。无论是学校的百科竞赛,还是企业的安全生产月活动,组织者最核心的需求已经演变为:如何在保证万人并发稳定的前提下,玩…...
终极指南:如何使用qmc-decoder快速解密QMC音频文件 [特殊字符]
终极指南:如何使用qmc-decoder快速解密QMC音频文件 🎵 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder qmc-decoder是一款专为QQ音乐用户设计的QMC音…...
图表数据提取神器:3个步骤让WebPlotDigitizer帮你从图片中“挖“出宝贵数据
图表数据提取神器:3个步骤让WebPlotDigitizer帮你从图片中"挖"出宝贵数据 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigiti…...
京东自动抢购工具:5分钟快速上手指南,轻松抢购心仪商品
京东自动抢购工具:5分钟快速上手指南,轻松抢购心仪商品 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为心仪商品秒杀时手速不够快而烦恼吗?Autobuy-JD…...
从CRUD到AI大神:小白程序员5个月逆袭之路(收藏版)
本文分享了作者从传统CRUD工程师转型为AI应用工程师的心路历程。通过实战先行、深入学习、项目巩固三个阶段,作者逐步掌握了AI模型开发、部署和服务化能力,并成功开发了多个AI应用项目。文章强调实践导向的学习方法,建议程序员利用AI工具提升…...
如何在5分钟内掌握DistroAV网络视频传输:新手完整指南
如何在5分钟内掌握DistroAV网络视频传输:新手完整指南 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 还在为复杂的直播布线烦恼吗?想要在不同设备…...
