Or, the Unfortunately Long Story of Another Badly-Managed Open Source Project that Pushes People Away
I love Mastodon. I love that it’s user-friendly, is busy and vibrant, and in current and active development. One of its mission statements is anti-abuse tools, so when I joined a little over a year ago I felt I’d be safer there than on Twitter, as a trans person who’s not a man, and as a disabled person.
When I joined I learned that contributions and help are welcome from anyone, as is the nature of FOSS (Free and Open Source Software) projects, so I wanted to help out. I learned about the Github issue list, and I hovered around there, requesting features and reporting bugs and just monitoring the issues I understood, and pointing people in the right direction when they posted an issue that had already been posted before.
There’s not much else I can do because I’m not a coder and even if I wanted to be it would take literal years before I was ever good enough to contribute code, but people on Mastodon were very sweet and encouraging, and said that projects need more than just coders — they need people who can’t code, who can point out when devs are making something that’s not user-friendly, and so on. And the average non-contributing users need someone who can filter through all the tech-speak and relay the information that they need to know, in plain language. That’s all stuff I can do! And that’s what I tried to do.
THE HOSTILE LACK OF DIVERSITY
At first I was confused, because Mastodon is constantly crowing about the friendly and supportive community it hosts, but I quickly became accustomed. When you are not a white web-developing man and you post a lot about things that are socially and politically important to you, you have to block A LOT of people. The White Guy Avatars don’t follow you and have never seen you before, but they see you in the federated timeline and by golly they know for sure that their thoughts are welcome and you should listen to them. They come into your mentions and give unsolicited advice and criticism, they respond to your positive posts with something unrelated that fits their interests or their agenda, and it all makes me feel gross and intruded upon. Sealioning and FOSS evangelism are rampant. It’s partly because Mastodon is so new — only a year and a half old.
That was a sign that the culture there is not as nice as they say it is. Folks were saying that it feels like the early days of the internet in there. They’re right, but not in the complimentary way they intend. It contains a lot of, and is heavily culturally influenced by, entitled white male coders. It’s going to be a long time before that changes, because people who don’t fit that demographic turn up, sense the hostility, and unless they are very resilient or determined to get away from Twitter, they leave.
But you know, I had faith for a long time. The face of Mastodon became more accessible with the new front page, with sections called “putting the user first” and “feel safe in your community”, boasting of anti-abuse tools. Maybe, I thought, in time enough diverse groups would join that we’d hit critical mass and we’d have something like black Twitter and disabled Twitter. I waited a long time to see any sign of this.
Folks like to say that Mastodon is diverse, because there’s furries and a small queer/trans contingent. I don’t even know where to start with how wrong that is when you’re there, because I can’t find the words, I’m just sputtering in disbelief.
After a little while it became clear that Gargron, the person who built most of the software, is the sole decision-maker over the code and considers it his personal project. I was fine with that, because the software seemed really good! Mostly user-friendly, and frequently improved with new features and bug fixes. Clearly the system is working, right?
Not long after I joined I watched as he wrote code, merged it, rolled it out onto his instance (which was the biggest at the time), and then found that it was broken and things were going wrong. There was some community objection and discussion about that, which resulted in the decision that changes will be reviewed by another contributor before they can be merged by Gargron. Great, that is a big improvement.
Over time I have been constantly accommodating features that don’t work for me but work “as intended”. That’s some Github issue list speak there, it means the developers won’t change it because they think it’s working well and the requested change would make it worse. A good example is that we’re currently able to see people we have blocked sometimes, which Gargron refused to change because he personally likes it that way. It was even possible to boost someone you’ve blocked by accident, which I had to fight to get fixed — that was his only compromise.
The network grew to over 1 million accounts, about 150,000 of which are active right now. And there’s a pattern. Gargron makes a unilateral decision, writes a feature very quickly, another dev reviews it and approves it, it gets merged, a release candidate comes out, he updates his instance with the feature (one of the largest and busiest)… and people either like it or they don’t. If they dislike it for safety reasons, there is an understandable strong and sustained community objection. There are many users who have been harassed and abused on Twitter, have reported people to no avail, and moved to Mastodon because they were told it would be safer. Often they have nowhere else to go, so they have to fight.
In the face of that objection, instead of listening Gargron tends to dig his heels in and argue details and dismisses problems that he doesn’t want to think about. He ignores people’s experiences. It’s his view that Mastodon is his personal project that he can handle however he wants, and the nearly $4,000 per month that he gets through Patreon and Liberapay are kind donations from people who support his decisions. Two months ago it was a “people you might like to follow” feature, before that it was whether CWs should hide sensitive content when a post is embedded elsewhere on the internet, and in the past couple of days it was a “trending tags” feature. Someone made a Trending Tags mock-up that he liked, and even though he’s said in the past he would never implement anything like that, he wrote the feature, merged it, and put it on mastodon.social, the flagship instance with 160,000 accounts.
Anyone against the idea and who understood how to use Github went to the issue list and objected there. They said that trending topics on Twitter is used to attract and abuse vulnerable people. It was all quite vague, but instead of asking for specific examples of abuse so that he could judge whether the software can prevent (or be made to prevent) abuse of members, Gargron dug his heels in. Then he made fun of the victims of social media abuse, making it clear that he doesn’t take their concerns seriously, while also complaining openly about people objecting vocally to his decisions and boosting toots by people publicly supporting him and condemning the wave of objection. He was petty and passive-aggressive. He complained that people were taking his words out of context and using them to attack him. That may be true, and if it is it’s unfair, but it’s also clear how he feels about the anti-abuse goals in the mission statement: he will only recognise abuse if it happens to him, because he is only building a social network for himself.
When it stopped being worth his time and energy, he gave up. He could have been up-front and clear and humble by saying something like, “this trial feature is being removed due to community concerns and objections,” but instead he condescendingly implied that objectors were not as smart as him, was vague and alluded to dropping the issue, and then he refused to say anything else. It’s immature; he takes community objection as a personal attack, and storms out in a huff like a child whose toys have been taken away.
Like it or not, he is in charge of the main branch of a huge community project and he promises various advantages over Twitter to attract members. The users of his software have needs that he refuses to address, because he is in denial about the nature of his project. It has grown, and he wants it to keep growing, but he wants to remain the sole decision-maker and have complete control. He has a right to do that, but it is unhealthy for the project overall.
THE SOCIAL IMPLICATIONS
When a white man is in charge of a project and responsible for every final decision, even if he is the best listener and is super accommodating, every decision he makes will be biased towards the experiences of a white man and the privileges that entails.
The pushback he is so hurt by getting from the community of marginalised and vulnerable people when making a decision that benefits him and hurts them is a fraction of the abuse that people of colour, disabled people, queer people, women, etc. have to deal with on a constant basis. And still every decision is oriented to his experiences, without empathy.
He is trying to make a competitor to Twitter, that he proudly proclaims bans nazis, and he is another white man at the top of a hierarchy, dismissing those whose needs and experiences have been neglected by Twitter, the people he claimed to want to protect.
None of this will change until he shares some of the power over his project with people of colour, women, and other marginalised groups who are vulnerable when they speak up online.
THE LACK OF APPRECIATION FOR HARD WORK
In the last few weeks, I have made a UI suggestion with a mock-up and one without, and Gargron implemented both, but he didn’t acknowledge me or reply to me or thank me for my contributions at any point. He just did it. When I mentioned this on Mastodon, someone replied and said exactly what I was expecting — that working on open source projects is a thankless job and that’s just how it is, it’s the culture, get used to it. (I did also get a lot of grateful and kind and supportive replies, to be fair.)
When he does that he effectively takes the credit for others’ work. If he doesn’t mention that it was someone else’s, I will assume an idea was his.
For all my work on the issue list and in helping to improve the UI, I will never be acknowledged in release notes. You only get an acknowledgement or gratitude if you can code, no matter what else you do and how you contribute.
THE POWER PLAY
If we ask for features that help us and our admins to protect us we are told that if we want it that badly we should “fork” — Github issue list speak for “duplicate the entire project, code the features you want, and run it yourself.” Gargron says it, Gargron’s supporters say it. It’s realistic for them, because they have been coding for years. For a lot of them it’s their day job.
It’s a power play, because we wouldn’t be so desperate if we could code it ourselves — they have all the power and we have to beg them to help us. And they could help us, but they get to decide whether or not we get the features we need.
They are entirely capable of duplicating the project and making the features they want, but if we wanted to do that we would have to pay someone. The financial cost would be significant, and in order to keep the code maintained with new updates from the main project we would have to keep paying. For most people this is just not sustainable.
There are forks of Mastodon that could be willing to code and add features for us, but those are run by individuals or groups of friends — Bea, the developer of the glitch.social fork, says that people who object to Gargron’s management of things and want a more democratic project won’t find what they need with glitch.
THE COMMUNITY RESPONSE
The lack of acknowledgement and attribution for non-coders, and the consistent dismissal of vulnerable and marginalised people who use the software, sparked a new hashtag: #ForkOff. Maloki, a former project manager and community manager, started the hashtag to put out feelers for coders and other contributors who might like to work together on a fork of Mastodon with some kind of democratic governance — a system that gets feedback from vulnerable and marginalised users before implementing new features. Maloki is now having to deal with mockery and scorn from all the people who tell us to fork the project when we need something, but the idea also has a lot of support.
I like this idea, but even if that works out we’d still be connected to vanilla Mastodon due to the glory of federation. I’d still see Gargron and the discourse everywhere.
All of this has made me so angry for such a long time that yesterday I posted an explanation and left Mastodon and the Github issue list. In order to be present on Mastodon I would want to detach completely from development until something more democratic is in place.
I would also want to block Gargron and his posse of advocates so I don’t get sucked into it all again, but the subpar block system means I would still see him when he gets boosted by other people. I would want to mute posts about the drama (usually called “discourse”) over the whole site with keyword mutes, but the keyword mute system is currently regex (😡🙄😫), limited per timeline (Home, local, federated), and doesn’t work on notifications or people’s profiles at all. This makes it impossible for me to be there.
- A fair review process. A panel of users, about half of whom are non-coders, and about half of whom have experienced social media abuse first- or second-hand, who test out new features before they’re rolled out and then vote on it.
- A little maturity from Gargron. A long shot, I know, but if he can straight-up say “this feature has been removed due to community opposition” without being vague and passive-aggressive and then storming off, that means he’s changed on some level and maybe I might come back. Failing that, I will need the next two…
- Mutes and blocks that work. Mutes should make a person completely invisible — in boosts and in all timelines and profiles. Blocks should do the same but in two directions.
- A keyword mute that works on all posts site-wide, even notifications, not just in the column you choose.
If we can’t have maturity and fair governance from Gargron, I’d be happy with a fork of Mastodon as long as it has these features and I can avoid vanilla Mastodon development topics completely everywhere on the site.
I think it will probably be years before the above needs are met, if they are met at all. From what I’ve seen of Gargron, it’s more likely that I’ll get it from an entirely different project.
In the mean time I’m back to Twitter full-time, something that would get me some very… FOSS dudebro replies on Mastodon. There is a lot of anti-Twitter sentiment on the OStatus/ActivityPub federation, Mastodon included. There is an overall understanding there that Mastodon (and ActivityPub in general) are trying to create a viable alternative to Twitter, that they want everyone to move over and leave their Twitter accounts so that the company collapses and everyone can use this lovely free-and-open-source software which is obviously better because… well, because it’s decentralised FOSS.
The truth is that there are many things I dislike about Twitter. The ads, the trickling down of the white supremacy of the guy in charge leading to the habouring of nazis and TERFs, the way they increase engagement by shoving tweets that my follows have liked into my face (please stop, that’s what RTs are for), the fact that they are hobbling third party clients from this August 2018, the part where mobs of sock puppets and bots are successfully influencing elections that elect white supremacists and divide international communities, the selling of data to third parties…
But there are things I need that Twitter provides and Mastodon can’t. When I block someone on Twitter it’s like they don’t exist for me any more in my home timeline and in searches and hashtags, which is how it should be. I can share blocklists with people who block TERFs, saving me a lot of anguish in advance. There is no pretence that my work and my experiences as a marginalised person might positively affect future versions of the software to keep me and people like me safe from the people who want me to stop existing.
So yeah, I’m back to Twitter. I speak to more queer people and fewer White Guy Avatars. It’s safer and more comfortable for me there.
A follow-up: I left Mastodon 27 days ago
Edit to add:
I would like to say that I think the work Gargron and many many other devs have done is wonderful. It has brought thousands of instances and tens of thousands of new people into the fediverse, gotten it a lot of media attention, and given the OStatus/ActivityPub network a much-needed higher standard of user-friendliness. I hope it continues for a long time, and I hope either Gargron’s Mastodon or a fork can have more community review going forward.
This article isn’t about whether or not any particular features are a good idea, more about how Gargron handles these things typically.
I removed the implication and assumption that Gargron is cisgender. I have no idea of his status in that regard, and I assumed that other people saying he was cis had a source, but that way lies badness. Sorry about that, Gargron. 😕