Episode 67: Document Database FerretDB with Peter Farkas, Co-Founder/CEO

Intro


Mike: Hello and welcome to Open Source Underdogs. I’m your host Mike Schwartz, founder of Gluu, and this is episode 67 with Peter Farkas, Co-founder and CEO of FerretDB.

Why FerretDB and not PigeonDB? That’s a very good question. Whereas pigeons are underappreciated for their speed and resiliency, ferrets are fierce and furry and loved by everyone, except Rudy Giuliani.

Mike: A MongoDB API, with PostgreSQL storage, Ferret is a database platform that seems to have a similarly wide appeal. I guess, the 800-pound gorilla in this market is MongoDB itself, with around $35 billion in equity market cap. But in addition to MongoDB, Amazon has also implemented a Mongo conformant API that uses some kind of Amazon storage.
Is there a room in this very competitive and well-capitalized Mongo Cloud database ecosystem for a scrappy start-up with a good technical idea and a track record of reliable operation?

I recorded this episode at the State of Open Conference, or SoCon, which is the largest FOSDEM fringe event. If you can make it to SoCon, I highly recommend it. Unlike FOSDEM, it’s a more traditional event with badges and keynotes, and registration, and coffee, or tea, if you’re British, and after the chaos of FOSDEM, it’s a nice change.

So, this year, SoCon rented around five media vans specifically to record podcasts. So, thanks a lot to conference organizers, it was a pretty great idea. And there’s a picture of Peter and I, donning the Underdog’s headsets on the episode website. Well, with that unusually long intro, here’s the interview.

Origin

Mike: FerretDB was founded a little more than two years ago, you were probably thinking about it for a while before that. What was the spark that led you to actually take action and start the thing, and was the plan always to start a business around FerretDB?

Peter: MongoDB decided to leave its open-source roots around 2018, and all of the co-founders of FerretDB have open-source databases for close to a decade. Peter Zaitsev, one of our co-founders, maybe more, maybe 20 years. After MongoDB went public with SSPL and their departure from open source, we’ve been waiting for a couple of years whether there will be a fork, or if the community is going to do something about it, and nothing really happened.

There was no Fork, there was no OpenTofu reaction to MongoDB’s move. And in 2021, we’ve just decided that something needs to be done. That was the time when we started FerretDB as a side project mid-2021.

Project Launch

Mike: FerretDB has over 8K stars on GitHub, which is fantastic, that’s a lot. How did you go about promoting the project to the developer community to build that kind of support?

Peter: That was the beauty of FerretDB. When we started the project, we were not sure whether someone is going to be interested at all. Since there was no OpenTofu like reaction to MongoDB’s departure from open source, we were not sure whether the community even cares.

If you take MongoDB, there’s not a lot of community around the product itself, in a sense that most of the community consists of users rather than developers of the MongoDB codebase. So, we were unsure what will be the reception. And when we started working on FerretDB, again as a side project, we just created a tech demo, we published it on GitHub, and I think, the first 4K stars came in around two days.

So, we did not do promotion, and we did not expect this kind of outpouring interest in FerretDB. And I think part of the reason why the interest was high is because we’re building on Postgres, and the Postgres community really feels strongly about open source and about open-source databases, and they want Postgres to succeed in various different use-cases, such as document database or MongoDB-compatible use-cases. So, I think that most of the support came from the Postgres community initially.

Product Roadmap

Mike: So, what product features do you see as the most strategic to develop this year, or in the near term? And how do you think these features will help the business?

Peter: As much as it sounds crazy from someone who leads a VC-funded start-up, we are not really concentrating on the business part, because we know that the business success comes after strong adoption and ways to utilize FerretDB in meaningful larger use-cases. So, the most important to us is to increase compatibility with MongoDB. We want the user experience to be seamless, in a sense that if you use a certain tool, or framework with MongoDB, you need to be able to use that with FerretDB as well, without modifying anything in your code.

That’s our goal. But this is definitely not easy. There are a lot of features in MongoDB. Some of these features are not used by many, but would still be used by a very popular framework, and then we need to pay attention to that exact framework to make sure that, for example, Meteor utilizes Oplog, which is a duplicated feature in MongoDB itself.

We need to be very conscious about developing features, which would result in many developers being able to use FerretDB in place of MongoDB, through their favorite framework, through their favorite tools. What’s more important for us is to work with the community on establishing an open standard around document databases.

So, we don’t want to chase MongoDB with their features for eternity, that’s impossible. What we want to do is, we want to work with the existing MongoDB alternatives to establish an open standard, similarly to how SQL came to be, where, if you use SQL, you can query a Postgres database, you can query MySQL database, and any other relational database out there.

And when it comes to MongoDB, there’s no such standard – the best you can do is to become MongoDB compatible. But, it’s like saying that MySQL is IBM DB2-compatible. Do we say that ever? No. It supports the SQL standard, implemented it, and that’s why you can use SQL across the board, with relational databases.

So, we want to reach the same situation with document databases, where it’s no longer MongoDB-compatible, it’s compatible with an open standard.

Value Proposition

Mike: Do you actually have customers who’ve raised their hand and said, “I want to pay you guys for your services?”

Peter: Yeah. We were very lucky. I think, right at the second month, we were bringing in revenue, and that was reassuring feeling that this is something which is sustainable.

Mike: What was the value proposition for those customers?

Peter: I think that the value proposition here is that many customers have existing Postgres infrastructure, and they also have MongoDB. And they need to maintain the internal know-how about these very different databases, they need to pay services for both. And they can just combine the two databases into one and care only about Postgres, run FerretDB on top of it, and they end up with a much simpler infrastructure.

Channels

Mike: Is the open source really your only channel? Do you do any other marketing?

Peter: We are, I think, 80% engineering, and then, we pay attention to channel partners – those Postgres providers who are interested in providing further services to their customers. We don’t run an expensive marketing machine. And we feel that we don’t need to, at this point. We have enough on our plate, on our road map to care about.

Priority of FOSS v. Commercial

Mike: It looks like a relatively small team right now. How much of your time does your team spend on R&D, versus providing services to customers? Because there’s always some friction when you’re providing services – are you working on the product or are you helping customers. And those things can collide. How much time do you spend actually on R&D?

Peter: Initially, we signed a contract, which took away some of our focus from R&D itself, because that customer wanted us to develop features which were not on our road map. And right now, what we are focusing on is to team up with customers who need services and features in close connection to what we have on our roadmap.
Meaning that it’s more like a reprioritization of R&D, instead of going entirely different direction with our development efforts. I believe that with this approach we were able to – this is a ballpark number – but I think 80-85% of our time is still spent on developing FerretDB. Sometimes in relation with what our customers would also want us to do.

Community Contributions


Mike: Have you seen any material code contributions from the community?

Peter: Yes. We had a lot of interesting surprises like that. First of all, there are a lot of individual contributors. And we really like them, because they also want FerretDB to succeed, and they are invested. We have four or five new contributors every month.

The most surprising were the likes of SAP, for example. One day, we just woke up to SAP pushing code in our repo, and that was great. Because that meant that it’s not only FerretDB incorporated developing FerretDB, but others who are interested in creating compatibility with their own products and MongoDB using FerretDB. That was also a very reassuring moment that it’s not only us who want to make this happen, but some key players in the industry as well.

Monetization


Mike: I see you’re offering Services, or we talked about that – it sounds a little bit like Percona in a way, which, I guess, makes sense, because I see Peter Zaitsev is also one of the founders. Is Services the main way you intend to monetize? And what are some of the trade-offs you anticipate with this monetization strategy, versus, let’s say, licensing or Cloud, which are the two most common monetization strategies for database vendors?

Peter: We do Services because we know how to do that. I think that’s the short answer. So, working at Percona really taught us how to provide great services to demanding customers. That doesn’t mean that we are not looking at other sources of additional monetization. We are planning to roll out our managed service. So, we will have a cloud-based offering.

The reason why we think that is important is because, if you take a look at the SSPL license, it positions MongoDB Atlas and some of MongoDB partners as the sole providers of services around MongoDB or a MongoDB-compatible database. And we want to challenge that. So, first of all, we want to enable other providers who did not get a seat at the table with MongoDB Inc. to provide services for MongoDB users with FerretDB, but we also want to do our own cloud service offering. And that’s something we are working on, and it’s definitely a challenging task.

Back to your question, Services is just the easiest way of putting an open-source project onto a sustainable trajectory.

Governance

Mike: You say you want to be an open-source alternative to MongoDB, but how do I know you won’t change the license after the project gets some adoption? The project and the trademark is controlled by your for-profit company – why should we trust you?

Peter: So, Mike, would it make any sense to do the same thing as MongoDB? I mean, trust will be required. I’m not going to state, “Hey, trust everyone blindly.” I think whenever you choose a provider for an open-source offering, I think trust is definitely going to be one of the items you need to think about. But doing the same thing as MongoDB in FerretDB situation is just pointless. I don’t think that the market would react in any kind of positive way to that. It’s not something we can afford to do.

Mike: Also, you say that now, but after a billion downloads and you go public, and Pete Farkas is not CEO anymore – the new Pete Farkas might feel differently. Have you considered, for example, Postgres, I believe has a foundation, the Linux foundation is great, there’s several other foundations you could look at – why not contribute the code and make a community governed so that both the trademark and the code are really protected?

Peter: It’s in the works. When we started FerretDB, the traction was not enough to even sit down with the rest of the industry and talk about these things. What I can say at this point is that it’s in the works, so it is going to happen in some shape or form. We don’t expect the market to blindly trust FerretDB, we don’t want to do the same thing as what MongoDB did, we trust the existing mechanism of the open-source community, which is available to us to take care of this. So, we sat down with many in the industry in the MongoDB alternative markets, and we are actively trying to figure out a way on how to increase this trust.

So, FerretDB is not going to be the only company you can get FerretDB from – that’s not our goal. What is going to happen after we do an IPO, for example in 10 years? That’s a question I get surprisingly often. And from my position right now, this is very hard to imagine, but let’s take the example of HashiCorp.

It’s obviously really bad what happened. And the CEO departed shortly after or before, I don’t remember. They did not agree with the direction seemingly. Or just had enough of this whole ordeal of deciding whether HashiCorp is an open-source company or not. But what’s interesting about this situation is that we need to ask the question: Did HashiCorp provide value to the open-source community, or users, in general, in the decade, or I don’t know how long they developed the software?

If you ask me, I think they did. I think they did provide a lot of value and OpenTofu is free to take that over and develop it further. So, it’s not all bad in my opinion. On the other hand, I also would have preferred if they stayed open source and proved the market and proved investors that an open-source company, like HashiCorp, can still exist without changing the license. That would be my preference as well.

Investment


Mike: I have to apologize I haven’t been able to do all my research yet – I heard you mentioned “Venture Capital” – have you raised Venture Capital, and if so, why or why not?

Peter: We absolutely did not plan to raise Venture Capital. Because, first of all, all of the co-founders at FerretDB are coming from a bootstrap background, completely opposite of a VC-funded start-up. And then, after the GitHub project became popular, we started getting a lot of offers from investors, and we rejected a lot.
Before talking to our current investors, the reason why we rejected the initial offers of the investors we got in touch with is because they did not understand open source.

For example, some investors were like, “Okay, and when are you going to change the license?” And that’s not a good start. But there are investors who understand open source, and there are investors who are patient enough that they give the chance FerretDB, or some other company in open source, to provide value to the community, they understand that it’s not all about the license. There are successful open-source companies which took VC investment, and they are looking at those examples instead of, “Hey, how many licenses did you sell last month?”

After meeting investors like that, we were confident that this was the way for us to go. We needed a lot of capital to hire our current team – ten people as of now. And we also needed a lot of time. An open-source project, in order to get the necessary amount of traction – and I’m not talking about GitHub stars – I’m talking about real traction, like the number of contributors, that’s a much more meaningful metric here in terms of measuring contribution.

So, in order for that to happen, you can do all kinds of marketing, and outreach, and developer advocacy, but what you need first and foremost is time, time for the market, time for developers to understand what this is, time for them to hear about it, and then, you have real traction. For that, you need runway, we are already two years old, still running on our initial round. And without taking investment, this wouldn’t have been possible.

Partnerships

Mike: Do you see any partnerships with other business, or organizations, as critical to your success?

Peter: Very much so. Because as I mentioned earlier, the whole point of SSPL is to make sure no one provides MongoDB as a service. Since FerretDB can enable cloud providers and Postgres as a service providers to do just that, these partnerships with them are very important to us. And we are working with many of these companies to roll out FerretDB as a service.

If you take a look at our social media, we are full of these articles or videos, where Supabase, or UB cloud, or Scaleway, or CVO, or some others, decided to try out FerretDB, make it part of their offerings maybe and see where that leads to.

Next hire


Mike: It sounds like you’re being rather capital efficient, in terms of hiring and building the team. What do you think are the most important roles for you to fill in the next year or two?

Peter: For the initial years, R&D is the obvious reason why you would want to hire. So, you hire engineers, you hire very capable technical people, but as the product matures and as there are more users, you need more service-oriented people, salespeople, marketing people – and this is what we are seeing as the next evolution of FerretDB as a team, where we have more people who support the business side of things.

And by supporting the business side of things, we increase the sustainability of the project itself. We are really talking about a project and a business next to it. These are really two separate things in my mind: FerretDB as a project and FerretDB as a business. And for the last two years, we were focusing on the project. And as the project evolves, we will need to focus on the business.

Mike: Maybe just to make it a little more specific, what’s the next “hire” you’re looking for in the executive team?

Peter: The next hire would be sales, I believe. Simply because pricing and coming up with terms for a contract is definitely not something which I, as a service-oriented person, or engineers developing the software, should come up with.

Advice for Founders

Mike: You’ve been involved in a couple of start-ups. I saw you founded more than one company. My closing question is, do you have any advice for new entrepreneurs who are launching a business around an open-source software project?

Peter: I think that the best advice I could give, especially talking to some founders just starting out, is to try and solve a problem, rather than to find the technology you fall in love with. Solving a problem is a lot more important than what is going to give you traction, that’s what is going to give you opportunities. If you just find a cool technology you want to play with, let’s say AI. Okay. But what are you going to use AI for? That’s the question. AI – that’s not a product, that’s not something you can do anything with, or your customer would be able to do anything with. What is the problem that AI is going to solve, or your new database is going to solve. I think that’s the real question, and not all founders raised this question initially, I believe.

Why Ferret?


Mike: Okay. I said it was the last question, but I’m going to ask you one more question. Mongooses, they’re kind of badass, they fight cobras, and ferrets are kind of cute and cuddly – are you sure you want to be a ferret?

Peter: The story of ferrets and why ferret, that’s the second most common question I am getting. It’s just insanely hard to find the domain name, let’s face it. We were ferretdb.io, not even .com. Just recently, we’ve been able to get the expired domain ferretdb.com, because there was a database of various kinds of ferrets at ferret db.com. So, it’s insanely hard. I think the naming of the companies by far my least favorite thing, and I would not tell you the truth if I would tell you that we had this concept initially.

Because none of us are native English speakers, but after naming FerretDB FerretDB, we found out that to ferret out is something that exists in the English language, meaning to carefully search for something.
And I think that’s just a great name for a database in the end. Because that’s what the database does. So, FerretDB? FerretDB it is. I don’t think it’s rare to find weird animal names in open-source anyway.

Closing – Credits


Mike: Peter, thank you so much for spending time today. I love what you guys are doing. And thank you for sharing your experience with our audience.

Peter: Thank you so much, Mike. It was an honor to be here and hope to talk to you soon.

Mike: Thanks to the FerretDB team for the cool stickers and the social media retweets. Cool graphics from Kamal Bhattacharjee. Music from Broke For Free, Chris Zabriskie and Lee Rosevere. Special thanks to Alex Izza from Resonance Public Relations for the logistical help. Actually, Alex has suggested two more interviews, which you’ll hear in the next two weeks: Solomon Hykes, founder of Dagger and formerly co-founder of Docker, and Patrik Backman, one of the co-founders of MariaDB and an original team member of MySQL.
Hopefully, I’ll have that out in the next week or so. Until then, thanks for listening.

Popular Episodes

Subscribe to our newsletter
for news and updates