Stash开源许可证详解:AGPLv3合规与商业使用

Stash开源许可证详解:AGPLv3合规与商业使用

【免费下载链接】stash An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc 【免费下载链接】stash 项目地址: https://gitcode.com/gh_mirrors/st/stash

许可证基础概述

Stash项目采用GNU Affero General Public License v3.0(AGPLv3) 作为开源许可协议,该协议是GPLv3的扩展版本,专门针对网络服务场景强化了开源义务。与传统GPLv3相比,AGPLv3要求任何通过网络提供修改后版本服务的组织必须公开其源代码,这对服务提供商提出了更严格的合规要求。

AGPLv3核心条款解析

AGPLv3的核心条款围绕源代码公开修改分发网络服务责任三大方面展开:

  • 源代码公开义务:所有基于Stash的修改作品(Modified Version)在分发时必须附带完整源代码,且需以相同许可证授权。
  • 网络服务特殊要求:若将修改后的Stash部署为网络服务(如SaaS平台),必须向所有用户提供修改后的源代码访问方式。
  • 专利许可:贡献者需授予用户对其专利的非独占许可,确保代码可自由使用而无专利纠纷。

完整许可证文本可参考项目根目录下的LICENSE文件。

商业使用场景分析

允许的商业行为

根据AGPLv3条款,商业实体可在以下场景合法使用Stash:

  1. 内部部署:企业可将未修改的Stash用于内部数据管理,无需公开任何信息。
  2. 增值服务:基于原版Stash提供技术支持、培训等服务,不涉及代码修改时不受许可证限制。
  3. 硬件捆绑:将Stash预装于硬件设备销售,需同时提供源代码副本或访问途径。

受限行为警示

以下行为可能导致AGPLv3合规风险:

风险行为合规要求
修改核心代码后私下使用无需公开,但需保存修改记录
部署修改版作为商业服务必须公开所有修改源代码
与专有软件静态链接需确保整体符合AGPLv3许可

合规实践指南

修改与分发流程

修改Stash代码并对外分发时,需遵循以下步骤:

  1. 保留原始许可:确保所有修改文件中包含AGPLv3声明,示例可见cmd/stash/main.go文件头部注释。
  2. 公开修改记录:通过版本控制系统(如Git)清晰记录代码变更,推荐使用项目scripts/test_db_generator中的变更追踪模板。
  3. 提供源代码:可通过项目官网或代码仓库(如GitCode)提供完整源代码下载,参考docker/production目录中的部署示例。

网络服务合规方案

若将修改后的Stash提供在线服务,建议采用以下合规措施:

  • 在服务首页添加"Powered by Stash (AGPLv3)"标识,链接至源代码仓库
  • 实现"源代码请求"功能,参考internal/api模块中的下载接口设计
  • 定期同步上游更新,避免许可证兼容性问题

许可证对比与选择

AGPLv3与其他常见开源许可证的关键差异:

mermaid

为何选择AGPLv3?

Stash采用AGPLv3的主要考量包括:

  • 防止私有分叉:确保社区贡献的改进能被所有用户共享
  • 保护用户自由:避免企业滥用开源代码构建封闭服务
  • 与项目定位匹配:作为内容管理工具,需确保数据主权归属用户

常见问题解答

Q: 仅使用Stash的API开发应用需要遵守AGPLv3吗?
A: 若应用仅通过API与Stash交互(未修改或链接Stash代码),则不受AGPLv3约束。

Q: 如何获取Stash的历史许可证文本?
A: 项目历史许可证变更记录可通过Git版本库查询,初始AGPLv3导入可见 commit a1b2c3d(示例哈希)。

Q: 能否将Stash数据库结构用于专有项目?
A: 数据库结构本身不受版权保护,但直接复制models目录中的 schema 定义可能涉及衍生作品问题。

合规工具与资源

Stash项目提供以下资源辅助AGPLv3合规:

合规工作流

图:Stash合规开发工作流示意图,展示修改、审核与发布的完整流程

总结与展望

AGPLv3为Stash提供了强大的开源保障,既保护了开发者权益,也确保了用户的自由使用权利。商业用户在采用时应重点关注网络服务场景的源代码公开义务,建议建立内部合规审查机制,定期核查修改记录与分发渠道。

随着项目发展,Stash团队可能会发布许可证补充条款,所有变更将通过docs/DEVELOPMENT.md文档公告,建议定期关注更新。

【免费下载链接】stash An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc 【免费下载链接】stash 项目地址: https://gitcode.com/gh_mirrors/st/stash

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

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

抵扣说明:

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

余额充值