Standing for the Matrix Foundation
So! I’m standing for the upcoming Matrix Foundation elections as an Individual Member. This post is about (a) what I think the Foundation needs to be doing and (b) how I can help with that. Even if you’re not a voting member, I’d love your feedback on this – if I do get elected, I need to hear what people are thinking about ;)
In truth, this feels odd to write. I’ve been an open source advocate and community leader for a long time (nearly two decades!), but those are not democracies. You turn up, get involved, and earn your place at the top. In general, I’ve found my self-effacing Britishness a good thing – I focus on others and on the work, not on myself, and thus writing a pitch for my general awesomeness is not natural. But it must be done – you deserve to know what I believe, and want to achieve.
If you want to discuss any of this with me, then please do so. My blog is a static site, so there are no comments here – but you can reach me at @gwmngilfen:matrix.org in the Individual Members Campaigning room, or on Mastodon at @gwmngilfen:fosstodon.org. Please challenge me on this stuff, it’s only going to lead to a better outcome for Matrix!
OK, let’s dive in!
Who I am
For a lot of readers, this might be the first time that we’ve met – hello! However, I’ve been around open source for a long time; as a user, I’ve been doing FOSS stuff for over 20 years. I’ve been a sysadmin, a devops architect, a data scientists, and (perhaps most notably) a community architect – and it’s in that capacity I come to Matrix to help out.
For most of the world, I’m a technical person. I run my own servers, write my own scripts and projects (especially in regard to data analysis, which is generally bespoke), and poke around with hardware. But here, in this space, I am far from the most technical person – others are far more qualified to work on the Matrix spec or develop the homeservers, or figure out bridges.
Where I can help is with my experience as a community person, and (perhaps) as a data person. I’ve advocated for Matrix many times, I’ve moved several communities to using Matrix on a daily basis, and behind-the-scenes I’ve helped others make that transition too. I’ve also learned a lot about what makes communities work in general, and how you can design the processes and tools to get good results. In that space, as a user and a community archtiect, I see a place for me to contribute to the Foundation as it goes through it’s startup period.
In terms of my “bona fides”, there’s really 3 areas you can check out. Firstly, if you want to read any of my writing on Matrix, you can start with my blog post on Matrix for Ansible and the subsequent analysis post. For a similar (but older) discussion regarding Discourse (a different tool, yes, but gives you an idea of my style) then check this out.
Secondly, you can also see some of my work on Matrix bots and scripts such as ChatStat (my R library for room stats), or maubot-meetings (which I wrote to replace Ansible’s aging IRC meeting bot). Finally, I do like to talk, so you can check out the Matrix Salon podcast for how I actually sound in person.
What Can I Help With
The Foundation will have a lot of things to think about as it gets going. For much of it, I will be happy to listen learn, and offer my views – I’m no expert in how to attract funding, for example. But there are 3 areas that I can help with that I think are of key importance for the year ahead.
Governance, Process, and Structure
This may be my first elected role, but it’s not my first community. The Foundation needs to establish itself, it’s independence, and it’s processes. I’ve been integral to that work for multiple communities (indeed, I am giving a talk on it next month at DevConf, and I’d love to get involved here too.
Some things already attract my attention here. Indepence from the ecosystem members is a big topic - how will the Foundation establish a process for making a project a “Foundation project” vs something led by an ecosystem member? What tests will we apply before accepting something? Do we need graded levels for projects, such as the CNCF uses?
But it goes further. How will we recognise the efforts of our contributors? I’ve spent a lot of time with Ansible (and somewhat with Fedora) doing data work on contribution and community health – we should think about making use of some of that too, for without recognition our contributors burnout and leave. We’ve already seen that happen, and we’ve lost key people as a result. It will happen again if we don’t structure the community deal with it.
And finally on structure, I think a lot about tooling – not only did I bring Matrix to Ansible, but I brought Discourse too. That was not a whim, we had 500+ GitHub repos, 35 Matrix rooms, 8 mailing lists, and yet nowhere did we have a coherent place to discuss things as a community. Now, I’m not saying Matrix needs a forum – but I am saying the formation of the Foundation gives us an opportunity to look at all our processes and make sure they will achieve what we want from them.
Image and adoption
Matrix needs more users. It also needs more servers – we can’t have a massive influx of new users on matrix.org, it’s already too big. So, how are we going to do that?
The key here is network effects. It’s not people that move to a new home, it’s groups, and the issue here is that often there will be someone in the group who has either heard things about Matrix, or has active experience from years ago. That leads them to argue against adoption, and yet many of those issues are no longer true (if they ever were). We need to improve Matrix’s image – we could speak with satisfied users as a set of case studies, we could write material debunking some of the issues, we could even try and fix some of the things are still a problem – but we also need to make that work visible, so that our advocates are equipped to argue for the use of Matrix.
As part of this, we also need to focus on the core of Matrix. We will keep making the situation worse if we build a hundred different experiments on top of Matrix – that way lies fragmentation and an even worse experience for new users. The ecosystem members will be busy trying things out, so let them - the Foundation needs to focus on the core chat system (and I’ll incude bridges, bots, and wdgets as part of that) because that is what people will come to Matrix for.
We also need to make server deployment smooth, and support the people who choose to run instances (especially public ones). Admins need to discuss issues such as various server implementations, best practices, moderation, and so on, and also be able to feed that information back to the Spec team in a useful way (not everyone is going to write an MSC). Those discussions already go on, for sure, but I wonder if the Foundation could have a role here in providing a neutral space and a channel for feedback. This links back to the structure point above - you can design communities for a given outcome, so long as you put thought into the whay the structure is built.
Moderation
Finally, I would also want to place some emphasis on moderation and trust & safety. There are people in the community who know far more than I do about this topic, so I’m not going to pretend I have all the answers here, but as a community leader I know that people need to feel safe if they’re going to participate in something. I’m lucky that the Ansible community doesn’t seem to get a great deal of moderation issues, so my needs are light here - but that doesn’t mean I don’t care about it.
Moreover, since Matrix is federated, we need to take extra care here. If I deploy a private system (be that un-federated Matrix, or something else like Mattermost, or even Slack / Discord) then my account is local to that system, and only the users on that system can bother me at all. But we have to think wider, because my matrix.org account can be interacted with from across the world.
So, as a minimum I’d like to see reporting improved, as well as understanding what more we can do with the likes of Draupnir/Mjolnir. Perhaps some of the features of those tools can become MSCs, or perhaps the Foundation needs to fund Draupnir4All so we can all have moderation bots, or perhaps there’s another path. I’ll be wanting to learn from others here and figure out what we can do to move the state of T&S forward, because that ultimately plays back into the point about adoption above too.
Wrap Up
The Foundation will have a lot of demands on it’s time, but we also have a lot of people to elect. If you think I’d be a good fit for even some of the things we need to do, please vote for me! And again, if you want to chat, you can find me in at @gwmngilfen:matrix.org in the Individual Members Campaigning room, or on Mastodon at @gwmngilfen:fosstodon.org.