Lemmy Developer AMA and Dev Update, 2024-01-26, 1500 CEDT

This is a chance for any users, admins, or developers to ask anything they’d like to myself, @nutomic , SleeplessOne , or @phiresky about Lemmy, its future, and wider issues about the social media landscape today.

NLNet Funding

First of all some good news: We are currently applying for new funding from NLnet and have reached the second round. If it gets approved then @phiresky and SleeplessOne will work on the paid milestones, while @dessalines and @nutomic will keep being funded by direct user donations. This will increase the number of paid Lemmy developers to four and allow for faster development.

You can see a preliminary draft for the milestones. This can give you a general idea what the development priorities will be over the next year or so. However the exact details will almost certainly change until the application process is finalized.

Development Update

@ismailkarsli added a community statistic for number of local subscribers.

@jmcharter added a view for denied Registration Applications.

@dullbananas made various improvements to database code, like batching insertions for better performance, SQL comments and support for backwards pagination.

@SleeplessOne1917 made a change that besides admins also allows community moderators to see who voted on posts. Additionally he made improvements to the 2FA modal and made it more obvious when a community is locked.

@nutomic completed the implementation of local only communities, which don’t federate and can only be seen by authenticated users. Additionally he finished the image proxy feature, which user IPs being exposed to external servers via embedded images. Admin purges of content are now federated. He also made a change which reduces the problem of instances being marked as dead.

@dessalines has been adding moderation abilities to Jerboa, including bans, locks, removes, featured posts, and vote viewing.

In other news there will soon be a security audit of the Lemmy federation code, thanks to Radically Open Security and NLnet.

Support development

@dessalines and @nutomic are working full-time on Lemmy to integrate community contributions, fix bugs, optimize performance and much more. This work is funded exclusively through donations.

If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider donating to support its development. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.

9point6,

Firstly, thank you so much for providing the means for me to cut Reddit out of my life, I feel like I’m engaging with content in a much more deliberate way since, and honestly it’s been a massive improvement to my mental health in a way that I was completely oblivious to there even being a problem before.

Anyway, the question—regarding things happening entirely out of your control, what would be the best and worst things that could happen to lemmy from your perspectives? And as an extension, what are your goals for it?

can,

Couldn’t agree more. I’m still hopelessly addicted to the format but at leat now I’m sticking it to the man at the same time lol.

dessalines, (edited )

Thx! Its pretty wild to me how much these algorithms, and formats, affect our mental well-being. Those giant US tech companies employing Psychology PhDs to figure out how to keep people angry, engaged, and watching ads, is doing so much harm to so many people, not just in the US, but the whole world, and unfortunately very few countries are doing enough to protect their people from these companies (who also act as surveillance arms of the US state) by blocking facebook and the rest.

I’ve seen two professors I respected turn into angry children on twitter, in a way that would never happen in real life. Reddit, twitter, and Youtube platform reactionary rage-bait to get people trapped in a downward spiral of negativity. These companies do not care how much damage they do; all that matters to them is their profits.

We don’t have those same incentive structures, so we can and should be doing everything we can to make this a positive and enjoyable experience, not about arguing constantly, but about learning, laughing, and understanding.

what would be the best and worst things that could happen to lemmy from your perspectives? And as an extension, what are your goals for it?

The best thing would be that we continue our slow and steady growth. Every user that migrates away from big tech to the fediverse is victory, so while we shouldn’t emphasize growth at any cost, its still a good thing when we can get people away from all that negativity.

The biggest concern for me about Lemmy, would be a centralization onto one big server, that tries to replicate all the worst things and behaviors about reddit: its combativeness, xenophobia, bigotry, pro-US-foreign policy agendas, and advertising. There is a noticeable chunk of Lemmy’s users who don’t really see any problem with those things, they just want a reddit that lets them use 3rd party apps again.

nutomic,
@nutomic@lemmy.ml avatar

The best thing would be if Reddit goes the way of Digg. Seems that will happen sooner or later. The worst thing, maybe if funding stops and we are unable to keep working on Lemmy. But even then admins could still host Lemmy instances.

Tangentism,

The best thing would be if Reddit goes the way of Digg.

Well, it has already. The only reason it hasn’t fully imploded & all the users deserted for another site, is because there wasn’t an equivalent place to go to.

They were sort of parallel in development but digg blew up and Reddit didn’t then Digg took a quick hard turn towards enshitification.

Reddit has done the enshitification but like a parasitic infected spider, it’s wandering about and most of the users haven’t realised yet that it’s an empty shell.

It’s slow demise would be better in the long run than a quick collapse like Diggs so it’s now putrid culture is not transmitted with an enmass exodus.

dullbananas,
@dullbananas@lemmy.ca avatar

Are you incentivized by the burning smell of Reddit like I am?

dessalines,

Hell yeah 🔥

Ludrol,
@Ludrol@szmer.info avatar

I didn’t ask early enough but I will shoot anyway.

What you intend to do with !anime? There isn’t an active mod there and community is unwilling to continue using it due to defederation with ani.social The problems with community will keep arise due to very nature of Japanese animation and differences in acceptable social norms in western world.

Grayox,
@Grayox@lemmy.ml avatar

Why did they defederate

ForumYesterday,

It’s a known pedophile instance.

Ludrol,
@Ludrol@szmer.info avatar

lemmy.ml/post/10284661

No clear reason stated.

sabreW4K3,
@sabreW4K3@lemmy.tf avatar

Will it not get another moderator or just fall into disuse?

Ludrol,
@Ludrol@szmer.info avatar
  1. No one in anime community is willing to fight with the admins on where is the line beetween degeneracy and illegality when admins are not even familiar with the subject matter.
  2. The bot that posts important anime stuff is hosted on ani.social that was defederated from lemmy.ml and is unusable in the community.
sabreW4K3,
@sabreW4K3@lemmy.tf avatar

Well the bot issue can be overcome with a new bot. Unfortunately the first issue is one that can only really be sorted out with a new instance.

hendrik,

Since I read a few comments here… What is your oppinion on more democratic platforms? I mean something like electing moderators. (Or dropping them in a democratic process.) Or voting for other things in a community.

(This is more a hypothetical question. I guess with the architecture as is, it can easily be exploited. And there is no way to implement this properly without severe changes and consequences.)

dessalines,

We’ve talked about it elsewhere, on github and one of these Q and A’s, but the main thing is that these things can be easily gamed. IE: making a ton of fake users to vote for a malicious mod.

There’s a ton of ways that could be exploited that I can’t think of rn. I’d rather not stress test them in lemmy.

calavera,

Hi again,

1 - Now that there are multiple apps for lemmy, wouldn’t be better to handover jerboa to someone else and focus more on core lemmy?

2 - How was the inception moment for lemmy? When and how did you decided to leave reddit and create something new and how was the first couple months?

Thanks and come to Brazil ;)

dessalines,

Thx!

  1. Jerboa has another major contributor now besides me. But I’d also like to keep a hand in it, simply because I made it and its also the main app I use for lemmy. Besides a few other people, no one has stepped up to get involved with it enough that I’d. Plus I’d eventually like to add it to the LemmyNet repo, as it will soon implement all of the features in lemmy-ui, making it an “official” and native app.
  2. Reddit has been banning communist / leftist communities for a while, so a lot of us were looking at different reddit alternatives. I found that none of them had a great tech stack, none of them had federation, and a few were unwelcoming to contributions. It made sense to do a “what if reddit, but open source, made in rust, and self-hostable”. It was a great opportunity to teach myself rust also.
iso,
@iso@lemy.lol avatar

Seeing my PR here made me feel good. 3 months and ~60 commits for only one lil field was too much 😅

It’s very nice and reassuring that all the commits are audited subtly though.

sabreW4K3,
@sabreW4K3@lemmy.tf avatar

Congrats on your first pull request!

SovietReporter,

When are we getting polls in a similar format that Reddit does? I would love to have those!!

dessalines,

No specific time, but they are in the linked roadmap for this year.

0x2d,

nice!

SovietReporter,

Could the imperialist power take down lemmy if they really wanted to?

Alsephina,

Assuming this isn’t a bit they would most definitely try and probably succeed in taking down any platform that poses a real threat to Capital^TM^

But I doubt lemmy will get that massive anytime soon as cool as that would be lol

OnlyTakesLs,

Should there be a way for users to formally protest mods? Or admins?

nutomic,
@nutomic@lemmy.ml avatar

I dont know, should there?

Blaze,
@Blaze@discuss.online avatar

I’m curious too, depending on the instance, users can general escalate to admins, and then leave the instance if necessary.

Alsephina,

Well right now a user can already just message the admins about any problematic mod and let them decide so…

SovietReporter,

Yes!!! Mods becoming crazy with power is a real thing!!

dessalines,

I don’t think we should bake in anything to the software, but instances having meta and feedback communities are a good idea.

BoisZoi,
@BoisZoi@lemmy.ml avatar

Can there be an option to view deleted/removed comments? (this setting a user could configure in settings)

I can understand why mods want to remove comments, but being able to see the text that was removed could be very useful. At the moment, the only way to do this would be having each post uploaded to internet archive, and hope many other lemmy users do the same thing.

dessalines, (edited )

There are open issues to see report counts, and view all reports for an item. They’ll likely be finished this year.

diamat, (edited )

First of thanks a lot for the effort that you put into creating lemmy. You have created a really friendly and welcoming place!

I have a question regarding licenses. When you started developing lemmy, what were the reasons for your choice of the AGPL? As you are marxist-leninists, did you also look into other licenses like the the Anti-Capitalist Software License?

dessalines,

To me, AGPL is the most pragmatic choice. As a hard copy-left license, it enforces derivative works to adopt the same license, unlike the more open and “soft” copy-left licenses that let corporations capture and digitally enclose your labor as they see fit.

nutomic,
@nutomic@lemmy.ml avatar

AGPL was already used by most existing Fediverse platforms, and ensures that all code changes need to be published. Its basically an improvement over GPL which also takes effect when the software is hosted on a server, not running on the user’s computer.

The Anti-Capitalist Software License is not an open source software license.

That alone rules it out.

hendrik, (edited )

How’s development going? Do you have enough funds to pay your salaries? Did the EU fund run out? What’s your workload? Is the amount of full-time developers enough to work on new features? Or is it barely enough to keep up?

How do you like Lemmy and the people on it? (As of now)

nutomic,
@nutomic@lemmy.ml avatar

We are getting about 4000 Euros per month which is not much to pay for two developers, so more donations would definitely be nice. From NLnet Dessalines and I still have a few milestones leftover from 2022 but those should be finished very soon. We could definitely use more developers, its impossible to keep up with all the issues so we have to try and prioritize the most important ones.

The people on Lemmy are generally very nice, so I cant complain.

Obi,
@Obi@sopuli.xyz avatar

I see you think in euros, where are you guys from?

nutomic,
@nutomic@lemmy.ml avatar

Im from Germany, living in Spain.

Obi,
@Obi@sopuli.xyz avatar

Nice, hope you are enjoying the fair weather and delicious food :) keep up the good work. Guten tag!

hendrik,

Have you put measures into place to assure the quality of future updates? In the past several updates have caused issues. And recently 0.19.x broke federation for the most of us. And it took weeks to fix it and make Lemmy usable again.

nutomic,
@nutomic@lemmy.ml avatar

We publish multiple release candidates and run them on lemmy.ml before the final release. That allows the community to test changes. We dont have a quality assurance team, and developers are notoriously bad at testing their own code, so I dont see what we can improve in this regard.

hendrik,

developers are notoriously bad at testing their own code, so I dont see what we can improve in this regard.

Sounds like software development… I mean automated tests help. But you’re developing a distributed/federated platform. Unit tests won’t do it. Maybe infrastructure that spins up a small fleet of instances and checks their ability to federate posts, delete comments and simulates interaction. That’d assure the most important aspects keep working. And I think there are tools for that available. But I get it. It’s complicated, there are real-world instances with special (niche) setups, you’re constrained, it has to be worth the effort and there are other important things to do.

Maybe just do your best not to break too many things and we (users) can complain and have another discussion only if it’s a reoccurring problem. 😉

nutomic,
@nutomic@lemmy.ml avatar

We have lots of unit tests, and also a test suite which launches a couple of local lemmy instances and ensures that they federate as expected. But it’s not possible to cover every single functionality, at least not with our limited resources. The problems all happened with things that are difficult to test and had major breaking changes in this release. In the future we won’t need such breaking changes so there will be less problems.

Also keep in mind that Lemmy is provided for free and as is. We have no legal obligation to users. And you can always stay with an older version if you want more stability.

hendrik, (edited )

Thank you very much for explaining, and the whole AMA.

Concerning the “providing the project for free”… I think that’s too simplistic. I mean users have expectations anyways. And you must have some motivation to maintain an open source project. Otherwise you wouldn’t put it out there, engage with your users, fix their issues and incorporate their requests. Or you’d make that clear in the first line of the Readme as some people do.

I think open source is giving and taking. It’s not about legal obligations (we usually waive every responsibility in every open source license.) But perhaps ethically. I as a user feel obligated to honor and respect your work and the time you’ve put in. And I shouldn’t expect anything except for everyone abides by the license. But the devs aren’t the only one putting in time and effort. Downstream are admins who run the actual instances. There might be an ethical obligation to not waste their time either. And there are moderators and users who make the platform become alive. They also offer their time for free and are part of the ecosystem, like the developers are. And ethically it is correct to treat people nice who put in a few hours to prepare a proper pull request and work towards the same goal as core developers.

And there are a few unique circumstances. This is a social network/link aggregator. And as such it relies to some degree on the network effect. It won’t work without a certain amount of users and them being happy here. Lemmy devs seem (to me) invested in the project and not just coding something for money. So you want it to be successful and catering for users is part of the equation. Additionally the users of a social network trust the platform with their private data. You can’t take legal responsibility for that. But if you accept users doing that, it’s at least an ethical obligation to make good choices.

And the situation is: Since you have a few full-time developers… It’s not a hobby project anymore. So it’s a bit more complicated. And money might come with expectations. I personally differentiate between donations that are meant as a bounty, this money comes with obligations. And donations for the great work you’ve done so far. These come without.

I think you’re doing a good job. I especially like that Lemmy development doesn’t seem to be focused on growth above all. You could implement things differently and completely focus on not showing user-facing issues, in order to assure fast growth. Or write a Reddit clone like some people would like, including gamification, awards and stuff. But you don’t seem to be interested in that. And that aligns well with what I like. I want a nice place to engage with people. I don’t need another platform that is commercial and does things in order to be successful at the market.

I’m grateful. There are still bugs and a few more complicated annoyances I’d like to see being addressed. But I really enjoy spending some of my time here.

hendrik, (edited )

When do we get advanced moderation features? And for example the ability to block all users from a single instance to prevent for example brigading? I mean for the user, so we don’t have to rely on defederation so much.

Are you planning to revamp defederation? I mean it’s rather complicated the way it works and the triangle that is the user’s instance, the other user’s instance and the instance the community is located.

What about features like automatically kicking of moderators / revoking their ownership. In the early days of the Reddit exodus, some people reserved lots of communities just so they’d be the owner of the community, but they don’t do anything with it. I think admins mostly already dealt with that. But there are ideas floating around to migitate for things like that and other common annoyances. I think good moderation is key (and the tools that go with that and the whole architecture of the platform should favor a good atmosphere.)

nutomic, (edited )
@nutomic@lemmy.ml avatar

When do we get advanced moderation features? And for example the ability to block all users from a single instance to prevent for example brigading? I mean for the user, so we don’t have to rely on defederation so much.

This could be added to the existing instance block feature, but so far no one has even bothered to open an issue I think.

Are you planning to revamp defederation? I mean it’s rather complicated the way it works and the triangle that is the user’s instance, the other user’s instance and the instance the community is located.

Its very simple and effective in that in prevents all network connections to the blocked instance. So I dont think it makes sense to change that, but other tools can be added on top for more fine-grained restrictions (eg user-level instance blocks in 0.19).

hendrik,

When and how are you going to address the thousands of open issues in the Github repository, that contain UI bugs, missing error messages (something looks as if it was sent for example if you send a direct message with too many characters, but actually isn’t), backend issues and other assorted bugs?

nutomic,
@nutomic@lemmy.ml avatar

When we have about a dozen more developers. So far only dessalines and i work on Lemmy fulltime, and besides solving issues we also have to review pull requests, prepare releases and much more. So its just not enough time to keep up with all the new issues let alone resolve the whole backlog.

hendrik,

Thank you. A follow-up question: You sound like most things have to be done by full-time developers. Is there a healthy open-source community around Lemmy development? Do people submit enough pull-requests to fix bugs? Do people from the community contribute a substancial amount? features?

dessalines,

We’re no different from 99% of open source projects: there are a lot of one-off contributors that just do a feature or two they’d like to have, but the vast majority of work is done by a handful of core devs. This is why you should always base your infrastructure and decisions to support those devs, rather than cater to one-off contributors.

hendrik, (edited )

I hope those wants and needs aren’t mutually exclusive. I think most open source projects do a good job in catering for both. I’m not involved in Lemmy development so I don’t really know what’s going on here. But I’ve sent one-off contribution to various projects, sometimes contributed single features or helped to sort something out. It always felt appreciated.

Sure, a drive-by commit every now and then and no responsibility is a completely different level than maintaining a (large) project and putting in that effort and dedication. I think a healthy open source project has both. Maintenance and the responsibility/decisions by a core team. And the community contributions make up by adding diversity, being close to what the user needs and adding manpower by a larger group of people, meaning the individual contributions might be smaller, but by many more people. Good communication between the devs and the community usually helps to get quality contributions.

nutomic,
@nutomic@lemmy.ml avatar

Of course contributions by volunteers are also welcome. However there are very few of those who are consistently contributing (particularly phiresky and sleepless one mentioned in op). And because they have a fulltime job their contributions are much smaller than mine or dessalines’. After the Reddit migration lots of people opened pull requests to implement new features, but most of them were abandoned after noticing how much work it takes to address review comments and actually get the pr merged. So fulltime devs seem very much preferable because they can put their full attention to Lemmy, and get a lot more done.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • announcements@lemmy.ml
  • modclub
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • cubers
  • GTA5RPClips
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • tacticalgear
  • ethstaker
  • kavyap
  • Durango
  • anitta
  • everett
  • Leos
  • provamag3
  • mdbf
  • ngwrru68w68
  • cisconetworking
  • tester
  • osvaldo12
  • megavids
  • khanakhh
  • normalnudes
  • JUstTest
  • lostlight
  • All magazines