FerretDB the opensource Mongo alternative

We've recently joined forces with FerretDB, an open-source MongoDB alternative. We sat down with Peter Farkas, their CEO, to delve into their innovative solution, their commitment to open-source and sustainability, and what the future has in store for Ferret.

Tell us a bit about FerretDB, how you got started, and why you felt there was a need?

We founded FerretDB because of the MongoDB SSPL license situation. The MongoDB SSPL license emerged in 2008, and before that, MongoDB was an open-source database product. In 2008, MongoDB decided to shift from an open-source license to a server-side public license, which surprised the industry, especially developers who had been using MongoDB as an open-source product.

We waited for a couple of years, anticipating that someone would fork MongoDB since it was and still is one of the most popular solutions. Document databases existed, but no one picked up the MongoDB source code and returned it to open-source status. Instead, companies' developers continued using the last open-source release of MongoDB, the 2018 version, when they needed an open-source document database solution. In 2021, we decided it was time to address this issue. We published our first tech demo of FerretDB, promising to become an open-source MongoDB alternative by using Progress as the underlying database. FerretDB essentially acts as a proxy, making Progress and SQLite compatible with MongoDB. This is why we established FerretDB as a company, as the technology we introduced gained immense popularity on GitHub, highlighting a real need for an open-source MongoDB alternative.

"We prioritize open source for its fundamental principle: it allows everyone to leverage technology as a foundation for innovation." Peter Farkas, FerretDB CEO

Could you explain how FerretDB works under the hood?

Certainly. FerretDB operates quite simply. Conceptually, there is a vanilla Progress instance running on your existing database infrastructure, and FerretDB connects to it as a user. Your MongoDB application continues to connect to FerretDB using the same MongoDB driver, eliminating the need to make any changes to your application. You can continue using your preferred programming language with its accompanying MongoDB driver. FerretDB translates between the MongoDB API and SQL because they differ. Anything you insert into FerretDB using your MongoDB application is ultimately stored in PostgreSQL as the database engine. If you request data, you retrieve it from PostgreSQL via FerretDB. Moreover, we can also utilize SQLite as the database backend. So, if you have an embedded use case and are currently using MongoDB, you can easily replace it with FerretDB and SQLite, creating a compact, open-source document database within your infrastructure.

Get started with FerretDB on Leafcloud:
https://docs.leaf.cloud/en/latest/kubernetes/creating-a-ferretdb-database/

Can you elaborate on the value of open-source technology in general?

Open source adheres to guidelines established by the OSI (Open-Source Initiative), and debates often revolve around the choice of open-source licenses. These discussions focus on whether AGPL is superior to Apache or if MIT surpasses AGPL. While these debates occur frequently, we prioritize open source for its fundamental principle: it allows everyone to leverage technology as a foundation for innovation. Open-source technology eliminates the need to start from scratch and enables the use of open-source software as building blocks for larger projects. This, in turn, enhances efficiency since you don't have to start at the very bottom, implementing everything from scratch.

Take, for example, the development of a product like a robot vacuum. With open-source, you don't need to worry about creating a networking solution or an operating system from the ground up. Instead, you can utilize existing open-source technologies, such as Linux and open-source databases, as part of your appliance. This approach is incredibly powerful and often overlooked when debating licenses and their impact on a product. To us, open-source means providing a solid foundation for innovation.

"It's magic for most people, right? So, I do like Leafcloud's approach where sustainability gets pronounced importance."
Peter Farkas, FerretDB CEO

How do sustainability concerns play a role in your day-to-day operations, either in practical terms or as part of FerretDB's values?

First of all, I really do value Leafcloud and your values around sustainability. I think this is something which needs to needs to get more awareness among users because we are using technologies on a daily basis and we just take it for granted that images load on the Internet and AI works and we can navigate to places, but many are not aware that these require a lot of resources on the backend somewhere in a data center where who knows what kind of energy is consumed without the user knowing. It's magic for most people, right? So, I do like Leafcloud's approach where sustainability gets pronounced importance.

As a database company, FerretDB may not position itself as the greenest database, as that would be an unusual marketing message. However, we emphasize efficiency in our daily operations. For instance, we are a fully remote company, meaning we don't have a physical office to heat, cool, or commute to. This not only increases efficiency but also reduces our environmental footprint and things like traffic congestion in our local communities. And to bring it back to open-source: open-source development is inherently eco-friendly. By building on top of existing solutions like PostgreSQL and SQLite, we avoid duplicating efforts and wasting resources. All in all, while there is room for improvement, I feel good about our efforts to contribute to a more sustainable future.

What are the short-term and long-term goals for FerretDB?

In the short term, our primary goal is to onboard customers and users, encouraging them to consider FerretDB as a MongoDB alternative. We understand that trust in a new database product must be earned, and users need to be willing to make the switch. We are successfully onboarding more users and welcoming contributors to our open-source project. Additionally, we aim to establish partnerships with cloud providers like Leafcloud, allowing their users to interact with FerretDB, thereby promoting our alternative more effectively and using their feedback to enhance our product.

Looking ahead in the long term, our ambitious goal is to make the MongoDB Query language as universally recognized as SQL. SQL revolutionized the database world, making it accessible to non-developers and simplifying database interactions. MongoDB did the same for developers but isn't based on an open standard like SQL. MongoDB, the company, dictates its roadmap. We believe it's essential to involve the entire industry in shaping an open standard for the MongoDB language, just as SQL did. This is the long-term vision of FerretDB.

FerretDB is a truly open-source alternative to MongoDB built on Postgres. FerretDB allows you to use MongoDB drivers seamlessly with PostgreSQL as the database backend. Use all tools, drivers, UIs, and the same query language and stay open-source. Our mission is to enable the open-source community and developers to reap the benefits of an easy-to-use document database while avoiding vendor lock-in and faux pen licenses. We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with MongoDB Inc. or any of its subsidiaries or its affiliates. Find out more about FerretDB here