News for hackers. Stuff that matters.
Re:TiDB – cloud-native, distributed SQL database written in Go by eikenberry on Monday January 06, 2025 @05:58PM (#42617064)
VC backed database company with a CLA on their "open source" project. Red flag. Is there a community fork yet?
Re:TiDB – cloud-native, distributed SQL database written in Go by hodgesrm on Monday January 06, 2025 @08:18PM (#42618157)
CLAs are not necessarily a bad thing. In fact, they are pretty much necessary for software companies. We have one for our open source projects. It has language to ensure there's no dispute about our right to the code. That's important, because we indemnify our customers against IP infringement. It's a standard part of contracts for software and services.
Re:TiDB – cloud-native, distributed SQL database written in Go by cube2222 on Monday January 06, 2025 @08:54PM (#42618343)
IANAL but you can have that without getting yourself a full copyright license to all contributions - as CLAs generally do, and what enables license changes.

A popular more lightweight solution is the DCO[0].

[0]: https://developercertificate.com/

Re:TiDB – cloud-native, distributed SQL database written in Go by rpaik on Monday January 06, 2025 @08:17PM (#42618151)
Is your main issue with the VC funding, the CLA, or the combination of both. Doesn’t Kubernetes (hosted by the Linux Foundation) also have a CLA?
Re:TiDB – cloud-native, distributed SQL database written in Go by hbbio on Monday January 06, 2025 @06:21PM (#42617280)
How would you fund the open source development of a database?

TiDB is Apache licensed, that should be enough no? Because if we ban all projects from VC-backed startups, you're going to clear your tech stack pretty quickly.

Re:TiDB – cloud-native, distributed SQL database written in Go by eikenberry on Monday January 06, 2025 @07:23PM (#42617752)
> How would you fund the open source development of a database?

I think the best way would be something similar to the Linux Foundation. Companies in need of a certain type of database would pool resources to develop and maintain it.

PostgreSQL was a community developed database that was funded in something approaching this way as most of the developers were either students or worked for someone who paid them while they worked on it.

> TiDB is Apache licensed, that should be enough no?

It's good enough to use it with the knowledge that it isn't truly free (libre) because the CLA gives the owning company the right to change that at any time. So you can use it but don't build a business around it or make it a critical part of your infrastructure as they might pull the rug out from under you.

Re:TiDB – cloud-native, distributed SQL database written in Go by benatkin on Monday January 06, 2025 @07:56PM (#42618009)
> the CLA gives the owning company the right to change that at any time

It isn't copyleft, so even without a CLA, they could make a proprietary or open core version of the product, as can anyone else.

Re:TiDB – cloud-native, distributed SQL database written in Go by std_reply on Monday January 06, 2025 @07:39PM (#42617887)
TiKV the Core Storage scalable component is a CNCF graduated projected. PingCAP cannot change the license even if it wanted to.
Re:TiDB – cloud-native, distributed SQL database written in Go by eikenberry on Monday January 06, 2025 @07:59PM (#42618034)
Thanks for the info! I wasn't aware of this and didn't see any mention of this in their github docs. It means that at least you can use that part of the project without worry. They should promote this aspect of the project more prominently. It should be of great interest to anyone thinking about adopting the technology.

Do you have any links to the Core Storage CNCF project? I couldn't find it on the CNCF website under the Database and Cloud Native Storage sections?

Re:TiDB – cloud-native, distributed SQL database written in Go by rpaik on Monday January 06, 2025 @08:20PM (#42618168)
If you’re looking for the TiKV project link: https://github.com/tikv/tikv
Re:TiDB – cloud-native, distributed SQL database written in Go by eikenberry on Monday January 06, 2025 @10:08PM (#42618731)
Thanks.
Re:TiDB – cloud-native, distributed SQL database written in Go by rpaik on Monday January 06, 2025 @09:32PM (#42618522)
> I think the best way would be something similar to the Linux Foundation. Companies in need of a certain type of database would pool resources to develop and maintain it.

Disclaimer: I currently work at PingCAP and previously worked at the Linux Foundation.

Foundation (whether it's the LF or others) isn't a panacea either. It's fine when projects get started and there are plenty of willing member companies, but for many projects, companies often lose interest, need to cut down on open source related investments, etc. and the project funding dwindles. The reality is that the member companies need to both fund and provide software developers for projects, and it's difficult to expect them to keep the same commitment for more than a few years these days....

Re:TiDB – cloud-native, distributed SQL database written in Go by foota on Monday January 06, 2025 @06:45PM (#42617479)
I think the concern is that the company would relicense future versions, as allowed by the CLA, under pressure from VCs.
Re:TiDB – cloud-native, distributed SQL database written in Go by maxloh on Monday January 06, 2025 @08:41PM (#42618276)
Open software licenses are generally non-revokable (unless you violate them). They can only change the license of future versions.

I'm afraid that they can always do that with or without a CLA. Apache is quite a permissive license.

Re:TiDB – cloud-native, distributed SQL database written in Go by foota on Monday January 06, 2025 @11:22PM (#42619200)
I'm not an expert in licenses, but my understanding is that if someone makes a contribution under one license, then any program including that code needs to obey the terms of that license. The CLA allows them to choose any license (well, depending on the specifics of the CLA) they would like to distribute that code under in the future (although they'd likely need to continue to make available past source to meet the terms of previously released versions.

So if I make a contribution under some very restrictive license, but sign a CLA allowing relicensing, all bets for the future are off.

Re:TiDB – cloud-native, distributed SQL database written in Go by maxloh on Wednesday January 08, 2025 @09:15AM (#42634464)
Apache license doesn't forbid anyone to integrate your code and release the combination under proprietary licenses. The only requirements are to keep the license file and the copyright notice intact, and to state changes if you choose to publish the modified source code.

Therefore, it doesn't make a difference to have a CLA or not. What you trying to avoid is already allowed as per the license.

However, some CLAs require you to declare the originality and ownership of your contributions. Maybe that's why they require a CLA to be signed for contributions.

Re:TiDB – cloud-native, distributed SQL database written in Go by benatkin on Monday January 06, 2025 @07:53PM (#42617992)
With it under the Apache 2 license, misuse of a CLA to get free contributions from the community that aren't shared back to the community isn't currently a problem.
Re:TiDB – cloud-native, distributed SQL database written in Go by zhouzhao on Monday January 06, 2025 @06:21PM (#42617272)
Thank you for the warning. Whats the source on the VC part?
Re:TiDB – cloud-native, distributed SQL database written in Go by russell_h on Monday January 06, 2025 @06:49PM (#42617504)
I don't share OP's hostility to VC-funded databases, but PingCAP is definitely VC-funded: https://www.pingcap.com/press-release/pingcap-the-company-be...
Re:TiDB – cloud-native, distributed SQL database written in Go by eikenberry on Monday January 06, 2025 @07:42PM (#42617912)
The VC part isn't 100% negative but it generally comes with the strings attached that highly incentivizes fast growth. Fast growth kills any company culture you have and converts you into yet another company that views all employees as cost-centers. IE. it destroys companies as good places to work. If you could get VCs to fund companies to grow slowly into stable, small to mid-sized companies I would have no problem with them.

A side aspect of this is that they also destroy any motivation for developing free software other than as a marketing tool, a way to drive growth. While that is perfectly fine for companies to do this, it has long term consequences that lead to bad behavior that mean you should be extra wary of relying on them.