4 ms·
What do you mean it has come to pass?
by Laaas 3y ago
What do you mean it has come to pass?
- makomk 3y agoThe server-side Matrix code developed by Element is no longer going to be released under the Apache 2 license. It's going to be dual-licensed AGPL/proprietary from now on and released from Element's own GitHub repositories with a CLA requiring copyright assignment to Element so they can use it in the proprietary version, and the foundation is dropping all development on the Apache 2 version since they're not interested in competing with Element. This was specifically to obstruct other companies from providing Matrix-based enterprise offerings. There was an announcement about it which made it onto HN a while back: https://news.ycombinator.com/item?id=38162275 https://news.ycombinator.com/item?id=38162275
- danShumway 3y agoWhat's interesting about this is that if the CLA didn't exist I would entirely support this move. The AGPL is (imo) a better license for a keeping a hosted project public and Open, it's good for things being built on top of Matrix's server implementation to be openly licensed. And the company is right that the Apache 2 license would not prevent them from taking the code in a proprietary direction later; Apache 2 allows that. But with a CLA, it becomes much easier for their code to move towards source-available. The thing is, a GPL or AGPL license without a CLA would actually be a reasonable defense against closing down the software in the future, since it would block Element from being relicensed to something more restrictive without the permission of the copyright holders. Even if there is a legitimate need to sell exceptions, a CLA that gave the company a limited right to sell specific exceptions would be better than full copyright assignment and would actually increase my trust in the project rather than worrying me.
- brunoqc 3y agoYeah. I got burned by a CLA before. Never again.
- dmacvicar 3y agoNextCloud does exactly this: AGPL, no CLA. https://github.com/nextcloud/server#contribution-guidelines- https://github.com/nextcloud/server#contribution-guidelines- >Nextcloud doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds the following line to the header of a file if they changed it substantially: > >@copyright Copyright (c) <year>, <your name> (<your email address>)
- grey_earthling 3y agoElement requiring a CLA has only 1 practical effect: Element are effectively saying that in their repo of Synapse/Dendrite, they won't integrate any copyleft code they can't relicense. Other organisations could still choose to maintain a repo of Synapse/Dendrite that integrates any AGPL code, including all code released by Element. That might be a better upstream than Element! — but it would take work. For it to happen, someone would need to do and/or fund that work.
- alohapersona3 3y agoIf next there is "Synapse Pro" that is proprietary and sold by Element and includes features not present in the open source version of Synapse but relevant to company or government use of Matrix, the AGPL-only version of Synapse will lack those features. This will hinder companies that (potentially) require "Synapse Pro"-features from contributing to the AGPL-only version of Synapse. We have seen this happen before.
- feanaro 3y agoThis situation is no different than it was when Synapse was licensed under Apache, though.
- danShumway 3y agoAgreed (mostly). Apache is not a defense against proprietary relicensing regardless of who owns the code (and it's why Matrix is able to make this change even though it didn't have a CLA before). It's a shame though because this change feels like it's weaponizing the AGPL to make the code harder to use rather than relying on the AGPL to preserve software freedom, and it's a shame because I think a more nuanced and limited contributor agreement with narrower permissions could potentially have the opposite effect and be a highly positive change and a highly credible commitment to keeping the project Open, without closing off any of the revenue opportunities that Element seems to be chasing. I will push back a little though on the idea that nothing is different at all. This change also has the side-effect of giving contributors fewer rights over the code they write themselves. It's not clear to me whether the copyright assignment here means that the contributor is also bound by the AGPL for the code they themselves submit. If that's the case, then this is a meaningful reduction of contributor rights. I think the GPL works best when it is a universal mutual agreement by all parties to keep the code Open to everyone under the same terms; not when it is used selectively to close off specific rights of only specific parties. But as it stands, without a CLA I could write the same code for both Element and a more permissive fork of Element and I could choose to relicense the code I offer Element to allow for the more permissive use. With a CLA, I don't know that I can do that.