Live data from Hacker News

Relicensing CockroachDB

cockroachlabs.com

121–130 of 290 posts

Re: Relicensing CockroachDB

#121
post #104
post #28

Earlier quoted context omitted.

CRDB is compatible with the PostgreSQL wire protocol, so you can use existing database drivers (in C#, Golang, whatever) to talk to a CRDB instance. The SQL itself is slightly different (no two databases are the same these days), so that would have to be adjusted. If your backup solution is fine with "SELECT * FROM table1; SELECT * FROM table2; ..." you can use the client interface for backups. But usually you want t…

Would ZFS snapshots work? It is what I use to backup PostgreSQL, much easier and faster than ordinary backup

Not unless you like pain. CockroachDB is distributed and uses Raft consensus under the hood, so you can't take a snapshot of just one node; you need to take a snapshot of all the nodes in your cluster, and you need to take those snapshots at the same logical instant. If the snapshots are from slightly different moments, when you boot the cluster up from the backup, the nodes will panic because you'll have corrupted the Raft state or otherwise caused the multiple replicas of the data to become inconsistent with one another.

There is one safe way to make this work: turn off your cluster, back it up with ZFS snapshots, then turn it back on. (Some of Cockroach's production tests do exactly this, in fact, because restoring from ZFS snapshots is so unbelievably fast.) But if you have the flexibility to power cycle your production database off and on in order to back it up... you probably don't need a distributed database, because fault tolerance likely isn't among your requirements.

(I'm a former CockroachDB engineer.)

Re: Relicensing CockroachDB

#123
post #25

Earlier quoted context omitted.

It'd be interesting if there was a way to specifically require AWS, Azure, Google Cloud (or more generally any cloud hosting reseller) to pay if they use the open source software or any derivative of it (or if they create any company which then uses it) for the purposes of reselling it to others. Basically give the open source project a 30% cut if you're going to resell it (or fork and resell it). It might be hard to…

You can put any license on your software that you want, but a license that required revenue sharing wouldn't really count as "open source".

Deleted

Re: Relicensing CockroachDB

#124
post #79

Earlier quoted context omitted.

No, the open source community is not about giving free labor to Amazon. But that's not what we are talking about. We are talking about members of the open source community taking free labor from the community and then pulling back on the open source promise. As someone in the same boat, I'd hate to see a project I contributed to change it's license to something that limits how the applications can be used. If somethi…

That is a valid point. Of course the question is, how big the contributions from the random people were. Judging by the list of contributors [0] a relatively small core contributed most, but I wasn't involved at any point so this is not a reliable assessment. [0] https://github.com/cockroachdb/cockroach/graphs/contributors

Code is not the only type of contribution in an open source project.

Re: Relicensing CockroachDB

#125
post #47

Earlier quoted context omitted.

The believe that their feature set is enough of a differentiator is probably delusional. If their feature set isn't a good differentiator from other databases, then their company isn't going to succeed in any situation. This strategy is CockroachDB doing something that Amazon cannot do.

I estimate the odds that AWS Aurora will offer "massive scale SQL without manual shading" in the next 3 years to be >95%. Then why would anyone want to to use Cockroach? They need to differentiate on something else. Ideally something that Amazon is unwilling to do, or would find very hard to do.

Amazon may be unwilling or unable to be multi-cloud. Companies worried about being stuck in a silo may think twice if they have a more convenient option.

Besides, crdb does worldwide SQL databases now, and the only competitor at that level is not Aurora, it is Google Cloud Spanner, at a much higher price range and with very limited options.

Re: Relicensing CockroachDB

#126
I wish them well but fear this won't work out for them. This sounds like a smart move until you realize that they are just one of many players in a crowded market and that this actually decreases their value proposition for end users and external contributors. Having less of both is bad news for an OSS project, no matter how you spin it.

The way I see it this type of company has a short term value that derives from them being first (more or less) to market with whatever it is they do well. In this case, their thing is having a sharded/clustered db that can replicate across datacenters and with serialized transactions.

Awesome, that's a great thing to have and it will take other databases a while to get there. But they will eventually and that matters. This stuff commoditizes quite rapidly. It's based on published research by Google half a decade ago and people can look at the source code and algorithms. It's just a matter of time before somebody else figures out how to replicate what they do in some other product. Somebody like e.g. the postgresql developers: https://tapoueh.org/blog/2018/07/postgresql-concurrency-isol... and https://pgdash.io/blog/postgres-11-sharding.html. It's probably not perfect yet but they are obviously heading the same direction and there's a notion of good enough and diminishing returns.

When it does catch up, it all reverts to which is the best product in the market. Part of that is features but another part of that is a robust developer community and having access to robust support and hosting options from multiple companies. A failing VC backed company that controls the code base and treats it like a walled garden means that community is only as good as that single company behind it, i.e. not very good. It simultaneously repels potential users and contributors thus slowing down adoption and development speed while increasing the R&D burden for the single backing company to not fall behind any further. They can't win that game.

In a nutshell, postgresql does not have that problem and it never will. Mysql doesn't have that problem either. Both developer ecosystems consist of collaborating frenemies that work together because it is better than not doing so. Both provide pretty good database solutions with plenty of hosted solutions (including Amazon and other cloud providers), commercial support via several companies, etc. Also both are pretty much guaranteed to continue to have active development for as long as there are people willing to sell their time doing that and there are so many companies using both that there is just no way that that would change within the next few decades or most likely this century. Essentially all of the current companies behind both could go bankrupt and all that would do is create an opportunity for new companies to step in and take over.

Re: Relicensing CockroachDB

#127
post #45

Earlier quoted context omitted.

> If you want to compete with Amazon, do something Amazon cannot do. ... run it somewhere other than Amazon?

lol. True, but not much to differentiate on that unfortunately, unless they're able to point out something fundamentally wrong with the Amazon platform.

Cost? Single point of failure? Data residency laws? Lock in?

Just saying there's definitely a market for a database I can run.

Re: Relicensing CockroachDB

#128
post #7

> The one and only thing that you cannot do is offer a commercial version of CockroachDB as a service without buying a license. How much a SaaS has to do to not be consider as selling CockroachDB as is? These questions apart is worth noting that AWS can still copy CockroachDB APIs, rename it AWS Ants, and called it a day.

That's what makes this even more puzzling. Is there demand for CRDB-flavored SQL features?

Re: Relicensing CockroachDB

#129

It’s interesting to see the mindset over here at HN change over the year. I recall when MongoDB introduced their “commons clause”, RedisLabs did the relicensing and ElasticSearch doing the dual license open source code, there was quite some outrage over here. I guess everyone is accepting that these clouds are in fact major threats to these projects, as providing these databases as a service is pretty much the only r…

Part of it is that companies are getting better at it. There is no attempt at confusion over what "open source" means in this announcement, and automatically converting to open source in three years is clever.

I don't see anything to object to, do you?

Re: Relicensing CockroachDB

#130

Good for CockroachDB, they need to make money. I understand I'm not their target user though, I stopped using them when they released Follower-Reads as an enterprise feature. I'm back to Postgres for now but I can't stop thinking about the opportunity CRDB is missing by not releasing the enterprise features as part of the BSL-licensed core, that way I can use them from the very beginning(when I have no money) and whe…

> I stopped using them when they released Follower-Reads as an enterprise feature. I read Cockroach Labs’ strategy to be good on single nodes, great on single-datacentre cluster, phenomenal worldwide. They offer single-DC features open-source, and worldwide enterprise-only. Apart from SQL features, their open-source cluster offer seems superior to PostgreSQL. Sure, they do not have follower-reads, but neither does PG…

I'm not necessarily exhausting the physical capacity of a single datacenter to expand to another datacenter, I may expand early or from day one to run queries closer to the user even if the workload is a few seconds behind. I don't think Follow-the-workload works well for that scenario.
Post reply on HN