this post was submitted on 18 Jun 2024
201 points (96.3% liked)

Fediverse

26765 readers
450 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

After a year online the free speech-focused instance 'Burggit' is shutting down. Among other motivations, the admins point to grievances with the Lemmy software as one of the main reasons for shutting down the instance. In a first post asking about migrating to Sharkey, one of the admins states:

This Lemmy instance is much harder to maintain due to the fact that I can’t tell what images get uploaded here, which means anyone can use this as a free image host for illegal shit, and the fact that there’s no user list that I can easily see. Moderation tools are nonexistent on here. It also eats up storage like crazy due to the fact that it rapidly caches images from scraped URLs and the few remaining instances that we still federate with. The software is downright frustrating to work with, and It feels less rewarding overall putting effort into this instance because it feels like we’re so isolated.

A few weeks later, in the post announcing that Burggit was shutting down, another admin says the same:

The amount of hoops that burger has to go to in order to bring you this site is ridiculous. To give you an idea of how bad this software is, there’s no easy way to check all the images uploaded to the site (such as through private messages). When the obvious concern of potential illegal imagery is brought up to lemmy devs, they shrug and say to plug in an expensive AI image checker to scan for illegal imagery. That response genuinely has me thinking that this is by design, and they want it to be like this. We can’t even easily look at the list of registered users without looking through the DB, absolute insanity.

The other thing is there’s no real way to manage storage properly in Lemmy, the storage caches every image ever uploaded to any instance forever.

Also the software is constantly breaking.

They also say that Kbin has many of the same problems, so I'm just curious to know if the admins of bigger Lemmy & Kbin instances feel the same way about these software.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 99 points 1 week ago* (last edited 1 week ago) (4 children)

(instance admin here, but for a small one) woof well, for me, I agree, but I wouldn't use that wording.

Lemmy for sure isn't a plug and play site. Setting it up took leaps and bounds, learning way more about nginx than I ever really cared to, and figuring out documentation that was very clearly out of date. Very little logging or error messaging exists to help with that problem.

Very little errors exist at all, it's very much a "happy path" project. That's why we get constant spinners everywhere, because when an HTTP error occurs there's no actual error message. (Come on guys, just add it to your standard HTTP messages, if statusCode < 200 || >= 300 then show a toast message).

But yeah, the moderation tools have to be the worst. Lemmy has an amazing development group that's separate from the main developers who have patched together a good set of tools, from automods to CSAM and illegal scanning, huge props to them - but these issues are routinely ignored by the main devs. I was shocked, honestly shocked that when we were under CSAM attacks that there was not an immediate roundtable of the head devs to try to solve the problem officially. Here was a problem that 99% of countries would immediately and gladly throw us, the instance admins, in jail over and they just handwaved it away. In fact, I don't know that there was ever an official post about it, or even that there are things coming to help with it.

I love Lemmy and being here, and the devs have done a great job at building this platform for us, but we're at a critical point right now. It's no longer software that is just fun side projects and building stuff that looks cool, it has some real issues now that it has a real userbase. I'm definitely one to say "But it's FOSS, and other people can pick up and submit a PR" - but it also says something when the head devs just completely ignore a massively huge issue with it.

Bugs and caches and that sort of thing I can overlook. Those I can wait on and see them get smoothed out over time. Actual issues that could land me in jail or get the feds to beat down my door? Those I kind of expect a fast response.

So, I'll say I'm extremely conflicted. I want to host lemmy long term, and I'm happy to bring the fediverse to a few more people, but the csam attacks really altered my view of the devs.

Edit - because my favorite manager said "Bring me solutions, not problems" a few things that would really help immediately -

  • Integrate db0's CSAM checker natively, more or less a plug and play option, or a checkbox. His checker sits at an endpoint. The admin page of lemmy could easily have you plop in the endpoint and it would start checking
  • Have an image management portal, with capabilities to:
    • Auto remove images after X time (to help with ballooning storage costs)
    • Perma-delete images and users (maybe blurred too if the CSAM checker flagged it, so I don't need eye bleach) (Edit again, 0.19.4 might have fixed this, I need to upgrade so I'll see)
    • Federating image purges, so one purge on one server will force purge it on everyone else's
    • ~~Disabling of caching other server's images ~~ (Edit again, I see 0.19.4 just dropped which has this, so this is good). This way I'm only responsible for my own users.
    • View images that are not related to a post (DM'd messages that I'm hosting, or people just uploading images to my site)
  • Bring in a logging system into the UI itself, so I can keep tabs on the error logs. I can pipe them somewhere, but this would be a major plus as an admin
[–] [email protected] 25 points 1 week ago (1 children)

Dont forget the complete ignorance of gpdr. That shit will get you fucked over, and its not as simple to follow as it seems.

In fact, Im not 100% sure that federation works with gpdr, since you cant garantee all data will be deleted.

[–] [email protected] 3 points 1 week ago

I'm not sure it's that difficult to follow. If you offer a service in the EU, you are responsible for your server deleting personal data (or, even better, not even hosting it in the fist place!); you are not responsible for other people not deleting their copy of personal data.

But I'm not that well-informed in the actual legalese so my best understanding is the big issue is the EU's definition of "provide service to the EU" more than anything else. They seem to think that just because your users might upload a local copy of a picture of someone from the EU, even if you yourself are not allowing connections from the EU, then you are serving to the EU. And with how nazi the EU has been going lately with stuff like ChatControl, the last thing I'd want as an instance owner is to be upheld to arbitrary boomers' (lack of) understanding of technology.

[–] [email protected] 19 points 1 week ago (1 children)

but we’re at a critical point right now. It’s no longer software that is just fun side projects and building stuff that looks cool, it has some real issues now that it has a real userbase. I’m definitely one to say “But it’s FOSS, and other people can pick up and submit a PR” - but it also says something when the head devs just completely ignore a massively huge issue with it.

This is a general issue I think, not just for lemmy but the whole fediverse (whatever one's opinions might be on particular priorities).

It's all non-profit and being run and built at a much smaller scale than many users would appreciate (I think). Sure there are plenty of people here, but not that many. Combined with no obvious revenue streams, such as ads or subscription fees, there really is only so much that can be done. Some time last year even the Mastodon team (by far the most successful fediverse platform) admitted that they didn't have the capacity to work on new things for a while ... they were just busy keeping things running. And they are (apparently) notorious at being slow to ship new features. Meanwhile platforms like firefish just straight up died last year.

So yea, it might be a critical point, for sure. But putting more on the core dev teams may not be the answer for the simple reason that it's just not viable in the long run.

If we enjoy the bigger community focus and open and non-profit organisations that makeup the fediverse, the "answer" at this critical point might be to find a way to give back somehow ... to organise, build communities, run fund-raising campaigns, think of ideas for more sustainable funding, find devs who can help etc etc. It's perhaps onerous and annoying, even to read perhaps ... but this is likely the tradeoff we have to make for a place like this.

[–] [email protected] 5 points 1 week ago (1 children)

I fully understand that, and I explained it in my reply to nutomic. It's not that I wanted to just pile on, but rather at an emergency like that, an all-stop would have been justified in my opinion, to stop all work and go into emergency "What can we all do to stop this and prevent it". All other issues were secondary in that moment compared to stopping CSAM, and it didn't feel that way. They added it to the pile of issues, and I'm glad to see changes came out, but in that moment I didn't see much if any support from them

load more comments (1 replies)
[–] [email protected] 12 points 1 week ago* (last edited 1 week ago) (1 children)

But yeah, the moderation tools have to be the worst. Lemmy has an amazing development group that’s separate from the main developers who have patched together a good set of tools, from automods to CSAM and illegal scanning, huge props to them - but these issues are routinely ignored by the main devs. I was shocked, honestly shocked that when we were under CSAM attacks that there was not an immediate roundtable of the head devs to try to solve the problem officially. Here was a problem that 99% of countries would immediately and gladly throw us, the instance admins, in jail over and they just handwaved it away. In fact, I don’t know that there was ever an official post about it, or even that there are things coming to help with it.

My impression at the time was that admins were handling the CSAM wave just fine with existing mod tools and through Matrix chats. A roundtable wouldnt have solved anything except make people feel good. Besides we still were extremely busy at the time to scale up Lemmy and resolve problems revealed by the huge amount of new users. Keep in mind that Lemmy is still at version 0.x which means that its not feature complete. So if something is missing that you find important, consider waiting a year or two and checking back then. Or get it implemented yourself, thats what open source is all about.

That said most of the features you mentioned have already been implemented, including a list of all locally uploaded images.

[–] [email protected] 12 points 1 week ago* (last edited 1 week ago) (2 children)

I was not handling it fine, it was generally chaotic, and in the Matrix chats I remember it being chaotic, for both attacks. Luckily by the second one we had db0's tooling to help a bit more, but there still many of us who were exposed to the images. We lost a lot of instances during those two attacks from admins who justifiably didn't want to take on the risk.

I completely understand how crazy it was, but the lack of response from you guys was disheartening, it really did make me wonder if I should continue hosting or if I should bail out. Ultimately, I decided to stay obviously, but had to do some hard extra steps, like reducing privacy and registering with the feds for CSAM.

So like I said, I'm torn. I respect you guys for everything you do, but that was a moment where all other development should have stopped to immediately address a real problem, and while you think a roundtable would have just been feel good, I think we could have kept a lot of instances online if it had been done. Assurances that yes, new changes are coming, and official suggestions like "Here are the endpoints to delete the images", or nominating db0 or someone as the person in charge of the outbreak. It was honestly a scary time, and for us owners who accept a lot of risk, for many of them it was too much.

Anyway, I have a habitual case of foot in mouth disease, so it was immediately after posting that comment that I heard about 0.19.4, and immediately felt stupid. I tried it last night but I kept getting timeout errors and something about "Could not get user's /inbox" or something, I'll try 0.19.5 today. Thank you for bringing additional mod tools, they've been hugely needed. I know they're not glamorous to make, but they keep the communities healthy and strong.

Edit: 0.19.5 also failed. I wrote up a github bug on it, until then I unfortunately have to stay on 0.19.3 https://github.com/LemmyNet/lemmy/issues/4850

[–] [email protected] 8 points 1 week ago (10 children)

The entire time after the Reddit migration was extremely chaotic. I dont remember when exactly the CSAM attacks happened, but around that time we were already very exhausted from all the urgent work we had to do on scaling, patching security vulnerabilities and fixing countless bugs. I also dont remember receiving any requests from admins to help out with this. So if you notice something similar in the future, feel free to message me directly. Anyway we are only two people working full-time on Lemmy, and have lots of different tasks to take care of. So it gets very difficult to give everything the attention it deserves, and to prioritize things correctly.

load more comments (10 replies)
load more comments (1 replies)
[–] [email protected] 8 points 1 week ago (1 children)

The introduction of a plugin system seems interesting here, though it's still alpha and basically looking for feedback from would-be plugin developers

AFAICT, there's no established way for a plugin to surface affect the UI, which would be a somewhat unwieldy problem anyway due to the apps and frontends ecosystem. Probably the best path for any plugin that provides a UI would be to have a system for aggregating links to plugin UIs.

With something like that in place, plugins and other services that just use the DB/API, could really go a long way to filling these holes, if they haven't already.

So it seems that the work needed here is perhaps "distribution" work ... where there's a more "plug and play" Lemmy distribution with plugins etc bundled?

[–] [email protected] 4 points 1 week ago (1 children)

This is what excites me the most. There are huge potentials for plugins, and I think it'll ease some of the strain from the core engineers. Most of the "ideas" I see posted really could be plugins. Things like badges on posts, verification of links, etc etc could all be plugins that individuals could make. The problem with developing against the core repo is that you have to learn and understand the core repo, so you don't fuck up something else in some other place accidentally. Plugins are a neat way where we can say "I'm a function that does one thing, just do the thing here, and then do what you need to with that data"

load more comments (1 replies)
[–] [email protected] 68 points 1 week ago (2 children)

When I started working on PieFed I was all enthusiastic about the idea of moderation tools. But when it came time to actually code that functionality it was like pulling teeth. Just. Sooo. Boring. It took weeks longer than it should have, for that reason. This was really surprising to me because I'm deeply passionate about moderation and 'gardening' a community.

That's the thing about open source, people just do the fun stuff. There's always some fun stuff to do which distracts from the boring-but-necessary.

[–] [email protected] 22 points 1 week ago

Not just that its boring, mod tools also require a huge amount of work because you need to make changes across all parts of the code (database, api, federation and frontend).

load more comments (1 replies)
[–] [email protected] 42 points 1 week ago (1 children)

there was a discussion about this same post before, I'll just copy paste my comment...

That post complains about not being able to view/manage images hosted by your instance, but v0.19.4 already fixed that last week? So that kinda disproves them saying the Lemmy developers didn’t want it to be possible. Also the post complains about the amount of storage used by caching images but that was also fixed/improved in v0.19.4

[–] xantoxis 23 points 1 week ago (1 children)

I'd really love it if people stop saying "it's by design" when they can't point to any motivation for that design. When the quoted admin says "thinking this is by design" this is equivalent to saying "Lemmy developers prefer that there be no image moderation tools."

Like, what. Why would they want that. They clearly don't want that. They're working on changing that.

[–] [email protected] 25 points 1 week ago* (last edited 1 week ago) (22 children)

It's very hard for people to accept that there are other things that may need to be worked on before their requested fix/feature. Every big project has a huge backlog of issues/feature requests, you can't do them all in 1 day or even 1 year. Especially with low funding lol.

load more comments (22 replies)
[–] [email protected] 31 points 1 week ago (3 children)

Lemmy is heavier on the cpu than for example mastodon or matrix are but a lot less on the harddrive. Its insane. I use matrix the most, then lemmy, then mastodon. Still, mastodon sucks hdd like crazy, matrix as well. Only lemmy is easy on the hdd.

Of course I‘m running private instances. You can never know why public instances go bonkers. Maybe someone is abusing it for other things.

Anyway, lemmy does have some moderation tools but I agree. They need work. You have to know a lot about linux, databases and have to figure out a lot of stuff if you have problems with lemmy. Thats not okay.

But as always with foss. If you run a public instance, you should accept donations and if they dont cover the costs so you can pay someone to make a fork for you that has what you need, you might be doing something wrong.

[–] [email protected] 11 points 1 week ago (3 children)

It would be interesting to investigate why Lemmy has high CPU usage. In principle it should be quite efficient as its written in Rust. Its also not doing anything particularly performance intensive, unless you are subscribed to lots of communities or have lots of users.

[–] [email protected] 9 points 1 week ago (1 children)

From other comments I read, the database seems to be the issue, not lemmy. Is uses postgres and that uses the resources. Lemmy itself is no problem.

[–] [email protected] 12 points 1 week ago (2 children)

I suppose there is still room for database optimization then, but its hard to find people who know how to do this.

[–] [email protected] 6 points 1 week ago

Hi there! Thanks for taking the time to answer my comment. You folks are doing incredible work and I wanted to say thanks! :)

Sadly, I‘m not a database expert, otherwise I would help. So donations are the only form I can help with at this point.

[–] [email protected] 3 points 1 week ago

Ain't that the truth! I struggle for the same reason on the AI Horde ;_;

[–] [email protected] 7 points 1 week ago (1 children)

Here it isn't so heavy on CPU, but the database eats RAM like crazy. My guess would be that their server is constantly swapping out stuff from RAM due to insufficient surplus RAM and this as a result creates the high CPU load.

load more comments (1 replies)
[–] douglasg14b 3 points 1 week ago* (last edited 1 week ago)

The language it's written in has very little, almost nothing, to do with how efficient larger applications are.

This is almost entirely up to the design and day-to-day decisions of the developers. These almost always outweigh the efficiencies of the underlying languages themselves (within reason).

A single location of poor data access patterns could negate the aggregate performance gains of your entire application, as an example. A framework that prevents you from making simple mistakes and drives you towards more efficient patterns goes much further than the language is written in.

Between Rust, C#, Java, and Go you're essentially even on performance for large applications (with C# pushing ahead of the pack). What you are not even on is engineering efficiency, it's going to take considerably longer to build the same set of features in rust than any of the others listed. And the performance is likely the same, potentially even worse depending on the maturity of the ecosystem.

Rust is a great systems design language and a great language to choose when developing high efficiency libraries & frameworks for I/O and data processing. It's not really a great choice for application development due to how slow it is to actually get things done in.

I fully expect to see alternate backends written in more operationally efficient languages over the next decade that will catch up to the official Lemmy codebase, and potentially even replace it. It actually sounds like a super fun project, funding is always a problem though.

load more comments (2 replies)
[–] [email protected] 30 points 1 week ago* (last edited 1 week ago)

well, kbin is somewhat defunct. mbin is under active development, and many of these things are on their radar. moderation tools are coming along, user list is not really an issue. they even got mfa workin!

these applications and the environments they are building are in their infancy. instance admins cannot expect a mature product, or that they wont need to get their fingers dirty to implement features they want. lemmy is at what, 0.19.4?

the image caching/filtering is good example of an ongoing concern 'verse-wide. as the lemmy devs pointed out, if this is a solid concern as an admin you would implement file scanning. if you absolutely want to use lemmy and need a user list, build it.

this shit is not turn-key

e. ive been running mbin at https://moist.catsweat.com almost a year

[–] [email protected] 27 points 1 week ago* (last edited 1 week ago) (1 children)

Good riddance to burggit. Manny legitimate complaints but absolutely good riddance.

[–] [email protected] 8 points 1 week ago (1 children)
[–] [email protected] 26 points 1 week ago* (last edited 1 week ago)
[–] [email protected] 27 points 1 week ago* (last edited 1 week ago)

I'd just like to point out that most of the complaints referenced in this post are at least partially being addressed with the latest release of Lemmy, 0.19.4

From the release announcement

Image Proxying

There is a new config option called image_mode which provides a way to proxy external image links through the local instance. This prevents deanonymization attacks where an attacker uploads an image to his own server, embeds it in a Lemmy post and watches the IPs which load the image.

Instead if image_mode is set to ProxyAllImages, image urls are rewritten to be proxied through /api/v3/image_proxy. This can also improve performance and avoid overloading other websites. The setting works by rewriting links in new posts, comments and other places when they are inserted in the database. This means the setting has no effect on posts created before the setting was activated. And after disabling the setting, existing images will continue to be proxied. It should also be considered experimental.

Moderation enhancements

With the URL blocklist admins can prevent users from linking to specific sites.

Admins and mods can now view the report history and moderation history for a given post or comment.

The functionality to resolve reports automatically when a post is removed was previously broken and is now fixed. Additionally, reports for already removed items are now ignored.

The site.content_warning setting lets admins show a message to users before rendering any content. If it is active, nsfw posts can be viewed without login, after consenting.

Mods and admins can now comment in locked posts.

Mods and admins can also use external tools such as LemmyAutomod for more advanced cases.

Media

There is a new functionality for users to list all images they have previously uploaded, and delete them if desired. It also allows admins to view and delete images hosted on the local instance.

When uploading a new avatar or banner, the old one is automatically deleted.

Instance admins should also checkout lemmy-thumbnail-cleaner which can delete thumbnails for old posts, and free significant amounts of storage.


As you can see, there were many improvements to the moderation tools and image hosting UX/storage requirements. There's obviously still room for improvement, but everything else out there has glaring issues as well. Mbin/PieFed are even less polished than Lemmy at this stage, although they are progressing quickly.

Also worth noting that most of the replies to the first post express a strong user preference for Lemmy over Sharkey.

[–] [email protected] 19 points 1 week ago

This is why I made Lemmy Post Purger (LPP).

[–] [email protected] 15 points 1 week ago

I haven't had big problems honestly. Still have less than 100GB of storage, which is like 0 dollars on object storage.

I found it very easy to start with the ansible setup and later changed to self managed docker. I even moved servers once and it worked fine.

Overall I haven't had any issues, but I'm also a software engineer so maybe I know more than others. There are some missing features for sure, but I don't think it's so bad so far at least.

[–] [email protected] 13 points 1 week ago

This Lemmy instance is much harder to maintain due to the fact that I can’t tell what images get uploaded here, which means anyone can use this as a free image host for illegal shit, and the fact that there’s no user list that I can easily see. Moderation tools are nonexistent on here.

0.19.4 provides a way to see uploaded images (although not the best) but this version was only recently released so I can see where the frustration is coming from especially since the CSAM attacks happened nearly a year ago. At the time, I had to make a copy of pictrs, view everything on a file manager, and manually remove those images. People can still upload images without anyone seeing it however.

It also eats up storage like crazy due to the fact that it rapidly caches images from scraped URLs and the few remaining instances that we still federate with.

This was fixed in 0.19.3 (released 7 months ago) where you can disable image "caching". This has solved storage costs for us together with pictrs' image processing.

plug in an expensive AI image checker to scan for illegal imagery

It's unfortunate that we need this. Not everybody has the resources to run fedisafety nor does everyone live in USA where they can use Cloudflare's CSAM scanner. I think a good way to deal with the issue is to have images that are not public, not be stored (or have no private images at all). This way images can be easily reported.

Overall, I understand the frustration and to some degree I also feel the same but I also limit my expectations considering the nature of the project.

[–] Glowstick 12 points 1 week ago (2 children)

What are the big mbin instances? I can't seem to find any

[–] [email protected] 13 points 1 week ago (1 children)

mbin.social ;-)

https://mbin.fediverse.observer/list https://fedidb.org/software/mbin

we're "spread" out on purpose to avoid becoming an unwieldy behemoth like kbin.social...

[–] [email protected] 10 points 1 week ago

fedia.io is the largest one

[–] [email protected] 4 points 1 week ago (5 children)

fedia.io is the biggest one and the one I'm using, there's also kbin.run and kbin.earth

load more comments (5 replies)
[–] [email protected] 11 points 1 week ago (1 children)

Only the storage usage has been a problem for me, but that is much easier to handle now. I do wish there was some better documentation for exactly that.

[–] [email protected] 4 points 1 week ago (1 children)

Should there be something like a lemmy admin's community for talking about the ins and outs of running a lemmy instance? Something like that over time can be some sort of band-aid for missing documentation (it's searchable etc).

I'm aware that there's the matrix room and a lemmy support community ... but maybe just opening things up to any chat about hosting lemmy in one place could actually help (in part because you can easily search specifically within one community).

[–] [email protected] 6 points 1 week ago

There is documentation, if anything is missing we definitely appreciate contributions.

https://join-lemmy.org/docs/administration/administration.html

https://github.com/LemmyNet/lemmy-docs

[–] [email protected] 6 points 1 week ago

I used to do a pretty frequent task to find any image in my media directory, which has atime longer ago than a week ago, which hasn't already been crunched in some previous round, and crunch the hell out of it with either mogrify -quality or pngquant. All of these softwares like to keep full-quality copies of a basically infinite number of images which there's about a 99.9% chance will never be needed again, and you can crunch them down to a tiny fraction of their original size, and they still honestly look more or less fine.

[–] [email protected] 5 points 1 week ago

I'm not sure about the software always breaking, I haven't had this issue. I will say though this most recent update (19.4) has me frustrated, mainly because the instructions are clear as mud (especially pictrs 0.5). Once I get it figured out I'll have to post a real upgrade doc instead of what is currently available. I have never seen the lemmy matrix as busy as it is now with upgrade questions and puzzled admins.

[–] [email protected] 3 points 1 week ago (1 children)

How does piefed compare python/flask is far easyer to develop I really think moving away from developer with such extreme politics is a good idea.

load more comments (1 replies)
load more comments
view more: next ›