市场正迅速转向消费大部分软件作为服务。这是一个开源项目的大好时机,有可能孕育新的开源服务器端软件浪潮。然而,现实是,一旦开源项目变得有趣,大型的云服务提供商很容易抓住所有价值,但又不回馈社区。
鉴于这种风险,小型公司不愿意冒险,因此大多数软件都是封闭源代码。
我们认为开放的开发方法会导致更有价值、更健壮、更安全的软件,并且它直接促进更强大的社区和更好的产品。
社区需要一个基于AGPL精神的新许可协议,但明确提供软件作为服务时的条件。
以MongoDB为例,它已成为行业中最受欢迎的数据库之一。因此,我们观察到组织,尤其是国际云服务提供商开始测试AGPL许可的边界。
我们不是在法庭上诉讼这个问题,而是发布一个新的许可协议,以消除关于提供公开MongoDB作为服务的具体条件的任何混淆。
这一变化还旨在确保那些运行公开MongoDB作为服务或任何受SSPL约束的软件的公司回馈社区。
需要注意的是,新许可协议保留了社区在AGPL下使用MongoDB所拥有的所有相同自由——他们可以自由使用、审查、修改和重新分发源代码。唯一的变化是明确提供公开MongoDB作为服务条件的额外条款。
显然,这个新许可协议有助于我们的业务,但它对MongoDB社区也很重要。MongoDB在过去十年中投入了超过3亿美元用于研发,为每个人提供开放数据库,并且随着这一变化,MongoDB将继续能够积极投资研发,推动进一步的创新和价值。
这个新许可协议称为服务器端公共许可(SSPL)。包括2018年10月16日及以后发布的所有MongoDB社区服务器补丁发布和版本,都将受此新许可协议约束,包括旧版本的后续补丁发布。
是的,我们基于GNU通用公共许可证版本3创建SSPL,但它是由MongoDB引入的新许可证,而不是自由软件基金会。SSPL尚未得到OSI的批准。
唯一的实质性修改是第13节,该节明确了提供MongoDB作为服务的条件。任何提供公开MongoDB作为服务的公司都必须在SSPL的条款下发布其用于提供此类服务的软件,包括管理软件、用户界面、应用程序程序接口、自动化软件、监控软件、备份软件、存储软件和托管软件,以便用户可以使用提供的源代码运行服务的实例。
SSPL的第13节内容如下
a. “如果您将程序或修改版本的函数功能提供给第三方作为服务,您必须在本许可条款下免费通过网络下载将服务源代码提供给所有人。将程序或修改版本的函数功能提供给第三方作为服务包括,但不限于,使第三方能够通过网络远程与程序或修改版本的函数功能交互,提供价值完全或主要来源于程序或修改版本的服务,或提供为用户实现软件或修改版本主要目的的服务。”
b. “服务源代码”是指程序或修改版本的对应源代码,以及您用于将程序或修改版本作为服务提供的所有程序的对应源代码,包括但不限于管理软件、用户界面、应用程序程序接口、自动化软件、监控软件、备份软件、存储软件和托管软件,以便用户可以使用您提供的服务源代码运行服务的实例。完整的SSPL副本请参见这里。
AGPL是GPL v3的修改版。AGPL的唯一额外要求在第13节:如果您在服务器上运行修改后的程序,并允许其他用户在那里与之通信,您必须开源您修改版本的对应源代码,即AGPL的“远程网络交互”条款。
市场上对AGPL的远程网络交互条款的触发条件和范围存在一些混淆。
因此,我们决定以GPL v3为基础,并添加一个新的第13节,明确和具体地规定了提供许可程序作为第三方服务的条件。
不适用。我们不认为在内部或向子公司提供MongoDB作为服务是向第三方提供。
是的,MongoDB支持的开源驱动程序和连接器,如Apache Spark的MongoDB连接器,根据Apache License v2.0授权。
2018年10月16日之前发布的所有MongoDB社区服务器版本将继续根据自由软件基金会的GNU AGPL v3.0授权。
尽管SSPL未获得OSI批准,但它保持了社区在AGPL下对MongoDB始终享有的所有自由。用户可以自由审查、修改和分发软件或重新分发软件的修改。然而,开源倡议(OSI)有自己的程序来批准它认为的开源许可,SSPL尚未获得OSI批准。根据SSPL授权的MongoDB软件不被OSI视为开源。
是的,任何人都可以采用此许可,我们希望许多组织和个人会使用它来保护自己、他们的社区和他们的知识产权。
自2018年10月16日起发布的MongoDB社区服务器所有版本,包括对先前版本的补丁修复,将根据SSPL授权。2018年10月16日之前发布的MongoDB社区服务器版本将继续受AGPL授权约束;因此,使用这些版本的行为将由AGPL规范。
SSPL第13条的共享条件仅适用于您将MongoDB的功能或修改后的MongoDB版本作为服务提供给第三方时。对于使用MongoDB作为数据库的其他SaaS应用程序,没有共享条件。
此SSPL适用于MongoDB社区服务器。对于社区中的绝大多数用户,许可证变更没有任何影响。SSPL保留了社区在AGPL下一直享有的MongoDB所有自由 - 用户可以自由使用、审查、修改、分发软件或重新分发软件的修改。
使用商业许可证使用MongoDB的客户和OEM合作伙伴将不受此变更的影响。
MongoDB Atlas用户不运行MongoDB数据库,也不成为MongoDB数据库软件的许可证持有者。因此,MongoDB Atlas的用户也不会受到此变更的影响。
在新的许可证下,用户贡献MongoDB仓库的过程不会有任何变化。贡献过程已在此处文档化。
对于在MongoDB社区服务器上构建应用程序的社区成员,除非它是公开可用的MongoDB作为服务,否则不会有任何影响。SSPL第13条的共享条件不适用于公司构建其他应用程序或仅限内部使用的MongoDB作为服务提供。
任何公开可用的MongoDB作为服务提供必须遵守SSPL,如果他们使用的是2018年10月16日或之后发布的MongoDB版本。