23
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
Pour participer un peu au projet et administrer jlai.lu, le problème principal, c’est la gestion du projet et ça rend tout extrêmement difficile en tant que contributeur.
Par exemple, y a eu des choix conceptuels de faits qui sont plus que douteux et qui méritent d’être refondus, notamment tout ce qui touche à l’authentification et la gestion de session. Ça a déjà posé problème, et ça reposera problème, d’où l’importance du sujet.
Le problème c’est que cette réécriture est en cours depuis bien 3 mois, et vu qu’il n’y a ni roadmap ni gestion centrale du projet, c’est impossible de savoir ce qui marche, marche pas, les features qui sont là et que ça risque de casser ou pas, ce que ça va casser pour les clients, etc. du coup ça avance pas, les gens en ont marre et abandonne le truc parce que le temps disponible est pas non plus infini.
Imagine ça sur 200 features différentes.
Tout le monde fait ses merge requests à l’arrache (moi le premier), les reviews se font à l’arrache aussi parce que y en a trop et dans un laps de temps entre 1h et un mois, les tests automatisés puent la mort et en fait testent pas grand chose, du coup on se retrouve avec des releases complètement instables en plus d’en chier pour contribuer.
Si toute l’organisation roulait, les barrières techniques comme le Rust par exemple seraient bien moins impactantes parce qu’il y aurait pas besoin de 200 personnes pour faire un truc qui est censé prendre une journée. Y’a aussi assez peu de communication entre les devs principaux et les contributeurs, notamment sur les différents espaces Matrix dédiés au projet, ce qui complique encore plus l’évolution du projet.
Autrement, le problème de Beehaw c’est qu’ils ont pris une plateforme fédérée alors qu’ils veulent pas fédérer. Leur choix technologique est mauvais par rapport à leur besoin et ça c’est pas vraiment la faute de Lemmy.
Retour super intéressant, merci!
Ton message fait presque penser qu’il faudrait qu’une équipe de dev open source chevronnés (parce que même si j’apprécie beaucoup Lemmy, j’ai l’impression que les deux devs sont clairement victimes de leur succès) qui se lancent dans une alternative à Lemmy (parce qu’un fork, au final, ça reprendrait toute la dette technique), compatible avec Lemmy/Kbin via ActivityPub.
Intéressant ton point de vue de contributeur sur le projet. Je n’ai pas contribué à Lemmy, mais j’ai un peu contribué sur d’autres projets Open Source, notamment en Rust d’ailleurs. C’est toujours compliqué la gestion de ce type de projet. S’il commence à y avoir pas mal de contributeurs, c’est nécessairement un job à temps plein que de trier les issues, review les PR, assurer une certaine cohérence et une roadmap, entre les ré-écritures de fond et nouvelles features qui arrivent… et sans société derrière, sans qu’il y ait des gens payés pour le faire, c’est toujours délicat. Sur les projets OSS sur lesquels j’ai un peu bossé, il y avait toujours des boites derrières et l’orga des projets étaient plutôt carrée (des trucs liés aux technos blockchain, client Ethereum avec Parity derrière, ou Lighthouse avec SigmaPrime, …). Le choix de Rust semble être une bonne chose alors, au moins le typage statique et la compilation réduisent un peu le cataclysme que serait un projet sans lead technologique fort dans un langage plus permissifs comme le Node (ouais c’est surtout pour le troll 😉).
Et tout à fait de ton avis sur Beehaw.
Les deux devs principaux de Lemmy reçoivent des subsides de la Nlnet foundation (https://nlnet.nl/project/Lemmy/), après effectivement ils n’ont sans doute pas l’habitude de gérer autant de PR ni de discussions architecturales