3 ms·
One example is Linux. You don't need to sign CLA to contribute to Linux. It has contributions from thousands of developers all over the world. It means that to
by vbezhenar 3y ago
One example is Linux. You don't need to sign CLA to contribute to Linux. It has contributions from thousands of developers all over the world. It means that to switch Linux license to, say GPLv3, you would need to get permission from all of those developers or rewrite their contributions which is not possible in practice.
To avoid this situation, some projects require their contributors to sign contributor license agreement. Terms might differ, but generally you allow your contribution to be relicensed in any way in the future. So today Matrix's AGPL, tomorrow they can go proprietary and you're OK with that. Also they want to sell their source code with proprietary license (so buyer's not obliged to open his modifications) and they also need contributor permission to do that.
Basically it's a commercial project which is not interested with external contributions.
- dbrgn 3y ago> tomorrow they can go proprietary and you're OK with that That depends on the CLA's wording. A CLA could allow the right to sell commercial licenses to the code while always keeping the same code under the AGPLv3. I haven't read Element's CLA though.
- thomastjeffery 3y agoI haven't read it either, but a comment nearby (allegedly from the Element CEO) claims that their intent is to use this CLA to sell commercial licenses.
- jeroenhd 3y agoAGPL also has some annoying side effects if you do t use a CLA. For example, Matrix has had a few proof of concepts for pure peer to peer network designs where every device runs its own server. That would be impossible toddeploy to app stores like the Apple App Store because that store is inherently incompatible with (A)GPL. The only way you can publish (A)GPL code to iPhones and iPads legally is to dual license all code from all contributors. With a CLA, a project can relicense the code to itself. Without it, the project can't upload their own project to the App Store and similar platforms. I think you'd be crazy to run Synapse on a phone, but Dendrite is built to be much more efficient for such use cases.