Real open protocols are ones not coming from a single vendor / not controlled by a single entity. XMPP and email are open protocols, Matrix, Mattermost and RocketChat are not.
Speaking as Matrix project lead: we'd love to submit an RFC (or W3C proposal) once Matrix has sufficiently stabilised. Right now it's moving very fast though (e.g. we're about to totally change the sync API so that it's O(1) rather than O(N) with number of conversations).
In terms of contributions to the Matrix spec; from a quick eyeball at https://spec.matrix.org/unstable/proposals/, there are 95 different authors, of which 31 work for Element (the company formed by the original team who created Matrix). Or to slice it another way, there are 498 spec change proposals there, of which 358 were written by folks at Element (so 70%). Meanwhile the protocol itself is defined by the independent and neutral Matrix.org Foundation non-profit (https://matrix.org/foundation).
In other words, accusations that Matrix is entirely defined or controlled by Element are untrue - by the time we created Element there was already significant contribution from the wider community, and these days there are loads of other individuals and companies like Beeper, Famedly and even Ericsson contributing to the spec.
Edit: oh, and Rocket.chat is adopting Matrix too, which refutes the GP comment even more...
We all know that 'independent matrix foundation' will never oppose the will of the leading vendor. Don't tell me about how you agree to everything in your wonderful community, tell me how you resolve conflicts?
You and your company has all the leverage and no sane independent developer will invest in your protocol because he'll always have to play the catch up game.
An example of resolving conflicts is something like MSC2962 (https://github.com/matrix-org/matrix-doc/pull/2962) and MSC3216 (https://github.com/matrix-org/matrix-doc/pull/3216). Two proposals to solve the same problem, different ways. The first one was written by me; the second one was written by joepie91, who's a completely independent community member. Doesn't get much more of a direct conflict than this.
So, to resolve it, the spec core team (which is a mix of element employees and community members) went through the two proposals to compare them and concluded that joepie91's approach is better. So we're about to kill off MSC2962 and merge MSC3216 into the spec instead.
Please stop with all the disinformation - it'd be way more constructive to invest your energy into improving XMPP than trying to make Matrix out to be evil.
What you cite is not a conflict. It is a mild disagreement about the development of new features. A real conflict is when you have different entities with different implementations, and diverging views on how to develop the protocol, and the stake for the losing party is to abandon their investment in their existing implementation and starting over from scratch.
However, I already have the answer on how you plan to deal with such conflicts, you've said it yourself [1]. I'll quote:
> The idea on Matrix is that you say "Hi, I talk Matrix CS API 0.4" and be done with it - and you end up with much more social pressure to keep up to date with the current latest spec, because otherwise you are simply falling behind
If we say it in a less courteous manner, "Once we introduce changes, your independent implementation will be cut off from our network, and if you'll need several more months to implement changes, well, tough luck".
You see, I'm not saying Matrix is evil. It's a rather developed product, just like Mattermost or Flock. But a federated protocol it is not. Please stop advertising as such, and I'll have nothing to say about it.