Summarizing “RethinkDB: why we failed”

Brilliant and painfully honest post of why RethinkDB failed.

The post points out two main failings:

  • The open source market is a race to the bottom. The amount of free developer tools ensures companies won’t pay much for your product:
Developers love building developer tools, often for free. So while there is massive demand, the supply vastly outstrips it. This drives the number of alternatives up, and the prices down to zero.
  • They were perfectionists. They preferred “best” to “good enough”. :
It’s not that we didn’t try to ship quickly, make RethinkDB fast, and build the ecosystem around it to make doing useful work easy. We did. But correct, simple, and consistent software takes a very long time to build. That put us three years behind the market.

The post goes on to explain the failings, and they are brutal about the reasons. I will leave you with two quotes I found. One of those really hurts:

It was unfathomable to us why people would choose a system that barely does the thing it’s supposed to do (store data), has a big kernel lock, throws away errors at random, implements single node features that stop working when you shard, has a barely working sharding system despite it being one of the core features of the product, provides essentially no correctness guarantees, and exposes a hodge-podge of interfaces

The other, for me, is a good summary (and warning!) of this post:

If you do set out to build a developer tools company, tread carefully. The market is filled with good alternatives. User expectations are high and prices are low. Think deeply about the value you’re offering to the customer. Remember — wanting the world to be a certain way doesn’t make it so.