Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So there's TerarkDB: https://github.com/Terark/terarkdb

And there's TerichDB: https://github.com/Terark/terichdb

How are they related to each other?

Also TerichDB calls itself open source but then includes this: "TerichDB is open source but our core data structures and algorithms(dfadb) are not yet."

If the core algorithms of TerichDB is not open source then is TerichDB even usable? Are you going to open source the core algorithms?

All this is rather confusing.



TerichDB is an experimental repo. We'll take it private to avoid confusion. Thanks for pointing this out.

Regarding the license of our products: the core of TerarkDB is a plug-in for RocksDB. It is loaded as a dynamic library for librocksdb.so and compliant with RocksDB’s license. All the code related to MongoDB/MySQL is open source (We use MongoRocks and MyRocks).

Making the core algorithms open source is a dilemma for us. At this stage, as a young startup, keeping the core algorithms proprietary gives us leverage on the valuation and insulates us from potential competitors. But this is something we may reconsider in the future in order to facilitate a wider adoption of our products.

It's a big debate, even for us internally. If anyone else here has been facing the same dilemma, we'd love to hear about your opinion, what you chose in the end and how things turned out.


The old quote from Howard Aiken may be relevant here: "Don't worry about people stealing an idea. If it's original, you will have to ram it down their throats."


In our situation, making it fully open source for wide adoption would oblige us to become a consulting company with revenue based on support. This would require a large headcount that we cannot support as a mostly bootstrapped startup. So, for now, we decided to focus on the tech and deliver the best tech possible to the (largest) clients who need it the most. Think of it as Quality vs/ Quantity. For instance, as reported in the article, our largest client at the moment is Alibaba Cloud (the Chinese Amazon AWS). We're able to cater to their custom needs and even send our CTO and some engineers to their office to accompany them when needed. We solve a pain point for them on a huge scale, and we're able to make a decent revenue that makes us profitable and allows us to grow our business independently.

But we're open on the question. Our storage engine is also compatible with MongoDB and MySQL, so if we could partner with a large company providing support for MongoDB/MySQL on Terark (think something like Percona, for instance), and that open sourcing all our code was a must, we would consider it.


You guys could keep it proprietary then try to get bought out by one of the big guys who would open source it.


I have read some of your documentation and your blog post. Your tech seems strong. But what is it about it that you feel is so unique that you cannot share it with the world? Is it the succinct trie implementation? The tree traversal algorithms? Do you have patentable tech? Will you consider applying for a patent?

I'm not second-guessing your decisions, only asking to know what it is you think are protecting.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: