@jbowen I mean, if contributions are licensed under AGPLv3 but not their commercial one (since they're not pointing to it in the document)… works for me :)
@lanodan That's gross. I would like to be able to assume oversight with AGPLv2 vs 3, but I can't and so I assume it's intentionally misleading.
I feel it should also be mentioned that they sell commercial licenses, so outbound could be 'commercial,' and I wouldn't want a contribution I make to end up being sold to someone under commercial license terms.
@jbowen Also legally speaking… you can't just take Apache-2.0 as if it were AGPLv3, they are compatible and AGPLv3 prevails, but you need to keep the copyright notice and permissions intact.
@jbowen They can't license AGPLv3 code they don't own under a proprietary licence, it's a very strong copyleft license, not something like a BSD license.
So if one were to say, fork dendrite, Element actually can't take code back without getting rid of their proprietary license or having each author sign a license agreement.
@lanodan > if contributions are licensed under AGPLv3 but not their commercial one (since they're not pointing to it in the document)… works for me :)
Totally fair, but how would things work in practice? (I'm genuinely ignorant on this.) If I contribute a feature under AGPLv3, I assume they would be able to sell Dendrite + myFeature to a customer under a commercial license, correct?
Also on the relicensing, I would wonder if all the ones at https://github.com/matrix-org/dendrite/graphs/contributors did agree to Apache-2.0 being changed to AGPLv3+proprietary since you can't just strip out copyright notices and permissions without at least some kind of agreement.
@jbowen@lanodan This piqued my curiosity, so I looked into the history of the project and found that it was relicensed from Apache 2 to AGPL3 last year (https://github.com/matrix-org/dendrite/discussions/3281). So the explanation that seems most likely to me is that whoever updated the license just forgot that it was mentioned in CONTRIBUTING.md. I don't think one can reasonably assume it's intentional, at least not based on what I saw.
If somebody submitted a bug report pointing this out, or a PR fixing it, and that wasn't well received, then that's a different story - it would start to look extremely suspicious.
I do have to wonder what the terms of the commercial licenses they sell are... if the software isn't delivered to commercial customers under AGPL3, that "smells" an awful lot like copyright infringement. (though I'm no lawyer)
@diazona@jbowen Well, they actually should keep the Apache 2 headers at least on code that they don't entirely own the rights for relicensing.
You can use Apache 2 pretty much everywhere (it even explicitly allows sublicensing), but you need to comply with it's terms, one of which is:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License;
(like the vast majority of FOSS licences)
@lanodan@jbowen Ooh interesting! Yeah that seems odd. I suppose they could be manually refusing to accept pull requests from anyone who doesn't have a signed CLA on file, and we outside observers wouldn't necessarily have any way to know, but that would be an unusual way to operate.
This chart (https://opensource.stackexchange.com/a/3/529) suggests that Apache 2 code can be relicensed as AGPL3, so they wouldn't need the original contributors' assent for that. Although they would have to be complying with the terms of Apache 2, in particular including a copy of the Apache 2 license text with any redistribution... I didn't check but I do have to wonder about that 🤷
@lanodan@jbowen I would think that just means they're supposed to include the LICENSE file, or some file with the text of the Apache 2 license, in the distribution. I'd be surprised if it means that Apache 2 headers in source code need to be preserved; as far as I know, those headers are not licenses themselves, they're just notices clarifying what license applies to the file.