AGPL-3.0(Affero General Public License version 3.0)是一种强传染性的开源许可证,允许商业使用,但同时也对商业场景下的代码分发和服务提供提出了明确要求。以下是关于AGPL-3.0是否可以商用的详细分析:
1. AGPL-3.0允许商业使用
AGPL-3.0明确允许商业使用,包括销售和分发基于该许可证的软件。其核心目标是促进软件的自由使用和传播,商业使用是其中一种重要的使用方式。例如,企业可以基于AGPL-3.0的开源代码开发产品并销售,但必须遵守协议的义务,如保留版权声明、提供源代码等。
2. 商用场景下的具体要求
在商业环境中使用AGPL-3.0授权的软件时,需特别注意以下几点:
(1)保留版权声明和许可声明
- 在使用和分发软件时,必须保留所有必要的版权声明和许可声明。例如,软件的文档或说明书中需列出所使用的开源软件及其许可证信息。
(2)提供源代码
- 如果基于AGPL-3.0的代码开发了衍生作品(Derivative Works),则必须提供完整的源代码。这包括:
- 直接分发软件:如果销售的是软件产品,用户必须能够获取到完整的源代码。
- 通过网络服务提供:如果通过SaaS(软件即服务)模式提供服务,用户也必须能够获取到服务所使用的源代码。
(3)明确声明开源性质
- 虽然协议未强制要求在销售页面上声明“开源软件”,但从透明度和尊重开源社区的角度来看,建议明确告知用户该软件基于开源项目,并提及原始作者和项目来源。
(4)尊重其他知识产权
- AGPL-3.0允许商业使用,但需尊重其他相关的知识产权,如商标和专利。例如,即使代码是开源的,也不能随意使用与原始项目相关的商标。
(5)法律咨询
- 对于复杂的商业应用场景,建议咨询法律顾问,以确保所有操作符合相关法律法规。
3. 企业内部使用是否算商用?
如果企业仅在内部使用AGPL-3.0授权的软件,且未对外销售或提供服务,则通常不被视为“商用”。例如,某公司使用AGPL-3.0的软件进行二次开发,仅用于内部业务,不对外销售或分发,这种行为通常不违反协议。
4. 二次开发与商业销售
如果企业基于AGPL-3.0的代码进行二次开发,并将其作为商业产品销售,则必须遵守以下规则:
- 传染性条款:二次开发后的软件必须以AGPL-3.0协议发布,且必须公开所有修改的源代码。
- 保留版权声明:必须保留原始软件的版权声明和许可协议,并注明原始作者。
- 提供源代码的途径:销售者需要提供用户获取源代码的便捷途径,例如在销售页面提供源代码仓库的链接,或在购买后提供下载链接。
5. 商业许可服务
一些开源项目(如Spug)提供了商业许可服务,允许企业在不遵守AGPL-3.0协议的前提下使用软件。例如,Spug的商业许可服务允许企业修改代码、去除版权信息,并获得技术支持。这种模式为企业提供了灵活性,但需要支付额外费用。
6. 法律风险与案例
(1)MongoDB的许可证变更
MongoDB曾将社区版的许可证从AGPL-3.0变更为SSPL(Server Side Public License),这一变更引发了争议。由于SSPL并非OSI认证的开源许可证,且与AGPL-3.0的兼容性存在争议,MongoDB的变更行为被认为可能违反了AGPL-3.0的约定。
(2)Neo4j与ONgDB的诉讼
在Neo4j与ONgDB的诉讼中,法院认定被告移除了AGPL-3.0 with Commons Clause中的Commons Clause,并宣称其产品为“免费开源”,这一行为被认定为虚假广告。此案表明,企业在使用AGPL-3.0授权的代码时,必须严格遵守协议条款,否则可能面临法律风险。
**