GNU Affero 通用公共许可证版本 3 (AGPLv3) 是一种著作权许可证,几乎与 GPLv3 完全相同。两种许可证具有相同的著作权范围,但在一个重要方面存在实质性差异。AGPLv3 的第 13 节规定了 GPLv2 或 GPLv3 中不存在的附加条件
尽管本许可证的任何其他条款另有规定,如果您修改了程序,您的修改版本必须显著地向所有通过计算机网络远程交互的用户(如果您的版本支持此类交互)提供机会,通过从网络服务器免费提供对相应源代码的访问,以接收您的版本的相应源代码,通过一些标准或惯常的软件复制便利方式。
此条件旨在主要适用于现在被认为是 SaaS 部署的情况,尽管“通过计算机网络远程交互”的范围或许应被理解为涵盖超出传统 SaaS 的情况。目的是为了弥补普通 GPL 在用户使用作为 Web 服务提供的功能,但没有发生提供该功能的代码分发的环境中被认为存在的漏洞。因此,第 13 节提供了超出 GPLv2 第 3 节以及 GPLv3 和 AGPLv3 第 6 节中包含的对象代码分发触发要求的附加源代码披露要求。
经常被误解的是,AGPLv3 第 13 节中的源代码要求仅在 AGPLv3 软件已被“您”(例如,提供网络服务的实体)修改的情况下才被触发。我的理解是,只要“您”不修改 AGPLv3 代码,就不应将该许可证解读为要求以第 13 节规定的方式访问相应源代码。在我看来,许多未修改和标准部署的 AGPL 下的软件模块根本不会触发第 13 节,尽管即使许可证没有要求,提供源代码也是一个好主意。
AGPL 的条款和条件如何解释,包括 AGPL 软件是否已被修改,可能需要根据具体用例的事实和细节进行法律分析。
9 条评论