At the time of writing this, many people are setting up Mastodon accounts - an open source social media platform - in response to Elon Musk's takeover of Twitter.
I've seen a lot of debate about the inclusivity of Mastodon as a platform, with comments like:
- "Mastodon is way more inclusive than Twitter because it's built by a community"
- "But Mastodon has accessibility issues"
- "And most of the people flocking to Mastodon are white"
- "If you find an issue with Mastodon, you can just fix it yourself. That's the beauty of open source!"
There's a pervasive perception that opening something up for contribution inherently makes it more inclusive, and I want to challenge that here.
What is open source software?
Open source software is simply a model for building software in which the person who owns it gives users access to the code, and the right to change it.
An open source product may be created and worked on by a mix of owners and public contributors.
Open source ≠ inclusive
Open source software decentralises control of a product, and redistributes it amongst people with enough technical knowledge to participate in its production and maintenance.
This last bit is crucial.
The Venn diagram of people using OSS and people making it is not a circle - and not all of the people who use open source software have the technical ability to change it.
This means that if someone using an open source product hits a barrier, they might not be able to change it for themselves.
Decentralised control also means decentralised responsibility, which can make it harder to hold someone accountable when we encounter a problem. The thing which is everyone's problem is also no one's problem in particular.
Open source just a model for building software - and certainly not one I'm against.
But it's important to recognise that this model lives in our existing world with all its problems. It doesn’t magically transcend those problems and it doesn’t single-handedly solve all of those problems.
None of this is to say that open source software cannot be designed, built and maintained to be extremely inclusive - but it's not an inherent part of the package.
Decentralisation ≠ no governance
If we agree that the model of open source software creation is not inherently inclusive, then we have to do work to make it so.
Accountability structures within private organisations often rely on centralised control.
So when we look at the decentralised nature of open source engineering, it can be hard to work out how to create accountability, when no one's "in charge".
But distributed control doesn't mean no control--and decentralisation doesn't mean no governance.
Owners and maintainers of open source projects who care about inclusion must consider the risks that this model poses. They must ask questions like:
- who will this empower and who will it disempower?
- what are the implications of that?
- what does exclusion look like in this work?
- how will we monitor it?
- how will we learn about abuse and harassment on our product?
- how will we respond to it?
- how can we communicate this to people who use and contribute to our product?
Exploring these questions can help us begin to develop a governance framework to support inclusion.
Inclusivity requires active work
Letting people contribute to an open source product is a passive step, that will encourage some to participate.
But cultivating inclusive spaces in which to contribute, and creating inclusive products calls for intention and proactivity.
Building communication, education, support and governance into our open source work is the route to prioritising inclusivity.
It's hard work, and it's non-negotiable.