Skip to main content

搞完 Java,亚马逊又开始搞 MongoDB 了


2018 年 10 月,MongoDB 宣布其开源许可证从 GNU AGPLv3 切换到 Server Side Public License (SSPL),MongoDB 此举是为了防止云厂商从开源项目吸血,并且点名吐槽亚洲的一些云厂商。此外,MongoDB 希望从软件即服务或云计算业务上获取收入。

对此自由软件基金会(FSF)认为专门引入商业性条款意味着该项目不再属于自由软件,它建议社区开发分支。

现在,云计算巨头亚马逊 AWS 真的开发了自己的 MongoDB 分支,它发布了 DocumentDB,兼容开源的 MongoDB 3.6。它决定不从 MongoDB 购买商业许可证,而是自己维护一个开源版本。

外媒 TechCrunch 就此联系了 MongoDB 的 CEO Dev Ittycheria,他表示:

模仿就是最真诚的奉承,所以 AWS 此举并不奇怪。不过,开发者在技术上都足够精明,能够区分真实的创新和差劲的模仿。MongoDB 将继续超越市场中的任意模仿者。

MongoDB 的联合创始人兼 CTO Eliot Horowitz 对此表示赞同,他说:

“为了给开发者想要的东西,AWS 已经被要求提供基于两年前的 MongoDB 代码仿制 MongoDB 服务。我们整个公司都专注于一件事 —— 为开发者提供处理数据的最佳方式,且可以随意运行。我们致力于实现此目标,这将继续使真正的 MongoDB 有别于那些不断出现的模仿品。”

MongoDB 的发言人也补充道,DocumentDB 兼容的 MongoDB 3.6 API 已有两年的历史,缺失太多新的功能,比如 ACID 事务、全局集群和移动同步。


TechCrunch 写道:客观地说,AWS 最近在开源社区变得更加活跃了,并且从某种程度上来说,它确实为开发者提供了他们想要的东西(并非所有开发者都对 MongoDB 自己的托管服务感到满意)。但考虑到 AWS 在已经明确知道 MongoDB 更换许可证的原因的情况下,还是选择用兼容老版本 API 的形式绕过 MongoDB 的新许可,这始终就是一个有争议的举动,且不会让这家公司受到开源社区的喜爱。

事实上,这也不是亚马逊第一次决定自己维护开源软件的分支了。2018 年 11 月 14 日,亚马逊发文宣布 Amazon Corretto 的预览版,这是一个免费的、跨平台生产就绪的 OpenJDK 发行版。在不使用到 OpenJDK 中没有的功能(例如 Java Flight Recorder)的情况下,Corretto 完全可以直接作为 Java SE 发行版的替代品。Amazon 计划在 2019 年将 Corretto 作为 Amazon Linux 2 上的默认 OpenJDK。

亚马逊又一次意图让客户放宽心,而其他利益方感受到的则应该是寒心了。MongoDB 得益于新的软件授权模式,股价在过去一年累计增长了200%。而亚马逊这一出,直接让 MongoDB 股价周四最高大跌 15%,收盘时大跌 13%。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...