Comment by bitshiftin
2 years ago
The blog author founded altinity. Altinity's main product offering is a hosted clickhouse service. The top 10 committers to clickhouse all seem to be clickhouse employees. Looking at altinity on github, they contribute much less open source. If clickhouse the company are spending 40%+ of their money to build the product, then others including altinity spend 5% dev and 80% marketing, they will get more customers. That isn't sustainable. How do you solve that? Other than fencing off exclusive enterprise features.
Altinity maintains the ClickHouse operator which got a lot of people to use ClickHouse to begin with. ClickHouse has had a lot of corner cases that were reported from those kinds of people, myself included.
If you look at some of the discussions, while a lot of the fixes come from the clickHouse team it would be unjust to say that the corner case discussions don't contribute to the fixes.
I think part of the reason is that ClickHouse, being sort of a unique offering brings with its users sometimes a quite competent bunch that go beyond the "I want this feature, please implement".
To that point Altinity has contributed about 900 PRs to ClickHouse, and many more if you include ecosystem projects like the operator, clickhouse-backup (which we maintain), the community grafana plugin (over 11M downloads last I looked), ODBC driver, etc. All of this is open source.
We've also been very active on diagnosing problems, logging issues, and contributing ideas for solutions. Alexey Milovidov has logged the most issues of anyone (2376) but the next two people (1012, 810) are from Altinity. The #6 and #9 contributors of issues are also from Altinity.
I totally forgot about clickhouse-backup. It was frequently referenced in ClickHouse issues, and helped me and probably a lot of others understand how ClickHouse stores and transfers data.
CEO of Altinity here, also editor of the blog article. It would be more interesting to address the points that it raises. If you are an open source user of ClickHouse, do you really want basic features like object storage for tables or ability to delete data efficiently withheld?
This question is important regardless of who raises it. Projects like Kafka, Spark, PostgreSQL, and Kubernetes (among others) have solved it while allowing good returns to those who contribute.
p.s., We spent 7% of budget on marketing last month. A sizable fraction of our budget is devoted to open source contributions ClickHouse and ecosystem projects.
i appreciate your work here man, altinity even wrote a lot of useful blog posts about clickhouse back then, love those stuff.
this whole thing reminds me of elastic and hashicorp, and it's hard to pick sides given that the core maintainers also worked their assess of building it in public, and the community contributors also put their effort into it.
i think this common theme is unlocking a new era of software where core maintainers productize the main product slapped with a bsl license and the community (incl other businesses) maintain their own fork.
it's great that discussions like this are being brought up and talked about.
Thanks. That's exactly why we wrote the article. Beyond any commercial considerations, we have worked with ClickHouse for many years and are personally invested in seeing it become the default analytic database worldwide. I believe the best path to that goal is robust support for open source development and distribution.
6 replies →
Yeah, so, if maintainers started blocking external contributions for business reasons or changed the license of the upstream repo, that would be a legitimate concern.
If this blog post raises any legitimate concerns, I missed them. All I see is entitlement to continue get work for free. If you're concerned about gaps in ClickHouse functionality, maybe pick up the slack and contribute back?
It takes a village to raise a database, as the saying goes.
Ignoring any arguments to the author/company, the big question is "What does ClickHouse do, if there's a PR from the community reimplementing a cloud-only/closed feature?"
The problem with open core is there's no great answer.
Either it's merged, in which case there are now two codebases implementing the same feature (one open, one closed), and the company's revenue stream is imperiled.
Or it's rejected (either explicitly or quietly ignored), in which case work is wasted and the project is less useful than it could be.
How did open core companies historically handle this?
As ugly as it is, it feels like permissive OSS (e.g. MIT) core + open but anti-SaaS non-OSS cloud-only/closed feature is a more sustainable model that encourages development in the open.
E.g. an MIT-alike license for select features that says "free-as-in-beer license up to X users, otherwise talk to our sales team and get a commercial license"
At the end of the day, I want OSS to succeed and be great, but especially nowadays that takes a large team, which takes funding, which requires a competitive revenue model.
AFAIK, the author is indeed trying to contribute back, that is the whole point: https://github.com/ClickHouse/ClickHouse/issues/54644
In 4 years, the author has raised 6 issues and zero PRs. The latest issue was raised last week to inflame this same argument and is 4x longer than any previous issue.
3 replies →
"A license that doesn’t allow reselling the service is good enough For example, I saw this with Tailwind UI" FYI, we discussed it in this thread https://github.com/ClickHouse/ClickHouse/issues/44767. For the moment, the only way to get the new features is to use the cloud version (which is likely to be a no-go for most companies managing their own clickhouse infrastructure).
MongoDB did something similar. It's open source for you to extend and host yourself but you can't build a cloud service for it.
Exactly. I have no problem with open source developers shifting to an open core model so they can get paid, even if it means I as a user don't get these new features for free.
I like what directus does. They release their source code under a restrictive license (you need to pay if you make more than so much money) with a timer. After 3 years of any release the license changes to GPL.
Do you have a source for the After 3 years clause? That's my first-time hearing of it!
There's a kind of survivorship bias here! I'm sure that if Altinity (or others) weren't forced to do RFCs on GitHub like the one mentioned in this article that get low/no attention from the core team, they would be in the top committers :)
"forced to do RFCs on GitHub" The author has raised 1 RFC ever. Have you evidence they attemnpted to contribute more in the past? Proposals to form a steering committee? sponsorship? PRs?
Are you part of ClickHouse community, ever used that DBMS or participate in any activity related it?
Just to make sure, we are on the same page.
2 replies →
A license that doesn’t allow reselling the service is good enough
For example I saw this with Tailwind UI