Yearning开源协议解析:如何合法使用与二次开发

Yearning开源协议解析:如何合法使用与二次开发

【免费下载链接】Yearning cookieY/Yearning: 这是一个用于SQL注入检测和防御的工具。适合用于需要检测和防御SQL注入的场景。特点:易于使用,支持多种数据库,提供实时检测和防御功能。 【免费下载链接】Yearning 项目地址: https://gitcode.com/gh_mirrors/ye/Yearning

1. AGPLv3协议核心条款解析

1.1 协议定义与适用范围

GNU Affero General Public License v3.0(AGPLv3)是一种自由软件(Free Software)许可协议,由自由软件基金会(Free Software Foundation, FSF)制定。Yearning项目采用此协议,意味着任何使用、修改或分发该软件的行为都必须遵守AGPLv3的条款。该协议的核心目标是保护软件用户的四大自由:运行、研究、修改和分发软件的自由。

1.2 与其他开源协议的关键区别

协议类型核心要求适用场景与Yearning协议的兼容性
AGPLv3网络服务端修改需开源服务器软件、SaaS服务本协议
GPLv3修改后分发需开源桌面软件、独立应用可组合使用(见13章)
MIT几乎无限制商业组件、工具库可作为依赖,但修改Yearning需遵循AGPLv3
Apache专利授权+商标保护企业级项目需注意专利条款兼容性

AGPLv3与GPLv3的关键差异在于第13章"远程网络交互"条款:当修改后的程序通过网络提供服务时,必须向用户提供修改后的源码。这对Yearning这类SQL检测工具尤为重要,因其通常部署在服务器环境中。

2. Yearning合法使用指南

2.1 基本使用权限

根据AGPLv3第2章"基本权限",用户可:

  • 自由运行Yearning的未修改版本
  • 制作私有修改(不对外分发/提供服务)
  • 为内部使用目的进行修改和部署

2.2 源码获取与安装

# 合法获取Yearning源码
git clone https://gitcode.com/gh_mirrors/ye/Yearning
cd Yearning

# 编译可执行文件(示例)
go build -o yearning main.go

法律提示:获取源码后,必须保留LICENSE文件及所有版权声明,不得移除或修改原作者的许可信息。

2.3 商业使用限制

AGPLv3允许商业使用,但需满足:

  • 不得限制用户的基本自由(如收费才能获取源码)
  • 提供服务时必须公开修改后的源码
  • 不得添加与AGPLv3冲突的额外条款

3. 二次开发合规要点

3.1 修改与衍生作品要求

第5章"修改源码版本的传播"规定,修改Yearning后进行传播需满足:

  1. 显著声明修改:在代码中添加修改记录,如:
// Yearning修改记录:
// 2025-09-14 添加PostgreSQL 16支持
// 修改人:XXX <contact@example.com>
  1. 整体开源:修改部分与原Yearning代码整体受AGPLv3约束
  2. 保留许可信息:不得删除原LICENSE文件及法律声明

3.2 网络服务端部署规范

若将修改后的Yearning部署为网络服务(如企业内部检测平台),需:

  • 在服务首页提供"获取源码"链接
  • 源码包需包含所有修改记录
  • 保留3年以上的源码获取渠道(如专用下载页面)

mermaid

3.3 分发与再许可规则

分发Yearning需遵循第4章"传播 verbatim 副本"要求:

  • 必须附带完整LICENSE文件
  • 保持所有版权和许可声明完整
  • 可收费分发,但需允许免费获取源码

禁止行为:不得将Yearning或其衍生作品改为闭源软件,或使用MIT/Apache等宽松协议重新许可。

4. 企业级应用合规方案

4.1 内部使用场景

企业在内部网络部署修改后的Yearning时:

  • 若仅内部员工使用,无需公开源码
  • 需建立修改记录文档(以备审计)
  • 禁止限制员工获取修改后源码的权利

4.2 商业服务场景

提供基于Yearning的商业服务(如安全检测SaaS)时: mermaid

4.3 合规风险防范

风险类型防范措施法律依据
未公开修改源码建立源码自动发布机制第13章
移除版权声明使用自动化检查工具第4章
限制用户自由制定内部开源合规流程第10章

5. 常见合规问题解答

5.1 必须公开哪些类型的修改?

  • 需公开:核心检测引擎优化、规则库更新、Web界面修改
  • 无需公开:配置文件(conf.toml)、部署脚本、使用说明文档

5.2 如何合并其他开源组件?

根据第5章"聚合"条款,Yearning可与以下组件安全组合:

  • MIT/GPL许可的依赖库(如Go标准库)
  • 独立的非衍生作品(如监控脚本、日志分析工具)

合并时需注意:

// 正确示例:独立模块引用
import (
  "github.com/mit-licensed/loglib"  // 允许
  "yearning/internal/core"           // 必须遵循AGPLv3
)

5.3 协议冲突如何处理?

若需使用与AGPLv3不兼容的组件(如某些专利许可软件),唯一合法途径是:

  1. 不修改Yearning核心代码
  2. 将不兼容组件作为独立进程运行
  3. 通过标准API(如HTTP)与Yearning通信

6. 最佳实践与资源

6.1 二次开发工作流

mermaid

6.2 合规工具推荐

6.3 学习资源

  • AGPLv3官方全文(LICENSE文件)
  • FSF官方指南(非链接,可自行搜索)
  • Yearning项目LICENSE文件

7. 总结与行动指南

AGPLv3为Yearning提供了强大的开源保障,同时要求开发者尊重用户自由。合法使用和二次开发需遵循:

  1. 保留所有许可信息:不删除LICENSE及版权声明
  2. 公开网络服务修改:服务器端修改必须提供源码
  3. 正确处理衍生作品:修改后分发需整体遵循AGPLv3

作为开发者,我们的责任是在享受开源自由的同时,维护开源生态的健康发展。通过遵守这些规则,Yearning才能持续为SQL安全社区提供价值。

行动建议:立即检查您的Yearning部署是否符合上述要求,重点关注修改记录和源码可获取性。

【免费下载链接】Yearning cookieY/Yearning: 这是一个用于SQL注入检测和防御的工具。适合用于需要检测和防御SQL注入的场景。特点:易于使用,支持多种数据库,提供实时检测和防御功能。 【免费下载链接】Yearning 项目地址: https://gitcode.com/gh_mirrors/ye/Yearning

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值