this post was submitted on 24 Oct 2023
51 points (100.0% liked)
Chat
7498 readers
5 users here now
Relaxed section for discussion and debate that doesn't fit anywhere else. Whether it's advice, how your week is going, a link that's at the back of your mind, or something like that, it can likely go here.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Let’s spend dev time making lemmy great, not developing yet another thing.
@penguincoder@beehaw.org is a pretty active dev for Beehaw, has been very open about his views that the lemmy software is built on very shaky foundations, including the programming language and architecture choices underpinning the whole thing, making moderation unnecessarily difficult and making it hard to comply with legal requirements of hosting such a service, and providing severe limits to scale. It might make more sense to build up a new forum from the ground up, compatible with ActivityPub, than to try to fork Lemmy, or persuade Lemmy's existing maintainers to start accepting big patches.
I mean Rust is a godsend as a decision for the language to use. Kbin for example uses Php, which means I'll never contribute to it. Other alternatives would be like Python, Node, or Golang, but why? The first two won't scale as well on a single node and all will have worse static typing (especially Golang). When I examined the code, it seemed like a standard sql+rust stack. I can't imagine anything even major needing changing, let alone a full rewrite.
I have no dog in the fight, but Penguincoder has been pretty vocal about Rust being the wrong choice for a web service: slow to develop and modify, easy to make mistakes that take much more work to fix later (and blames this fact for the state of the lemmy codebase). Its greatest strength is the speed of execution, but that doesn't really matter for web servers, that are basically never CPU limited.
I think the moderation tool examples given sound pretty broken, and it isn't just Beehaw admins complaining about them. Lemmy.world and a few others have instance admins complaining about how hard it is to remove images from the server (deleting posts/users/comments just orphans the image file without deleting the associated file), how all the moderation functions seem not to contemplate the federation issue (removing an abusive comment or banning a user on one instance does nothing to address that same problematic content already federated to another instance).
All that being said, a rewrite is still harder. Think how much work kbin and lemmy have put in. Think of all the apps that have been developed around them. It’s still sql driven, meaning you can easily write any kind of moderation tool you want in any language of your choice.
I think the Rust vs Golang question is just opinionated, and until there’s something better than activitypub there’s nothing even a fork can really do about those issues, and I’d really want the FSF to deal with those kinds of complaints.