4 ms·
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.
by yjftsjthsd-h 1y ago
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?
- gpm 1y agoThe 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.
- wahnfrieden 1y agoHow 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
- gpm 1y agoThe 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).
- sneak 1y agoAs a contributor, couldn’t I use it under the terms of the GPL and make GPL-licensed derivative works and ignore their AGPL nonsense? If it is GPL then I understand that I am under no obligation to license my contributions under AGPL. I am not a lawyer; this is not legal advice.
- gpm 1y agoYes, of course. Dropping GPL2 support (or you dropping AGPLv3 support in your fork) only affects the future changes made after dropping support... you can't revoke the GPL licenses on the existing commits. Presumably they aren't going to merge any changes that drop the AGPL license... Also not a lawyer.
- actionfromafar 1y agoYou could license your contributions (if substantial enough to warrant copyright) with any license, for instance BSD 2 clause. (If your license is not compatible with the GPLs they should not accept your contribution.)
- iamlintaoz 1y agoThat’s right. You can simply choose GPL and ignore the AGPL part for EloqKV. The reason we use both is that, in other projects, we need to support both GPL and AGPL. EloqKV and all its dependencies are either developed by us or licensed under more permissive terms, so you can choose either license. However, EloqDoc is under AGPL (https://github.com/eloqdata/eloqdoc https://github.com/eloqdata/eloqdoc) and we cannot relicense it under GPL because it includes some AGPL-licensed code from MongoDB.
- sitkack 1y agoWould you accept AGPL licensed pull requests? EloqKV deployed on cloud is the same version hosted on github (the AGPL requires that users of EloqKV in your cloud service be available. If you are taking AGPL licensed pull requests you can incorporate source from Aerospike and ScyllaDB (pre-relicense).
- traceroute66 1y agoI would be honestly interested to know what sort of actual paid-for legal advice they got about this. IANAL, but dual licensing with two conflicting syles of license just stinks of something that will come back and bite them in the backside big-time in the future. From a purely practical perspective it is also not clear what the point is ? Because quite clearly the people you want to be subject to AGPL (i.e. the big-evil cloud providers) will simply take you at your word and run under GPL.
- iamlintaoz 1y agoThe reason is because we use a layer (our main innovation) called DataSubstrate to build modular databases that support distributed transactions [1]. Because we use some MariaDB code (GPLv2) and some MongoDB code (AGPLv3) in our other projects [2] [3], so we license our DataSubstrate code to be compatible with both, and therefore, we also license EloqKV under both licenses. [1] https://www.eloqdata.com/blog/2025/07/14/technology https://www.eloqdata.com/blog/2025/07/14/technology [2] https://github.com/eloqdata/eloqsql https://github.com/eloqdata/eloqsql [3] https://github.com/eloqdata/eloqdoc https://github.com/eloqdata/eloqdoc
- coolspot 1y agoI don’t think end users can pick a license because you have pieces licensed under GPLv2 and AGPLv3 . They will have to obey by both, which is tricky if they are conflicting.
- wavemode 1y agoI don't think he's saying that eloqdata itself contains AGPL code from Mongo. Rather, their other project, eloqdoc, contains AGPL code from Mongo, and a user might want to integrate the two, so for simplicity eloqdata is offered under both licenses. In that case, a user wanting to distribute eloqdata and eloqdoc together need only adhere to the AGPL, not both licenses.
- the_precipitate 1y agoMy understanding is that they have a common layer over which they hold full copyright, so they can license it however they like. But since this software is also used in EloqSQL (which includes MariaDB code) and EloqDoc (which includes MongoDB code), the license has to be compatible with both. That’s why they state that the code can be licensed under either license (note the OR part). I doubt they would accept any code that cannot be re-licensed, because the common layer essentially “transmits the infection,” for lack of a better way to describe it.