[edit: clarify that CLA != assigning code ownership]
[edit: clarify that CLA != assigning code ownership]
You wouldn't need a CLA if you didn't want to reserve the exclusive right to move from an open source model to an open core model. You wouldn't need a CLA if you didn't want the privilege to switch away from an open source licence at will.
Yes, a CLA is the only solution to retaining the right to un-open-source the project. The problem is that you'd want to retain this right in the first place.
This fundemental asymmetry is incredibly unfortunate for a project whose stated mission is being a fundamental communication layer.
I'm sympathetic to the position that you find yourself in here (I have a standing recurring donation to the Matrix Foundation). But this seems substantially less secure of a future.
I don't know if it would work from a legal perspective, but it'd be nice if there was some sort of dead-man's switch.
- There are already viable and deployed alternatives to Synapse, including Conduit. Making changes that would break compatibility would fragment the network.
- There are already viable and widely-used alternatives to Element on the client side. I myself mostly use Nheko these days.
- The structure of the Matrix protocol is such that breaks in compatibility would look very weird to users, so I think they're incentivized to avoid making such changes for their user experience's sake.
- The primary selling point of Matrix (and thus Element) over other systems is precisely that it's an open protocol for communications. It seems unlikely (though not impossible) that they would do anything to harm that, but if they did, it would not look good for the company. Speaking personally, I would start looking for alternatives if they did.
If I understand the confirmation statements at https://find-and-update.company-information.service.gov.uk/c... , M & A already have way under the majority of votes in Element, and nothing catastrophic happened
* 2014: Matrix core team creates Matrix, writes Synapse and other implementations, starts writing the Matrix spec
* 2017: Matrix core team wants to be able to focus on this exclusively as their dayjob; creates New Vector (aka Element) to fund their work.
* 2018: Matrix core team establishes the Foundation as a neutral custodian of the standard on behalf of everyone in the ecosystem. Element transfers all its core Matrix IP to the Foundation, and (uniquely) continues to donate its future contributions to the Foundation, hoping that by letting the whole ecosystem build on top, including proprietary forks, Matrix will spread as far and wide as possible to the benefit of everyone, and Element will make enough $ selling Matrix hosting/distributions to keep hiring the core team to work on Matrix.
* 2022: Matrix has spread far and wide, but turns out that in the commercial space, huge companies who bear no cost for supporting the Matrix ecosystem whatsoever discover they can sell proprietary forks for many $. Meanwhile, Element spends its life funnelling most of its time & energy into doing core Matrix ecosystem work, and it turns out that trying to compete with the big guys while all your energy is going into the commons doesn't work.
* 2023: Element decides it can't afford to contribute as Apache any more, and switches to AGPL + CLA, thus requiring the big guys to either opensource their proprietary forks as AGPL or arrange a paid license from Element. Yes, this means that contributors to Synapse will need to sign a CLA to Element, and it's depressing if this hinders community contributions, but it's the least worst solution we can see.
What, exactly, are you talking about here, Matthew?
I already mentioned a bunch of them at the top of https://matrix.org/blog/2022/12/25/the-matrix-holiday-update... when trying to get folks to donate to the Foundation. While this helped with new players, it didn't help with existing ones (although one did send us $500). So switching to AGPL is the next line of recourse.
Another thing not clear from that post was the layoffs- were those layoffs at the Foundation, or Element corp? Either way it was a loss to the Matrix community, for certain!
The layoffs were from Element; the Foundation has only a managing director as an employee (who started a few months ago). And yes, the layoffs have been a nightmarish loss for Matrix - as a result P2P Matrix, Third Room, Low Bandwidth Matrix and many other more ambitious projects are currently shelved.
The point of the licensing change is to try to break even and avoid further layoffs, by requiring third party commercial forks to contribute financially.
The amount of hate for doing so is astonishing, but hey.
y'all are trying to get this shit IETF standardized and cram Matrix interop through via DMA while tying down your reference implementation, think about how that looks. that code should be as permissive and easy to integrate with as possible! who wants to pay a protection racket to an organization who's proven itself this fickle?
sure sure, enclose dendrite and the Element product family, things you explicitly built for scaling the matrix.org server and "Element the product" but Synapse should always have been seen as a loss-leader, a hulking mass of Tornado code that says "here's how you could implement this standard and it works well enough for operators of small or medium sized communities but wouldn't it be nice if you did it this more sustainable/scalable way? give us a call"
It just shows to me a lack of creativity or courage and instead says "well we parted ways with our corporate sponsor a few years ago without enough of a business plan and now we're hungry"
Competitors can just take the open source parts of the matrix projects without contributing code or funding back.
As result, in a bid between Element and competitors, Element will lose because Element actually pays for maintaining these open source projects.
And where criteria like “trust and confidence” are too often cover for corruption and favoritism.
So I don’t see how someone acting in a different market had any bearing on their business at all. Unless they were indeed in that market, but that doesn’t seem clear to me at all from their messaging.
Plenty of companies survive without CLAs and pay folks to work on open source. I appreciate the business interests, but there are better ways to manage open source projects than CLAs.
The very existence of those forks breaks the community's ability to truly collaborate. Private forks still participate in our ecosystem!
This means that the only effective result of switching to the AGPL is that Element can demand money from anyone who makes a proprietary fork. Basically, the AGPL has been backdoored for profit.
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.
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.
[0]: https://github.com/matrix-org/synapse/graphs/contributors
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!
> 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!
Can't they already do this w/ the Apache version?
The change made here wasn't from good to bad, it was from bad to bad.
They can, but they now have more of a financial incentive to do that, since they're implicitly going to get paid by Apple/Microsoft/Google.
- 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.
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.
I have a very straightforward and reasonable solution for you: don't do that.
I'm not sure why you believe that every comment needs to sealion in some way or another, or provide alternatives. People are allowed to dislike choices made by others and state that. And just that. "I'd have preferred you didn't" is a perfectly valid comment to make. They don't have to do what the comment is asking, you don't have to agree with it etc, but it is a valid comment.
The CLA is also my least favorite part of this change, but it is overall a shift towards copyleft vs. the previous permissive licensing. If this means the project can remain FOSS and the company can continue to work on it, that's a good thing in my book.
If they ever relicensed to a proprietary license though I'd be calling for a fork.
The only effective purpose for a copyleft license here is to get paid for permissive license! I'm not against the Element devs getting paid, and I get that this is their best shot at that. I still won't count this as "a good thing in my book".
The whole point of the [A]GPL is that the end user can access source code. Letting people buy their way out of copyleft effectivley nullifies that.
But previously, anyone who wanted to deny end users from accessing their modified version of the source code could do so, immediately and at no cost to themselves. This adds a barrier to doing so.
I'm not saying it's the ideal situation. What I'm saying is that from the perspective of someone who wants to ensure that end users retain access to the source code (which describes me!) this seems to accomplish that goal better than the previous license.
Encouraging corporations to pollute the Matrix network with proprietary clients will surely introduce fragmentation to the overall ecosystem. This will only hurt end users.
The other side of the coin is that Element will be in a stable position to pay its devs, which is great! Regardless of that, I'm not a fan of this strategy. Hopefully it will pan out well enough that proprietary forks fail to compete with Element's AGPL repo.