In the last weeks Lemmy has seen a lot of growth, with thousands of new users. To welcome them we are holding this AMA to answer questions from the community. You can ask about the beginnings of Lemmy, how we see the future of Lemmy, our long-term goals, what makes Lemmy different from Reddit, about internet and social media in general, as well as personal questions.
We’d also like to hear your overall feedback on Lemmy: What are its greatest strengths and weaknesses? How would you improve it? What’s something you wish it had? What can our community do to ensure that we keep pulling users away from US tech companies, and into the fediverse?
Lemmy and Reddit may look similar at first glance, but there is a major difference. While Reddit is a corporation with thousands of employees and billionaire investors, Lemmy is nothing but an open source project run by volunteers. It was started in 2019 by @dessalines and @nutomic, turning into a fulltime job since 2020. For our income we are dependent on your donations, so please contribute if you can. We’d like to be able to add more full-time contributors to our co-op.
We will start answering questions from tomorrow (Wednesday). Besides @dessalines and @nutomic, other Lemmy contributors may also chime in to answer questions:
Here are our previous AMAs for those interested.
When will users be able to frictionlessly migrate between instances without losing their posts, their comments, their history, their relationships, their reputation etc? (Without requiring the consent of the exiting instance owner, or that this server still even exists, as they sometimes don’t)
Do you guys have plans to add a spoiler tag? I post a lot of memes about tv shows that I watch, but the users complain that the post isn’t blurred.
I know I can use the NSFW tag, but this gives the wrong idea and limits the post visibility (since people can hide nsfw posts).
More customization for site owners. I have an independent instance and there’s a lot of things on there that are confusing for people unfamiliar with the fefiverse or lemmy. It would also be nice to remove the donation beg at the top. I know Lemmy needs funding, but it makes it look like I’m asking for donations.
+1 on registration experience being the #1 issue.
Would also be cool if we could stop 404/500ing deleted posts and instead display some indication it has been deleted. See https://en.m.wikipedia.org/wiki/Principle_of_least_astonishment.
Thanks for Lemmy! 💙
Reddit has far more niche communities. There’s the saying that “there’s a subreddit for everything.”
What do you think the trajectory/timeline looks like for lemmy to develop a more robust array of niche communities (aka niche subreddits)?
It’ll likely continue to happen organically: niche communities on reddit will keep getting fed up with the changes, and migrate to lemmy.
I don’t know if we’ll ever reach a tipping point, because redditors have shown that there’s almost nothing they won’t tolerate, but its also likely they still don’t know that alternatives exist. There’s a general conspiracy of silence about most fediverse software. Even with all this recent reddit drama, not a single article bothered to mention lemmy or other alternatives. The info is out there, but interested people have to go out of their way to find it.
We’ve also added a scaled sort to boost posts from smaller / less active communities, so that should help some with discovery. It’d also be nice for instances to use the sidebar, pinned posts, or site taglines to highlight smaller communities to help them grow.
Conspiracy is a good way to describe it now that you mention it. Makes me wonder how Pixelfed managed to get so much media coverage recently.
In addition to what Blaze said, there’s a much more public desire to leave Instagram because of how publicly awful Facebook and Zuckerberg are. Spez is not really any better, but outside of our bubble people don’t really see that as much—party because he has so much less money to push his ideas outside of Reddit.
And it’s just fortuitous that unlike Twitter, Instagram doesn’t have any real competition that isn’t using Activity Pub.
Instagram is much more widely used than Reddit
Is there a way to move myself as an user from one server to another?
This is the huge disconnect between what the fediverse is and what the users actually want.
Users want the convenience of a single entity that floats around the different instances. They want to interact with community A on instance B and also commini X on instance Y.
But most clients deal with it by letting you log in with multiple users on multiple instances
I don’t follow. I’m on AZ, you’re on LW. We can talk to each other right here, in this community on ML.
Sure, account migration in some form might be nice, but we certainly are able to
interact with community A on instance B and also commini X on instance Y
A LW user can’t interact with Beehaw due to defederation
I’m pretty sure that was Beehaw’s decision to disengage. But thats freedom of association for ya.
Not really a question, but something to think about is being more strict about backwards compatibility so that people don’t get burnt out on having stuff break. Coming from this post by the Tesseract dev, who did not like the breaking changes to the v3 API in 1.0: https://dubvee.org/post/2904152
To formulate that into an actual question, do you think the changes are still worth it and you’d make the same decision to break backwards compatibility?
I would reply directly to that post, but it looks like the admin (who is also the Tesseract dev) has completely blocked federation with lemmy.ml by IP block or useragent block. So Im going to respond here to his complaints:
Lemmy didnt have a single breaking change since version 0.19 which was released 1 year and 4 months ago. And the breaking changes in that version were quite minor. Before that was 0.18, 1 year and 6 months earlier. That version only removed websockets, so most third-party app devs who used the HTTP API didnt notice any difference. Meaning the API has been almost unchanged for over three years which is quite long for a project that hasnt reached a stable version yet. 1.0 includes all the breaking changes that were held back over the years, so that we dont need any more breaking changes for a long time.
That said it would be great if we could keep backwards compatibility with the existing API in Lemmy 1.0. Problem is with all the major changes we are doing now, it would take a huge amount of work to implement this kind of backwards compatibility. If we had twice as many fulltime developers working on Lemmy this would be doable, but our resources are very limited so we have to make some compromises.
-
What is your opinion on Bluesky being more popular than Mastodone because it is easier for most?
-
Will Lemmy can become easy like Bluesky? Are there plans like that?
thanks
edit: lemmy dev replies only please
Afaik Bluesky is a for-profit company with millions in budget and probably a dozen or more fulltime employees. Of course they have much more resources to polish the new user experience, and also have an actual marketing budget. Plus in practice its completely centralized, they dont need to worry about all the difficulties that federation brings. Its only natural that they are more successful than Mastodon in the short term. But sooner or later they will also have problems when the Bluesky admins make decisions that the community doesnt like, and then there may be another migration wave to the Fediverse.
For the same reasons mentioned above, Lemmy cant become as easy as Bluesky. But the more contributors and donors we have, the closer we can get.
thanks . can I ask one more question? what should we be excited for in lemmy 1.0 (for non technical users)?
-
What are your thoughts on blocking AI scraper access? Any attempts to improve that on the side of Lemmy? Basic things like allowing to customize the robots.txt easily would already help.
I also recently tried this new AI block tool called Anubis with Lemmy, but for some reason it fails with Lemmy-ui. Might be interesting to investigate further.
Anyone that wants to scrape Lemmy would have an easier time setting up their own server, federating with everyone, and reading straight from their DB. No web scraping required. Though, web scraping defenses would be useful against general web scrapers/crawlers.
That would require the authors of these AI scrapers to actually give a f*ck. The problem is that they don’t, and just scrape what ever they can find repeatatly almost like a ddos attack on the open web.
Yup, same as they could clone git repos in one shot, but they instead crawl every single page.
How are you?
A bit tired because my whole family is half sick. Luckily the kids are still okay to go to school.
Otherwise Im excited for this AMA, because I rarely have such direct conversations with users about Lemmy. The discussions on Github are usually quite technical.
Not bad, the swiss chard and spinach I planted recently are sprouting, so that’s got me excited.
Spinach is a finicky bastard in my experience, take good care of it
From my perspective we need better Mod and Admin tools. Forum software has a lot of them but Lemmy is lacking in this department.
The key important one is being able to move posts to different communities. You’ll often get reports of posts not being appropriate for a community but there is no way to actually move it.
Which tools specifically? I ask because this is a common complaint, but 99% of the time its something we already have, that most ppl are unaware of.
The key important one is being able to move posts to different communities.
Lemmy like all federated services, can’t rewrite history, but you can already cross-post (although it would be the mod cross-posting, as we don’t let mods alter user data except to remove it). It would just take someone adding that as an issue to lemmy-ui and working on it.
It would be nice to have way for admins and mods to make notes on people. E.g. If you are giving someone a warning, you currently need to use an external tool to log the warning.
Which tools specifically? I ask because this is a common complaint, but 99% of the time its something we already have, that most ppl are unaware of.
- mod mail, so that users can reach out to the whole mod team at once, and the team can come back to them
- a more structured mod queue, allowing to filter by community. The Reddit one on old.reddit was good to help keep an overview on the mod actions to take
more structured mod queue, allowing to filter by community
The upcoming combined modlog has this, as well as other more detailed filters.
You can read through these issues related to modmail, but the short version is that it’s way out of scope for us, and not something we have time to do. Replicating private group chats is better done by other services like matrix, or using a shared email inbox.
I see, thank you for the links
What have been the biggest challenges with the project over the years, both in terms of technical and non technical aspects. I’d be interesting to hear a bit of retrospective on how has the stack’s been working out, and what surprises you might’ve run into in terms of scaling and federation. What recommendations you’d make based on that and what you would’ve done differently knowing what you know now.
2nding @nutomic, that I’m really happy with the stack.
The one that seems really magical to me, is diesel. With it we get a compile-time-checked database, that’s tightly integrated to the rust objects / code.
Every single join, select, insert, etc is checked before lemmy is even run, and it eliminates a whole category of errors resulting from mismaps.
Its made adding columns, and changing our data structures so much less error-prone than when I lived in the java-world.
Whenever we find that we’d want to do things differently, we usually do a refactor ASAP so as not to keep rolling spaghetti code. We’ve had to do this many times for the federation and DB code, and even have 2 major refactors that also add features ongoing. But luckily we’ve been able to stay in the rust eco-system for that.
As for UI, leptos didn’t exist when I built lemmy-ui, so I went with a fast react-like alternative, inferno. Its showing its age now, so @sleepless1917 is working on lemmy-ui-leptos, which hopefully will supercede lemmy-ui.
The stack is great, I wouldnt want to change anything. Postgres is very mature and performant, with a high focus on correctness. It can sometimes be difficult to optimize queries, but there are wizards like @[email protected] who know how to do that. Anyway there is no better alternative that I know of. Rust is also great, just like Postgres it is very performant and has a focus on correctness. Unlike most programming languages it is almost impossible to get any runtime crashes, which is very valuable for a webservice.
The high performance means that less hardware is required to host a given number of users, compared to something like NodeJS or PHP. For example when kbin.social was popular, I remember it had to run on multiple beefy servers. Meanwhile lemmy.ml is still running on a single dedicated server, with much more active users. Or Mastodon having to handle incoming federation activities in background tasks which makes the code more complicated, while Lemmy can process them directly in the HTTP handler.
Nevertheless, scaling for more users always has its surprises. I remember very early in development, Lemmy wasnt able to handle more than a dozen requests per second. Turns out we only used a single database connection instead of a connection pool, so each db query was running after that last one was finished, which of course is very slow. It seems obvious in retrospect, but you never notice this problem until there are a dozen or so users active at the same time.
With the Reddit migration two years ago a lot of performance problems came up, as active users on Lemmy suddenly grew around 70 times. You can see some of that in the 0.18.x release announcements. One part of the solution was to add missing database indexes. Another was to remove websocket support, which was keeping a connection open for each user. That works fine with 100 users, but completely breaks down with 1000 or more.
After all there is nothing I would do different really. It would have been good to know about these scaling problems earlier, but thats impossible. In fact for my project Ibis (federated wiki) Im using the exact same architecture as Lemmy.
Some companies use Reddit as their main forum or an established way to communicate with customers. Are there any companies that have explored Lemmy and have their community yet?
There’s a KDE one, if I’m not mistaken
Hi, I think that Lemmy is great thank you for your hard work
I actually think that given the ads and other distorsions, and thanks to federation, Lemmy is overall actually better than reddit!
Some features I miss are:
- tags
- direct messages outside Lemmy (even if not encrypted)
- better rendering of posts on mastodon (something beyond the title only). Not sure what side is responsible for this, tho!
Keep up the good work guys!
- Tags are work in progress
- Not exactly sure what you mean by “direct messages outside Lemmy”, but in version 1.0 they will be compatible with Mastodon and other platforms
- Its a known problem with Mastodon because it only renders
Note
objects properly, which are meant for short texts less than a paragraph. Lemmy usesPage
which is meant for longer text. Some platforms like Wordpress (iirc) have an option to federate even long posts asNote
so that it gets rendered fully in Mastodon, but that seems like a bad idea to me. In the end its up to Mastodon how to render different types of federated content on their frontend, so it needs to be fixed by them. Here is an entire discussion about this by developers of different Fediverse platforms (including a Mastodon dev).
Do you plan to introduce some kind of post tags into Lemmy, preferably something that will behave like Hashtags on Mastodon and other activitypub platforms? I know that Lemmy has been embedding community name as a hashtag for a while now, though having tags that can be populated by users would help discovery greatly.
Lemmy is not for microblogging, so I dont think hashtags make sense.
Well they don’t have to show up as hashtags to users on Lemmy, they can show up as their own designated tags you add to the post on creation of editing. Just some form of post tags to indicate the category of a post (could even be specific to communities like subreddit flairs) but they would show up as hashtags on Mastodon, similar to how Lemmy already embeds a hashtag of the community into posts.
Ah, post tags are currently work in progress. They are also going to be federated.