Beehaw on Lemmy: The long-term conundrum of staying here
Yesterday, you probably saw this informal post by one of our head admins (Chris Remington). This post lamented some of the difficulties we’re running into with the site at this point, and what the future might hold for us. This is a more formal post about those difficulties and the way we currently see things.
Up front: we aren't confident in the continued use of Lemmy. We are working through how best to make the website live up to the vision of our documents—and simply put, the vast majority of the limitations we're running into are Lemmy's at this point. An increasing amount of our time is spent trying to work around or against the software to achieve what we want rather than productively building this community. That leaves us with serious questions about our long-term ability to stay on this platform, especially with the lingering prospect of not having the people needed to navigate backend stuff.
Long-time users will no doubt be aware of our advocacy for moderator tools that we think the platform needs (and particularly that we need). Our belief in the importance and necessity of those tools has only hardened with time. Progress of those tools, however—and even organizing work on them—has been pretty much nonexistent outside of our efforts from what we can see.[^1] In the three months since we started seriously pushing the ideas we'd like to see, we’re not aware of any of them being seriously considered—much less taken up or on the way to being incorporated into Lemmy.
In fact: even within the framework of Lemmy's almost nonexistent roadmap and entirely nonexistent timetable on which to expect features it has been made clear to us that improving federation or moderation on the platform are not big priorities.[^2] We have implicitly been told that if this part of the software is to improve we will need to organize that from scratch. And we have tried that to be clear. Our proposal is (and has been) paying people bounties for their labor toward implementing these features, in line with paying all labor done on our behalf—but we've received mixed messages from the top on whether this would be acceptable. (Unclear guidance and general lack of communication is symptomatic of a lot of our relation with the Lemmy devs in the past few months.)
Things aren't much better on the non-moderator side of things. The problems with databases are almost too numerous to talk about and even Lemmy's most ardent supporters recognize this as the biggest issue with the software currently. A complete rewrite is likely the only solution. Technical issues with the codebase are also extensive; we've made numerous changes on our side because of that. Many of the things we're running into have been reported up the chain of command but continue to languish entirely unacknowledged. In some cases bugs, feature requests, and other requests to Lemmy devs have explicitly been blown off—and this is behavior that others have also run into with respect to the project. Only very recently have we seen any overtures at regular communication—and this communication has not hinted at any change in priorities.
All of what was just described has been difficult to get a handle on—and having fewer users, less activity, and more moderators has not done a whole lot to ease that. We honestly find that the more we dig and the more we work to straighten out issues that pop up, the more pop out and the more it feels like Lemmy is structurally unsound for our purposes. (One such example of what we’re working with is provided in the next section.)
In summary: we believe we can either continue to fight the software in basically every way possible, or we can prioritize building the community our documents preach. It is our shared belief that we cannot, in the long-term, do both; in any case, we're not interested in constantly having to fight for basic priorities—ones we consider extremely beneficial to the health of the overall Lemmy network—or having to unilaterally organize and recruit for their addition to the software. We are hobbyists trying to make a cool space first and foremost, and it's already a job enough to run the site. We cannot also be surrogates for fixing the software we use.
PenguinCoder: A brief sketch of the technical perspective
I've said a few words about this topic already, here and here. Other Beehaw admins have also brought some concerns to the Lemmy devs. Those issues still exist. To be clear: this is a volunteer operation and Lemmy is their software; they have a right to pick and choose what goes into it and what to put a priority on. But we have an obligation to keep users safe and secure, and their priorities increasingly stifle our own.
In the case of this happening for open source projects, the consensus is to make your own fork. But:
The problem with forking Lemmy is in starting from all the bad that is inherently there, and trying to make it better. That is way more work than starting fresh with more developers. IE, not using Rust for a web app and UI, better database queries from the start, better logging/functions from the start; not adding on bandaids. A fork of Lemmy will have all of Lemmy's problems but now you're responsible for them instead.
We don't need a fork, we need a solution.
To give just one painful example of where an upstream solution is sorely needed: the federation, blocking, and/or removal of problem images.
You post an image to Beehaw.
Beehaw sends your content out to every other server it's federated with
Federated server accepts it (beehaw.org is on their allowlist), or rejects it (beehaw.org is on their denylist)
If the server accepts it, a copy of your post or comment including the images are now on that receiving server as well as on the server you posted it to. Federation at work.
Mod on beehaw.org sees your post doesn't follow the rules. Removes it from beehaw.org. The other instances Beehaw pushed this content to, do not get that notice to remove it. The copy of your content on Beehaw was removed. The copy of your content on other servers was not removed.
The receiving federated instance needs to manually remove/delete the content from their own server
For a text post or comment that's removed, this can be done via the admin/mod tools on that instance
For a post or comment including a thumbnail, uploaded images, etc; that media content is not removed. It's not tracked where in Lemmy that content was used at. Admin removal of media commences. This requires backend command line and database access, and takes about a dozen steps per image; sometimes more.
There are dozens of issues—some bigger, some smaller—like this that we have encountered and have either needed to patch ourselves or have reported up the chain without success.
Alternatives and the way forward
If possible the best solution here is to stay on Lemmy—but this is going to require the status quo changing, and we’re unsure of how realistic that is. If we stay on Lemmy, it is probable that we will have to do so by making use of a whitelist.
For the unfamiliar, we currently use a blacklist—by default, we federate with all current and newly-created nodes of the Fediverse unless we explicitly exclude them from interacting with our site. A switch to a whitelist would invert this dynamic: we would not federate with anybody unless we explicitly choose to do so. This has some benefits—maintaining federation in some form; staying on Lemmy; generally causing less entropy than other alternatives, etc. But the drawbacks are also obvious: nearly everything described in this post will continue, blacklist or whitelist, because a huge part of the problem is Lemmy.
Because of that we have discussed almost every conceivable alternative there is to Lemmy. We are interested in the thoughts of this community on platforms you have all used and what our eventual choice is going to be, but we are planning on having more surveys in the future to collect this feedback. We ask that you do not suggest anything to us at this time, and comments with suggestions in this thread will be removed.
As for alternatives we’re seriously considering right now: they’re basically all FOSS; would preserve most aspects of the current experience while giving us less to worry about on the backside of things (and/or lowering the bar for code participation); are pretty much all more mature and feature-rich than Lemmy; and generally seem to avoid the issues we’re talking about at length here. Downsides are varied but the main commonality is lack of federation; entropy in moving; questions of how sustainable they are with our current mod team; and more cosmetic things like customization and modification.
We’re currently investigating the most promising of them in greater depth—but we don’t want to list something and then have to strike it, hence the vagueness. If we make a jump, that will be an informed jump. In any case logistics mean that the timetable here is on the order of months. Don’t expect immediate changes. As things develop, we’ll engage the community on what the path forward is and how to make it as smooth as possible.
[^1]: Other administrators have probably vocally pushed for these things, but we’re not aware of any public examples we can point to of this taking place. Their advocacy has not produced results that we're aware of in any case, which is what matters.
[^2]: Perhaps best illustrated by the recent Lemmy dev AMA. We’ll also emphasize that Beehaw’s admin team is not alone in the belief that Lemmy devs do not take mod tools or federation issues particularly seriously.
Lemmy started as a passion project and been growing slowly over years and then out of nowhere a small group of developers had to not only adjust to new influx of people, but also a barrage of ideas, suggestions and comments on what they should prioritize. I'm not sure how much experience different people here have with open source development, but the amount of changes in 3 months Lemmy developers managed to do is impressive to say the least. And there will never be open source project that manages to satisfy everyone.
Fundamentally people assume that with open source project all ideas will get implemented either by developers or if someone does the work and makes a pull request. But like with every other project the maintainers are allowed to have their own vision and not implement everything someone asks for or have different priorities or specific structure in mind.
Beehaw always tried to create something where they have complete control over everything. And that worked with federation when they were one of a few "big" instances (some people might not know but Beehaw is 21 months old, opened on 2021-11-12), but once influx of new users came in the existing tools weren't enough to have the level of control they wanted. So they clsoed the doors on new users and isolated themselves and at the same time angered a big portion of fediverse users for taking advantage of new user influx but the cutting them off from the rest of the fediverse.
I'm not sure if people checked the posts where Beehaw listed features and tools they want and a lot of them are super tailored to Beehaw vision which is not in step with federated Lemmy as a whole.
I don't think that the Beehaw vision and fediverse can coexist as they have diametrically opposed ideas.
I’m not sure if people checked the posts where Beehaw listed features and tools they want and a lot of them are super tailored to Beehaw vision which is not in step with federated Lemmy as a whole.
I don’t think that the Beehaw vision and fediverse can coexist as they have diametrically opposed ideas.
As another outsider, I disagree. All the ideas and suggestions from the beehaw team seem like things that would benefit the whole Fediverse (or other lemmy instances at least). I'm curious what suggestions you think are incompatible?
I'll have to chat more with Lionir about item 1, because I've seen and resolved reports that came from off instance users of Beehaw users misbehaving on their instance (or another they were browsing).
For source 2, that was referring to various tools which exist on other federated software.
Either way neither of these are incompatible or new requests within activitypub and calling them against the principles of federation is an ideological discussion, one not suited for this announcement thread.
Why should Beehaw get a report for something not done on their instance? Instance rules only apply to that instance activities.
You'd still like to know if you users are causing ruckus elsewhere, especially since that may escalate to defederatation in the worst case. Also instance rules can apply to external communities too since they are saved locally. Thus admins are responsible for all content, not just local content.
That is fundamentally anti federation suggestion.
I disagree. The alternative is total defederation. Being able to "soft" defederate in certain ways could be useful as a less extreme version of defederation. Right now it's very binary. Even Mastodon has more granular controls I believe?
You’d still like to know if you users are causing ruckus elsewhere, especially since that may escalate to defederatation in the worst case. Also instance rules can apply to external communities too since they are saved locally. Thus admins are responsible for all content, not just local content.
Why though? If the user is not breaking your rules, what reason do you have to know that? See that's where the fundamental idealogy of fediverse and Beehaw splits. Beehaw wants total control over every single aspect of their users and fediverse allows to create micro communities that are all tied together and moderated on community level.
I disagree. The alternative is total defederation. Being able to “soft” defederate in certain ways could be useful as a less extreme version of defederation. Right now it’s very binary. Even Mastodon has more granular controls I beli
And I disagree with you, but that's allowed. There is a difference between giving users choice and giving instance admins that ability to remove the users choice.
P.S. I'm not sure if it's coincidence that your views align with Beehaw, but feddit.dk is another instance with huge amount of isolation with 533 instances defederated.
Why though? If the user is not breaking your rules, what reason do you have to know that?
I just told you, having users that are reported a lot is a defederation risk. Also the reports may actually indicate problems that also break instance wide rules and you'd never know.
feddit.dk is another instance with huge amount of isolation with 533 instances defederated.
I don't think it's very isolated actually. I implore you to take a look at the instances on my block list. It's not instances you'd want to have an influence on votes. Basically all "normal" lemmy instances are not denylisted.
I just told you, having users that are reported a lot is a defederation risk. Also the reports may actually indicate problems that also break instance wide rules and you’d never know.
And again that's the mindset issue, not software issue. If user X did something on Instance A, there is no comprehensible reason for Instance A to defederate from instance X. Ban the user X for breaking your instance rules and move on.
Going to stop this conversation here - you have strong opinions on how moderation should be handled. We get it. This conversation is ideological and won't go anywhere from here. Please cease.
No, I wouldn't. If those 20% were valid reports I or community moderators would handle them and then there would be 0 reports left. It's primarily community moderators job to handle reports from their communities.
But Beehaw wants ultimate control over their users and Lemmy just doesn't work like that. You could debate pros and cons of each approach, but in the end Beehaw wants something different and I'm not surprised they want to move away from ActivityPub.
Why should Beehaw get a report for something not done on their instance? Instance rules only apply to that instance activities.
Spammers have been a bit of an issue recently, and federated reports would help them get removed quicker I think
That is fundamentally anti federation suggestion
True to some extent IMO. The HB instance does this on their announcements/meta community, so apparently it might be possible unless HB added that feature into their codebase themselves
Spammers have been a bit of an issue recently, and federated reports would help them get removed quicker I think
Sure, but that's just shifting the issue to instance level instead of dealing with it on community level.
True to some extent IMO. The HB instance does this on their announcements/meta community, so apparently it might be possible unless HB added that feature into their codebase themselves
the amount of changes in 3 months Lemmy developers managed to do is impressive to say the least.
I'm trying to be nice, but two full time paid people did not manage to do much in 3 months if you mean May, June, and July regarding the Reddit API change period. It seems Rust is their main focus and in the middle of all this they decided to start a new front-end in Rust. When dozens of new front-ends were being developed by eager newcomers, including replacements like Photon that even have admin and moderation interfaces.
I’m not sure if people checked the posts where Beehaw listed features and tools they want and a lot of them are super tailored to Beehaw vision which is not in step with federated Lemmy as a whole.
I've checked their listed features and tools, and I have no idea what you are talking about. They are features that Lemmy needs. What exactly do you mean that Beehaw is "super tailored"?