News for hackers. Stuff that matters.
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.