Adopting Matrix at the GNOME Foundation
This blog post was also posted as a wall of text on GNOME’s Discourse to share the results of the survey with the broader GNOME Community.
The topic of our Instant Messaging platform of choice is quite old. In May 2021 I covered the history of IRC and Matrix in the GNOME Community.
This followed a survey to ask people which platform they were the most comfortable on, and which one they wanted to keep for instant messaging in the GNOME Project.
When the bridge was introduced in 2016, things were not great. Nobody took the time to fine tune it, and it was left in a pretty sorry state. Things have improved a lot since we started talking to people who maintain and host the bridge. We progressively tweaked it to avoid the inconveniences it initially brought.
Although things are not perfect, people complain less and less about the bridge, and the most outstanding issues are gone. But there are still some issues in our current setup: from an external perspective, it’s difficult to know where to find the GNOME community. Some discussions are on Matrix, some both on Matrix and IRC. In addition, we do not meet the safety and abuse management standards we would want to.
Let’s have a look at where we’re at now, what the data of the (1 year old) survey tells us, and how to move forward.
Surveying the land - what do we know?
This section is courtesy of my good friend, data scientist and community manager Greg Sutcliffe who did an incredible job at processing the data from the survey and extracting meaningful information from it.
To shape the solution we’re after, we can start by looking to the survey that was carried out last year. The information it contains, combined with our vision for the future, will help us plan our next steps.
We know we’re a polarised community, split between Matrix and IRC. It’s thus a simple sanity check to see this in the survey data, and that is indeed the case:
We can dive into this data a little more - by splitting it along other axes, we can get a feel for the variation between sub-groups. We can look at two splits - “member status” and “time in GNOME”. How does chat usage vary here? It turns out that the first doesn’t say a great deal - members & non-members alike use both IRC and Matrix. However, the second (the “time” subgroups) has more to say:
We can see a strong gradient towards IRC as time-in-GNOME increases (look at the “Used Regularly” bar of IRC in each plot). Conversely, Matrix is more popular among those with less than 5 years of GNOME-time.
While that question looked at usage today, the survey also asked two other important questions - how much do you like the platform, and would you use it in the future if it was the community standard. Let’s see those:
The first is ordered by mean opinion, hence the colour order is different, and it shows a few things. Firstly, the obvious one - Matrix has a higher opinion than any of the others. But look again at IRC - despite having a very similar score to RocketChat and Telegram (which are both neutral), IRC is not neutral, it is bimodal. As many people like it as dislike it - so the average is neutral, but not for the same reason.
In terms of how willing people are to move platform, again, Matrix is the clear lead here. There’s not much more to say here.
So, what do we conclude? We have evidence of our polarisation, to go with our own knowledge. Removing either IRC or Matrix out of the blue would be a good way to create a strong community split and maybe even rogue instances/channels. That’s not in our interest, and it’s clear that both need to co-exist for some considerable time.
Drawing up plans - what’s next?
With that said, it doesn’t mean one platform shouldn’t take priority over the other. Quite the opposite: given we cannot make things as seamless as we’d like for both worlds at once, we should have one firm preference for one of the two platforms. One for which we want the experience to be excellent - but we have to choose just one.
To answer that, look to the split in preference been long-time members and newer members. Any organisation needs to consider its succession planning in order to remain successful over many years - if newer members prefer Matrix, then that should weigh more heavily than their more junior status might otherwise allow for. In combination with the data that people are more comfortable with Matrix in general anyway, I think the answer is clear - Matrix should be the default and preferred platform, with IRC remaining bridged and available but secondary in nature. The federated and open nature of Matrix only makes this more acctractive. People can join our conversations whether they have a Matrix.org account, a KDE one, a Mozilla one, or whichever provider they want to use - it is the modern-day mailing list, in effect.
It could be tempting to proactively restrict our federation in “allow list” mode rather than in “block list” mode, only allowing other instances to federate with us after they have signed a code of conduct agreement and we have established ways to escalate issues to them. In practice, this is a good way to asphixiate a community with a lot of bureaucracy for little benefit. There are other tools to handle moderation in a more agile (and efficient!) manner.
Completely removing the instance from the public federation is not something we can really afford to do either: since our gnome.org server was set up, it has been in touch with 12393 other homeservers (though for the sake of transparency, not all of them are necessarily still active)! It would also be a surprising stance for an open project like ours.
- The community is used to both IRC and Matrix, the rest of the solutions are clearly behind.
- People who use IRC also seem unhappy with IRC, which is not the case for Matrix.
- The newer to our community the members are, the more likely they are to enjoy using Matrix.
- Given how polarised we are on the IRC/Matrix question, removing one out of the blue would create a community split, so we need to keep the bridge and tweak it if needed.
- The question on whether we self-host our instance or keep it hosted at Element Hosted Services will be answered answered separately.