4 ms·
There are two related but separate issues here that need to be considered: 1. Relicense to AGPLv3 2. New CLA in place for contributions. For a project like
by freedomben 3y ago
There are two related but separate issues here that need to be considered:
1. Relicense to AGPLv3
2. New CLA in place for contributions.
For a project like Matrix, the move to AGPLv3 seems clearly a good one. This is not just a library that you add to your app, it's a product in and of itself, and it's been getting abused by proprietary companies who are robbing the ecosystem. From the blog post from Element[1][2]:
> Today we have arrived at a crossroads. We have succeeded in making Matrix wildly successful, but Element is losing its ability to compete in the very ecosystem it has created. It is hard for Element to innovate and adapt as quickly as companies whose business model is developing proprietary Matrix-based products and services without the responsibility and costs of maintaining the bulk of Matrix. In order to be fair to our customers, we need to be able to put more focus on them and their specific requirements.
This is a major and legitimate problem that could undermine the future of the project, and lead to a world where proprietary versions are king and open source lags behind. The AGPL is a good solution to this problem IMHO. When a project gets to a certain scale, GPL-style protections become important to ensure contributions are being returned instead of hoarded. The Linux kernel being a class case study.
The CLA however, I'm not a fan of generally speaking. It appears to exist so that Element can sell proprietary licenses/versions of Matrix, which I'm less sympathetic too. However, without Element, Matrix would not exist and generally they have been good stewards and provide 95% of the contributions (per their claim in the blog post). To me, they deserve benefit of the doubt here.
[1]: https://element.io/blog/element-to-adopt-agplv3/ https://element.io/blog/element-to-adopt-agplv3/
[2]: HN thread: https://news.ycombinator.com/item?id=38162275 https://news.ycombinator.com/item?id=38162275
- ensignavenger 3y agoI think the AGPLv3 is a poor choice for what is essentially the reference implementation of the Matrix Protocol. The whole point of a protocol is to allow different implementations. Having a base implementation that others can freely fork and develop into whatever they want with whatever license model they want is a good thing for the protocol. I can understand if the Foundation were to maintain a very basic reference implementation- maybe even just a library or set of libraries with no real UI. And then corporations could develop an AGPLv3 (or whatever license they want) Project on top of it. The CLA is an absolute atrocity, though. It is a bright line of perdition. No one should sign it.
- freedomben 3y agoThis is an interesting point and does sound good in theory, although in practice it's just the for-profit proprietary companies who are doing the forking and expanding, and then making a ton of money and not contributing anything back to the reference implementation. I do also dislike the CLA, but I'm torn because if anybody should be making the money from these custom extensions/implementations, it should be the company who does 95% of the core contributions, and I don't see a way to do that without the CLA. Not that my opinion matters as I'm not connected at all to Element or any other players, but just generally speaking I'd love to hear potential solutions to the problem that don't require a CLA
- ensignavenger 3y agoI haven't analysed this myself, but the Matrix Foundation website just minutes ago still gives a strong impression otherwise.
- Arathorn 3y agofwiw, the main problem with the CLA seems to be that folks have assumed the intention is to use it to switch Synapse & co to a closed license in future - which I honestly hadn’t even considered as a possibility. For one thing, we could have done that already under the Apache license; instead, we deliberately did the opposite - to move to AGPL. The reason for the CLA is purely to allow us to sell AGPL exceptions to commercial forks.
- deleted 3y ago[deleted]
- jenadine 3y ago> The CLA is an absolute atrocity, though. It is a bright line of perdition. No one should sign it. Could you elaborate what's wrong with the CLA? It's the Apache one which is a reputable open source organisation, I'd imagine it wouldn't be that bad.
- ensignavenger 3y ago
- WhyNotHugo 3y agoEverything that you side was said of Terraform months back, and of some other organisation before that. It is very unambiguous that this is part of a move to an open-core model. I would not consider this project open source any more, even though it still technically is so for now.
- freedomben 3y agoI don't know about "everything" but yes I agree, there are a lot of similarities here. There is definitely a possibility (maybe even probability) that Element is going to release proprietary versions with "extensions" to general customers, in ways that core would benefit from but they withhold for competitive advantage. I really hope they don't do that, but they could. Definitely we should watch them closely and with a skeptical eye, and we should call them out if they do that.
- kuschku 3y agoThe point isn't to move to open core, but to stop competitors from building proprietary products on top of an open source project without giving back. It's precisely what the (A)GPL was made for and it's something even Stallman and the FSF agree with.
- nani8ot 3y agoIn a way Element already develops with an open-core model because of special features for customers that aren't useful for the wider ecosystem. E.g. adjustments for the healtcare sector. Element has existing contracts with companies and governments about permissively licensed software. They can't relicense to AGPL without a CLA to honor their existing contracts without much work.