Live data from Hacker News

EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

github.com

1–10 of 46 posts

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#2

  This software is provided under a dual license. You may choose to use it under the terms of either:

  1. GNU General Public License, Version 2 (GPLv2), or
  2. GNU Affero General Public License, Version 3 (AGPLv3).

  You may use, copy, modify, and distribute this software under the terms of either license, at your option. The full text of both licenses is included below for reference.
IANAL, but isn't GPLv2 strictly more permissive? Why would anybody ever not just pick to use it under that one and ignore AGPL?

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#4

This software is provided under a dual license. You may choose to use it under the terms of either: 1. GNU General Public License, Version 2 (GPLv2), or 2. GNU Affero General Public License, Version 3 (AGPLv3). You may use, copy, modify, and distribute this software under the terms of either license, at your option. The full text of both licenses is included below for reference. IANAL, but isn't GPLv2 strictly more p…

The EloqKV developers could choose to pick just the AGPL one in the future and drop GPLv2 support while taking contributors dual licensed contributions with them...

I don't know that's the plan, but it's the best reason I see to dual license like this.

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#5
post #4

This software is provided under a dual license. You may choose to use it under the terms of either: 1. GNU General Public License, Version 2 (GPLv2), or 2. GNU Affero General Public License, Version 3 (AGPLv3). You may use, copy, modify, and distribute this software under the terms of either license, at your option. The full text of both licenses is included below for reference. IANAL, but isn't GPLv2 strictly more p…

The EloqKV developers could choose to pick just the AGPL one in the future and drop GPLv2 support while taking contributors dual licensed contributions with them... I don't know that's the plan, but it's the best reason I see to dual license like this.

How do they properly accept contributions under dual licensing in a way that allows them to re-license those contributions? Through CLA? I'm not certain what you're saying is true - dropping one license might be as challenging as changing the license. Maybe I misunderstand

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#6
post #4

Earlier quoted context omitted.

The EloqKV developers could choose to pick just the AGPL one in the future and drop GPLv2 support while taking contributors dual licensed contributions with them... I don't know that's the plan, but it's the best reason I see to dual license like this.

How do they properly accept contributions under dual licensing in a way that allows them to re-license those contributions? Through CLA? I'm not certain what you're saying is true - dropping one license might be as challenging as changing the license. Maybe I misunderstand

The same way you accept any contribution, because it isn't technically relicensing. You already granted them an AGPLv3 license when you uploaded your change to github without modifying the license file - that's what the "or" in the file means [1] - which entitles them (and anyone else) to create and distribute derivative works under only the AGPLv3 without any GPLv2 grant...

[1] Quoting the license file:

This software is provided under a dual license. You may choose to use it under the terms of either:

1. GNU General Public License, Version 2 (GPLv2), or

2. GNU Affero General Public License, Version 3 (AGPLv3).

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#7
post #3

It's weird that they don't mention similar distributed NewSQL databases like TiKV, which also has a MySQL layer (TiDB), and position themselves as a Redis replacement.

Last I looked the TiKV Redis layers hadn't been updated in years, and were missing many Redis features (such as streams).

https://github.com/yongman/tidis

https://github.com/distributedio/titan

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#8
post #3

It's weird that they don't mention similar distributed NewSQL databases like TiKV, which also has a MySQL layer (TiDB), and position themselves as a Redis replacement.

Titan/Tidis (the redis compatible servers built on top of TiKV) don't seem to have any recent activity in their public repos: - https://github.com/yongman/tidis - https://github.com/distributedio/titan

KVRocks (which _is_ mentioned) does, as does valkey (also not mentioned, but probably only because it's not that different from redis at this point IIUC).

Re: EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)

#9
post #3

It's weird that they don't mention similar distributed NewSQL databases like TiKV, which also has a MySQL layer (TiDB), and position themselves as a Redis replacement.

Titan/Tidis (the redis compatible servers built on top of TiKV) don't seem to have any recent activity in their public repos: - https://github.com/yongman/tidis - https://github.com/distributedio/titan KVRocks (which _is_ mentioned) does, as does valkey (also not mentioned, but probably only because it's not that different from redis at this point IIUC).

A person who wants transactions and a relational layer isn't going to use KVRocks, but sure, if you only care about the key-value part. I gave tikv/tidb as an example; there are others.

Writing your own Redis-like interface is trivial, so tidis et al don't matter to me. Even with Redis you should write an interface so you can swap it out.

Post reply on HN