出品 | OSC开源社区(ID:oschina2013)
2021 年,一款看上去像是“碰瓷”MongoDB 的数据库横空出世,其取名「MangoDB」,并宣称是 MongoDB 的真正开源替代品。MangoDB 团队表示他们是坚定的开源拥护者,同时也是开源促进会 OSI “Maintainer 级别”的支持者,创建 MangoDB 的愿景是让开源社区和开发者能够从易于使用的文档数据库中获益,同时免受供应商和 fauxpen 许可证的限制。Fauxpen 是一个组合词(faux,法语词,同英语 fake,此处强调不是 open),意思就是 fake open source。
他们认为,MongoDB 刚诞生时为开发者提供了大开眼界的技术,让开发者能够比使用关系数据库更快地构建应用程序。在早期,MongoDB 易于使用和文档齐全的驱动程序使它成为可用、且最简单的数据库解决方案之一。然而,随着时间的推移,MongoDB 放弃了它的开源“初心”,将开源 License 变更为 SSPL —— 使其无法用于许多开源和早期商业项目。OSI 曾强调:SSPL 不是开源许可证SSPL (Server Side Public License) 是 MongoDB 创建的 source-available 许可协议,它基于 GPLv3,并被认为是 Copyleft License,旨在体现开源的同时为产品应对云厂商提供保护,防止云厂商将开源产品作为服务提供而不为之回馈。SSPL 允许自由和不受限制地使用和修改产品源代码——要求是,如果你将产品作为服务提供给他人,那么必须在 SSPL 下公开发布任何修改以及管理层的源代码。
然而,大多数 MongoDB 用户不需要 MongoDB 提供的许多高级功能。他们只是需要一个易于使用的开源文档数据库解决方案。认识到这一点,MangoDB 决定填补这一空白。
MangoDB 100% 完全采用 Go 语言编写,面世后获得了极高的关注热度,其中包括 MongoDB 公司。由于两者的名字十分相似,容易被混淆,因此引发了 MongoDB 公司的不满,MongoDB 公司要求他们停止继续在网站、GitHub 等其他任何地方使用 MangoDB 这个名称。当时也有网友表示他们采用 MangoDB 这个名字存在商标侵权的风险。因此在 2021 年 12 月,MangoDB 正式更名为 FerretDB。经过一年多的开发,FerretDB 近日正式发布了 1.0 GA,可用于生产环境。开发团队表示,虽然创立 FerretDB 的初衷是打造成 MongoDB 的真正开源替代品,但 FerretDB 并非 fork 自 MongoDB。在他们团队看来,直接 fork 是一项艰巨的任务,并且难以维护,同时还会产生许可问题。相反,他们将 FerretDB 构建为 Proxy 的形式,能够在 MongoDB 驱动程序和数据库后端之间运行。FerretDB 可以将 MongoDB 6.0 版本以上的 Wire Protocol 查询转换为 SQL,使用 PostgreSQL 作为数据库引擎。此外 FerretDB 与 MongoDB 驱动和热门的 MongoDB 工具兼容。团队还说道,虽然实现了很多兼容性,但 FerretDB 不会实现、也不可能实现 MongoDB 的每一个特性。FerretDB 的目标是涵盖 MongoDB 的核心功能集,并在此基础上继续添加功能、改进体验等。- 超过 40 位代码贡献者,有超过 130 个来自社区的 PR
- 在 GitHub 上包含 5.6k+ star 和 200 次 fork
随着 FerretDB 1.0 的发布,相信这些数字还会继续增长。
🌟 活动推荐
2023 年 5 月 27-28 日,GOTC 2023 全球开源技术峰会将在上海张江科学会堂隆重举行。
为期 2 天的开源行业盛会,将以行业展览、主题发言、特别论坛、分论坛、快闪演讲的形式来诠释此次大会主题 ——“Open Source, Into the Future”。与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及 OSPO、汽车软件、AIGC、开源教育培训、云原生、信创等热门话题,探讨开源未来,助力开源发展。
长按识别下方二维码立即查看 GOTC 2023 详情/报名。