20
Beehaw on Lemmy: The long-term conundrum of staying here - jlai.lu
jlai.luYesterday, you probably saw this informal post [https://beehaw.org/post/7754304]
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
[https://beehaw.org/post/980868] and here [https://beehaw.org/comment/1134544].
Other Beehaw admins have also brought [https://beehaw.org/comment/1018508] some
concerns [https://discuss.online/post/12787] 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 [https://beehaw.org/post/7426279]. 1)
You post an image to Beehaw. 2) Beehaw sends your content out to every other
server it’s federated with 3) Federated server accepts it (beehaw.org
[http://beehaw.org] is on their allowlist), or rejects it (beehaw.org
[http://beehaw.org] is on their denylist) 4) 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. 5) Mod on beehaw.org
[http://beehaw.org] sees your post doesn’t follow the rules. Removes it from
beehaw.org [http://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. 6) The
receiving federated instance needs to manually remove/delete the content from
their own server 7) For a text post or comment that’s removed, this can be done
via the admin/mod tools on that instance 8) 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
[https://beehaw.org/post/7007045?scrollToComments=true]. 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.
Je partage ceci ici et pas sur Technologie parce que j’imagine que ça peut intéresser plus de monde que sur cette commu.
En résumé, les problèmes des admins
- pas de feuille de route claire de la part des devs Lemmy
- pas de priorisation des fonctionnalités de modération
- un choix technologique discutable, la faible communauté Rust limite les apports au projet
Qu’en pensez-vous? J’ai l’impression de mon côté que Lemmy fait le job pour Jlailu. Certes, il y a clairement des améliorations, mais en attendant en guise de forum fédéré et d’alternative libre à Reddit ça me semble faire le boulot
Apparemment certains commentaires mentionnaient ça, ou le Go.
Ca fait un moment que je n’ai plus développé, j’ai l’impression que Rust était quand même assez populaire, non? Est-ce que c’est un si mauvais choix que ça?
Je pense que le choix de Rust est bon pour du long terme. L’écosystème Rust est jeune pour le moment, mais il devient de plus en plus populaire et si un grand nombre d’organisations passent progressivement à Rust, ce n’est pas pour rien.
En réalité, le problème majeur de Lemmy, ce n’est pas tellement le langage du backend, mais plutôt la gestion des bases de données. Les devs le disent eux-mêmes qu’ils ne sont pas du tout des experts en la matière, alors que c’est ça qui a actuellement le plus d’influence sur les performances.
40k geeks actifs mensuellement, mais pas un DBA pour leur filer un coup de main sur les requêtes, ça m’étonne toujours autant
Non je ne pense pas. Mais c’est un langage orienté plutôt performance, style C++. Donc un peu plus dur à prendre en main.
Après pour avoir des collègues qui essaient de s’y former (moi plus j’en suis loin mieux je me porte) c’est pas insurmontable non plus
c’est sûr, mais ça demande un peu plus d’investissement puisqu’on retrouve la notion de pointeur et d’ownership, genre de trucs qu’on ne voit pas dans le JS ou autre (un peu en Go, mais c’est léger).
Non mais c’est du classique de C/C++