简介:MongoDB从GNU AGPLv3切换到SSPL开源许可证,这一变化对云提供商和开源社区产生了深远影响。本文将简明扼要地介绍MongoDB开源许可证的变迁背景、SSPL的特点及其实践中的应用。
在开源数据库领域,MongoDB凭借其灵活性和可扩展性赢得了广泛的关注和应用。然而,随着其商业化进程的推进,MongoDB的开源许可证也经历了重要的变迁,这一变化不仅影响了MongoDB本身,也对整个开源社区和云提供商产生了深远的影响。
MongoDB最初采用GNU AGPLv3(GNU Affero General Public License version 3)作为其开源许可证。AGPLv3是OSI(Open Source Initiative)认证的开源许可证之一,它要求任何修改或使用AGPLv3许可的软件的用户,在公有云或私有云上提供软件服务时,必须将整个软件及其修改开源。这一条款旨在保护开源软件的自由性和社区利益。
然而,随着MongoDB在云市场的快速发展,特别是其Atlas云数据库服务的推出,MongoDB发现一些云提供商(特别是亚洲地区的云提供商)在采用其开源代码并提供托管商业版本时,并未严格遵守AGPLv3的开源要求。这促使MongoDB重新考虑其开源策略,并最终在2018年决定将开源许可证从AGPLv3切换到SSPL(Server Side Public License,服务器端公共许可证)。
SSPL是一种相对较新的开源许可证,它保留了AGPLv3的大部分条款,但增加了一个关键要求:如果软件被用于在公有云上提供“xxx as a Service”的服务,那么提供该服务的公司必须将整个服务及其使用的软件代码开源,或者从MongoDB获取商业许可证。这一条款直接针对了那些利用MongoDB开源代码提供托管服务的云提供商。
SSPL的推出对MongoDB和整个开源社区产生了深远的影响。对于MongoDB而言,SSPL有助于维护其开源代码的完整性和社区利益,防止云提供商利用开源代码进行商业牟利而不贡献回社区。同时,SSPL也为MongoDB提供了一种新的商业化手段,即通过销售商业许可证来获取收入。
然而,SSPL也引发了开源社区的广泛争议。一些开源倡导者认为,SSPL背离了开源软件的初衷,即自由、共享和合作。他们认为,SSPL实际上是一种“伪开源”许可证,因为它限制了开源软件在云服务中的应用和发展。此外,SSPL的推出也导致了一些云提供商下架了基于MongoDB的托管服务,或者寻求与MongoDB达成商业合作以获取授权。
MongoDB开源许可证的变迁是开源软件商业化进程中的一个典型案例。SSPL的推出既体现了MongoDB对开源社区利益的维护,也反映了开源软件在商业化过程中面临的复杂挑战。对于开源软件的贡献者和使用者而言,了解并遵守开源许可证的条款是至关重要的。同时,我们也应该看到,开源软件的商业化并不必然与开源精神相违背,关键在于如何平衡商业利益与社区利益,促进开源软件的持续发展和创新。
作为技术专家和计算机技术专栏作家,我建议开源软件项目在推出新的开源许可证时,应充分考虑其对社区和生态的影响,积极与社区沟通并听取各方意见。同时,我们也应该鼓励和支持那些真正尊重开源精神、积极贡献回社区的开源软件项目和企业。