The subject of this discussion is collaboration. You want to benefit from that collaboration without providing collaborators an equal opportunity. By instituting a CLA, you have disincentivized collaboration.
I understand you have determined this to be a good compromise for you and the developers you pay to work on Element. That doesn't make this situation any less bad to the rest of the community.
So that begs the question: will having a stronger source of revenue for your team be worth alienating 3rd-party contributions?
No matter the answer, I think its totally reasonable for those contributors to complain about the situation you have placed them in.
> That doesn't make this situation any less bad to the rest of the community.
How is the community suffering here? Let's say Element adds a bunch of baller stuff to their versions over the next few months and then closes the source. Can't the community just fork the last AGPL version? You might say, "well then no one can take the AGPL fork and make their own closed-source business", but do you want them to? Even if you do, they still can with the existing Apache-licensed version, just like Element is doing right now.
You're arguing that Element will lose a lot of contributions, but TFA points out that despite being super open, the vast majority of contributions are still made by Element employees (which seems to be true [0]). It's not the case that Element is looking to monetize the (small) contributions of others, it is the case that others are looking to monetize the (huge) contributions of Element.
And besides, aren't the MSCs the core of Matrix? It's already super possible to build your own compliant client and server.
The situation is that Element needs money to keep developing the ecosystem. It would be cool if there were a big network of donors and contributions, but there isn't. You're essentially saying, "that's fine, go out of business then, and the community will keep developing the ecosystem", but that's not happening now, and it can still happen anyway with the Apache-licensed versions, which again people can still contribute to.
It hurts the community by promoting proprietary forks.
If Element adds a bunch of baller stuff to their version, then that is the best case scenario.
On the other hand, if Apple or Microsoft or Google add some really baller stuff, then Element's version has to compete by blindly reproducing that work.
Even worse, if Apple or Microsoft or Google add some mediocre feature, but use that feature to make their users incompatible with Element's version, then Element will have to compete by blindly reproducing a feature that no one actually wants!
---
And why should any of us expect the best case scenario? Corporations are paying to monopolize this work. Why would you pay to monopolize something, then never use that monopoly to be anti-competitive? That would be fiscally irresponsible!
> On the other hand, if Apple or Microsoft or Google add some really baller stuff, then Element's version has to compete by blindly reproducing that work.
> Even worse, if Apple or Microsoft or Google add some mediocre feature, but use that feature to make their users incompatible with Element's version, then Element will have to compete by blindly reproducing a feature that no one actually wants!
Only if the diff against the Apache version is worth money though, which doesn't seem like it will be for a while. I can think of other more likely scenarios:
- Apple forks the Apache version
- Microsoft contracts some Element developers
- Google buys Element
- Facebook makes some contributions under the AGPLv3 (okay, maybe this one isn't super likely)
In any and all cases, the community still has the AGPL version. I really don't see a downside here, and plus I don't know what companies are supposed to do if not this.
> I don't know what companies are supposed to do if not this.
Maybe there's not actually a viable way to be an open-source company as a business model. As much as I want Matrix to succeed, the world doesn't owe them that.
Well then I don't really understand why you're upset now. Element is doing what everyone says you should do: have a GPL project and sell hosting, support, and proprietary licenses. We can't have the only model be "get donations or be independently wealthy".
I'm not sure who this "everyone" person is, but I have certainly never suggested having a GPL/AGPL project and then selling proprietary licenses. (The other two, very much yes.)
This seems like a tedious point. What are you looking for here, a survey or something? Are you in good-faith interested? I think if you were you'd google around a little.
I understand you have determined this to be a good compromise for you and the developers you pay to work on Element. That doesn't make this situation any less bad to the rest of the community.
So that begs the question: will having a stronger source of revenue for your team be worth alienating 3rd-party contributions?
No matter the answer, I think its totally reasonable for those contributors to complain about the situation you have placed them in.