Condensing what happened on Pleroma in 2021

#author_luna #pleroma #fediverse

Disclaimer: I am not a main developer of the Pleroma project, however I used the software for years and have to be up to date on what has been happening with it. I sadly do not have much context from the early days, and I will be glad to add paragraphs from others if they wish to contribute to this page.

I do not agree with Alex Gleason's, or Gab's views. However, I will link to them, and I am clearly writing this from my point of view with my opinions. No human is unbiased, and I do whatever I want in my website.

Gab #

From WikiPedia:

Gab is an American alt-tech microblogging and social networking service known for its far-right userbase.

Gab existed for a while, however, in a turn of events, it decided to fork the Mastodon server software and make its first foray into the ActivityPub (also shortened as AP) network (of which some people call "fedi" / "the fediverse"). There were two people key in this transition from custom software to a Mastodon fork: Rob Colbert, CTO of Gab, and Alex Gleason, which I don't fully know his story of how he joined Gab, both of them worked on modifying the frontend, and exposing the modified source (as Mastodon is AGPLv3) on their own private GitLab instance (the original repository was removed, and a new one, that provides a zipped archive of the modified source is now in place, for AGPLv3 compliance. see here).

The Gab fork that they worked on was deployed to other instances, one of the main ones, the one Alex Gleason operates being spinster.xyz, from their about page:

Spinster is a woman-centric website created to provide a platform for feminist dialogue.

Spinster was founded by radical feminist writer M. K. Fain and her partner, Alex Gleason. It is owned and operated by Spinster LLC, registered in Pennsylvania, USA.

I don't feel ready on making statements about if spinster.xyz is actually fulfilling its purpose, as I haven't read M. K. Fain's writing, however I have read Alex Gleason's "Why I don't support transgender ideology", which immediately tells me that I would not be welcome in his projects. Even though I believe that we, as a "transgender community" (that name is already weird, because there is no singular community), are not perfect. We shouldn't be free from criticism. (I won't sidetrack myself on this part, apologies).

Pleroma #

I don't have a lot of context on its creation, but the key people you want to know about is lain, the "BDFL" of the project, and feld. I contacted feld for their own words regarding the initial involvement with Pleroma, and here's what they said:

Here's my memory of how this went down:

Trump got elected, Twitter was becoming an even worse cesspool, so at that time I deleted my account on January 1st 2017. A short while later I discovered Mastodon (probably from a HackerNews article lol)

I joined Mastodon.social and found a few people I knew from Twitter, used that for a little bit.

A few months later I wanted to self-host, so I started down the path of porting Mastodon to FreeBSD. I managed to get it working, but then was so discouraged by the work required to chase Ruby dependency updates I gave up. But the torch was passed to other people who wanted to maintain it instead.

https://svnweb.freebsd.org/ports?view=revision&revision=441815

So at this point I decided Mastodon was too painful to run on your own without their Docker images and gave up on the idea of self hosting my scrolling-timeline-social-media-microblog... until someone mentioned this lightweight alternative called Pleroma.

I had never heard of Elixir, but I did know Erlang was rock solid. I found Pleroma's IRC and started playing with it, figured out how to self host it immediately, and was very impressed overall.

There's also the sad part that links about certain events that are cited here have been spread throughout fedi, and even though The Internet Never Forgets, and the links might exist somewhere, they're low-quality to be properly linked, and I can not spin an ElasticSearch cluster on accounts to create proper quotes. This is on a word-of-mouth basis, and I apologize.

Pleroma, as most FOSS projects, was created on a majority volunteer basis, by various other developers, usernames from that era include: hj, lanodan, kaniini, and many others. And, as most FOSS projects, there is a constant implicit need of possible sustainability, especially as the project grows with the network (and as Twitter keeps causing bleedout from its own decisions, there are various migration events into alternative networks, some coming into the AP network).

In one day, feld struck a deal with... a porn website, MyFreeCams. I will not link to them, you should understand why. In the deal, MFC would provide funding for some developers, while adding new ones into the project, in turn, MFC would run a Pleroma instance for their camgirl performers. Throughout this deal, a bunch of new developers came in, the engine was running at full speed.

I also asked feld about that part of the project, and here's some insights about how it happened internally:

July I started a new job. In October my boss was discussing the possibility of launching a Mastodon instance for internal use. I was quite enthusiastic about the Fediverse and told him that's a good idea, but I think if we want to scale it to his estimated user count (a few million users, with ~500k active monthly) we would want to do it with Pleroma.

I contacted Lain directly on IRC and asked him if he wanted to get paid to work on Pleroma full time instead of it being a weekend project of his, and by Q2 2018 he was working on it full time with me until we pivoted to another project as our main focus March 2021

It hasn't been abandoned, it's just not our highest priority right now.

Pleroma: Post-MFC #

I also asked feld about this, as I didn't know the internal decisions:

January 6th. What Apple (and maybe Google?) was doing to fediverse apps being submitted at that time. There aren't that many apps out there and most of them are infrequently updated, but we had 3 or 4 different ones being worked on and we started getting demands that we censor content. If the app reviewers could find certain content on the fediverse through our app, it was going to be rejected.

So essentially it was decided that the Fediverse is a worse platform for freedom than Twitter because at least with Twitter you only have the Twitter censorship to deal with. With the Fediverse we have to deal with the app reviewers demanding we censor fedi content and then all the fediverse instance owners making you bend to their demands or risk being defederated, fediblocked, etc, and then if you get your account banned on any server you lose everything. You can't just "move to another server" if an admin bans your account. You lose your whole social graph which is the most valuable thing on the Fediverse.

So until the Fediverse has truly nomadic identities it's unlikely to succeed. That's the idea anyway.

A lot of developer horsepower suddenly vanished (rinpatch has been MIA for a long time, o7) after that switch, some kept going on their free time, providing some features here and there, but compared to MFC's era, it was orders of magnitude less work done.

This context is important, because that's where Alex Gleason comes in. As Gab was clearly shooed away from Mastodon upstream development (even though they still run their fork, as linked before, as gab.com), Gleason was looking at alternative software servers. Pleroma, being a project that was in need of pre-MFC volunteer work and not being super explicit about its social rules at the time, fit right in. He started developing for the Pleroma project, while developing his alternative frontend that is compatible with Pleroma: Soapbox. As he says, on his essay in this story, Pleroma is dead, of which I recommend reading as it shows his perspective, in his words:

Eventually, MyFreeCams decided this wasn't worth their time, and cut funding from the project. It floundered. All those people who stopped getting paid lost their motivation. But not me! I'm intrinsically motivated to build this stuff, because I have a vision. So while the whole project shut down, I kept working.

As Alex Gleason worked in the project, that caught the attention of lain and feld, who are a more "meritocractic" approach to the project, and in turn, Alex Gleason was given commit bit, and, thanks to Pleroma's implicit social rules, others assumed that meant Gleason's whole persona was welcomed into the project. This brings friction with the existing developers. Friction that, thanks to implicit social rules, grows without de-escalation.

A key event that made this fricton explode is this MR, as Frontend software and Backend software have a "united-but-separated" interface for features and styles (and this brings its own friction, independent of Pleroma, you can bring up old MRs and issues where frustations were brought up between Backend/BE and Frontend/FE developers), the MR was created, and in turn, some of the developers (hj, lanodan) did not fully agree on providing explicit backend support to specific frontends that aren't PleromaFE. The feature was merged without approval from other devs, while still having critiques, and again, thanks to the implicit social rules, nobody really knew if that was right or not. Everything was in this nebulous cloud of "common sense", which can differ between people (this is foreshadowing, if me citing "implicit social rules" 3 times didn't tell).

It exploded as another developer (no old relation to Pleroma, but is a known fediverse user), proposed an MR that reverts the feature, and in turn, the friction also got to Gleason, who said, in full words, "Fuck you. All of you are total assholes.", and then this following paragraph, exploding at the developer, which reminds me of how Linus Torvalds acted on the Linux Kernel Mailing List:

Sean, you are a complete loser. You still haven't done anything of value with your life. I am actually doing things that improve the world. You are spending your whole life on a grudge against me because I was tired of your attitude when you'd cry and scream that I didn't want to merge your poor quality MRs into Soapbox. So congrats, you've got my attention for 5 seconds. I'm going to go back to actually doing things, and you can continue making things worse for people, emboldened by the rest of the idiots here. I'm glad you've found your people.

Because of what happened, those other developers attempted to remove Alex Gleason's commit bit, which would represent the project "kicking him out" of authority. However, lain, the BDFL, is not very hands-on in the project nowadays, and so the developers left tried a different approach: A fork of Pleroma, representing a threat that, if no action is made, then the fork would carry on with development. After the creation and weeks spent on attempting to gather resources to even begin the fork's development, lain came back and took away Alex Gleason's commit bit. Rebased was born as a fork of the Pleroma Backend (rather than Frontend, like Soapbox) because of this.

Pleroma: Post-Gleason #

This is way more opinionated than the other paragraphs, as this is where we currently are, without the benefit of hindsight.

The fork, in my opinion, was organized with too much heat, thanks to the frictions of the project itself. Now that the upstream project "solved" the Alex Gleason issue, there isn't much energy by others to continue working on the project. You can only do so much before burnout happens. There is work being done here and there, but at a high level, the project is in need of fresh perspective and a vision, something that lain, the current BDFL, is not providing.

The developers are taking steps towards creating more explicit social codes, but they've been bikeshedding on this for... a while, as of time of writing this (2023-02-27), here's the relevant MRs about this work:

There is a Pleroma fork that surfaced around half a year ago, Akkoma, here's the BDFL's thoughts on forking it, here's some meaningful quotes I want to provide from FloatingGhost here, as I'm basically expanding on these paragraphs in this whole article:

I shan't elaborate too much on that schism here, but the catalyst was one developer who both aligned with the "free speech" group and refused to treat other developers with any sort of respect (whilst being a generally unpleasant person to boot) - this broke the developer group in two and spawned the short-lived "newroma" (see, at least I'm not that bad at naming).

This fork never established any actual governance structure, and nobody took responsibility for it. Being led by a committee led to it having absolutely no vision, nor direction. Newroma died shortly after its inception.

Submit patches, raise issues, whatever you want. Unlike the actual pleroma maintainers I'm actually somewhat responsive. You won't erode into a skeleton by the time your PR is looked at is what I'm saying.

I'm not fully ready to use Akkoma, but I will say that it provides a more welcoming environment for my weird ideas (however, before migrating, I want to leave the project cooking for a year, to really see if it can support itself for the next years), while my Pleroma issue on the same topic hasn't gottten any eyes on it, as most current developers don't have energy to work on it nowadays. I'm not saying that because of this article, they should start giving me attention, but there's a clear backlog of issues and from what I've gathered, there is no plan to get things back into higher gear. Alex Gleason tainted Pleroma's reputation, and it should be on the Pleroma project as a whole to reconstruct trust with people, and that goes beyond an active developer base.