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 条评论