查看原文
其他

MongoDB:有人敢像我一样说出开源的真实用意吗?

oschina 开源中国 2019-10-30

现在大大小小的公司都在搞开源,在被问到为什么开源某个项目时,负责人要么说是贡献社区与用户,要么以希望借广大开发者之力完善项目为挡箭牌,虽然这些想法都可以是真实也经得起考验的,但是在这背后更加真实的“目的”,公司都不愿意提及,比如营销品牌需要,比如先开源后“违规”收费,比如 KPI 担当,比如推动相应收费版本的销售……

虽然开源有个人/公益组织的开源、以开源项目作为基础的商业化公司的开源,以及商业公司反过来去涉及开源领域的开源这些区别,但是除去人个与公益组织的开源初衷不表,剩下涉及到公司的开源,他们关于开源的真实想法确实往往不会明示,这其实也可以理解,开源本是一种黑客式的高尚行为,过多地掩盖这种特性,会带来反感,于公司不利

然而事实是,上述“背后的真实目的”其实都经常被达成。

与这些公司的表里不一不同,最近在接受 Computer Business Review 采访时,MongoDB 公司 CEO Dev Ittycheria 明确表示了 MongoDB 的开源用意:“我们的开源并不是为了获得帮助,使产品更好,而是作为免费增值策略,以推动采用。

we didn’t open source it to get help from the community, to make the product better. We open sourced as a freemium strategy; to drive adoption.

在被问到 MongoDB 修改开源 License 相关问题时,Dev 说出了这段话。MongoDB 去年 10 月份宣布将开源 License 从 GNU AGPLv3 切换到 Server Side Public License(SSPL),以此回应 AWS 等云厂商将 MongoDB 以服务的形式提供给用户而没有回馈社区的行为。SSPL 明确要求托管 MongoDB 实例的云厂商要么获取商业许可证要么向社区开放其服务源码。

但是开源社区对此似乎有不少反对声音,许多人认为 SSPL 是具有针对性的,对特定类别的用户具有严重歧视性,这违反了开源的真谛,所以 Fedora 认定 SSPL 不是一个自由软件许可,红帽和 Debian 也宣布从发行版中删除 MongoDB。

对于这种情况,MongoDB CEO Dev 认为不必在意,他说:“从那以后,我们的业务增长得更快。这没有任何影响,它只影响那些可能在考虑使用我们的免费版本,并将其作为托管服务提供给第三方的人。

而为什么 MongoDB 能够如此沉着呢?Dev 说 MongoDB 与其它开源公司不一样,“与其它开源公司不同,我们可以在一定程度上控制 License 是因为大多数其它开源公司都建立在已有技术上”,他认为其它开源公司只是将其非真正业务核心的东西开源出来,继而进入公共领域,他们的开源本质是想让社区进行众包研发,使项目完善得更好。

“根据定义,开源 License 必须非常宽松,因为它希望鼓励人们开发并使开源项目变得更好”,Dev 解释:“然而 MongoDB 不是这样,MongoDB 由 MongoDB 自己构建,没有其它技术经验支持”他补充:“一方面,这说明了 MongoDB 团队的技术敏锐性;另一方面,我们的开源并不是为了获得帮助,使产品更好,而是作为免费增值策略,以推动采用

Dev 这话的意思似乎是直接否认了开源的分布式协作与同行代码审核这基本的特性,否认了参与 MongoDB 项目开发的开发者的贡献,也难怪有开发者会直接回应表示受到侮辱:作为一个为 MongoDB 源码做过一点点贡献的人,听到这样的说法简直觉得侮辱。


而另一方面,实际上,MongoDB 之所以受欢迎还有部分原因是其支持广泛的驱动,虽然 MongoDB 公司实现了与 MongoDB 一起使用的主要驱动,但其仍然依赖了第三方开发者以解决较少使用的驱动问题。

讽刺的是,虽然 MongoDB CEO 都这么明确地说了,但是 MongoDB 还将继续带着“开源”的光环走下去。

然而,回过头来联系一下文章开头提到的各公司的“遮遮掩掩”,是否会觉得 MongoDB 的这种表述多了几分真实呢?你怎么看?

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿

推荐阅读

微软正式开源 WSL 2 的内核源码

迈向 Go 2 的下一步

我为 Windows 10 修复了一个 bug

Raspberry Pi 4 发布,性能飙升

谷歌想实现自己的 curl,为什么?

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存