Skip Navigation

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@lemmy.ml , SleeplessOne , or @phiresky@lemmy.world 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@lemmy.world 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.

435 comments
  • Do you think Lemmy is decentralized enough right now, or are you worried about some of the bigger instances growing too much?

    • Its definitely a concern. IMO the lemmyverse is far too centralized at the moment. The big questions are:

      1. Is there a trend toward centralization, or away from it?
      2. How are people being introduced / onboarded onto lemmy?
      3. What can we do to combat centralization?

      (1) I'm honestly unsure, and I'd def appreciate if anyone has done a study of it. We've seen a big growth in single person / smaller topic-focused instances, which is a great thing, but if their communities aren't growing, we need to figure out how to reverse that trend. I'd have no problem with the current large instances, including this one, as long as the long-term-trend is away from them.

      (2) Is mostly word-of-mouth, join-lemmy.org, and apps / web-ui's which show an instance by default.

      We've made the sort for the join-lemmy.org instances page be by random active users, and tried to emphasize on that page that it doesn't matter which instance you join, since most federate, and can subscribe / connect to any community. I hope that helps, and we need to replicate that wherever we can.

      Apps and webUI's mostly just show lemmy.world rn, where they should show random instances. I'm guilty of this in Jerboa as well (showing lemmy.ml by default), and I've just opened up an issue that it should be showing a random server for anonymous users.

      But I think we need to do more, and I'd def appreciate yours and anyone else's ideas on how we can combat centralization. We need to get ahead of this problem before it gets worse.

    • I think its totally normal that instance sizes follow a power law distribution. Its similar to many other things, for example there are few large cities, some medium cities and lots of small cities. The wiki article lists many other examples. So I think its fine as long as there are no intentional attempts to lock in users into large instances or limit federation.

    • The big instances are bad enough but big communities are absolute killer of decentralisation

      When you go to /c/books on your server, you don't see an agglomeration of all /c/books on all servers of the fediverse. You only see that server's /c/books, if it even has one.

      This is a fatal flaw of lemmy which concentrates power enormously into the hands of the owners.

      The default view should be all /c/books on all federated servers, with an easy way to filter only local posts.

      Lemmy will turn into reddit if this is not quickly rectified.

      • I kind of get where you're coming from, but to me it sounds like you're looking for a different experience than what Lemmy is designed for. It seems you are more interested in aggergating all posts about specific topics (like "books"), and strongly limiting the effect of moderation (as nobody would have final say about how to moderate an entire topic). If I correctly understood the experience you're interested in, then for sure the design of Lemmy will not match that.

        I don't think it's fair to describe this as a fatal flaw, though. Lemmy is not built around the idea of generic, "ownerless" topics, instead, it's built around communities with clear owners. We have decentralization at the admin and infrastructure level (as in, a single admin does not control the entire network), but this does not really mean we also need to have it at individual community level.

        IMO it's totally fine that different people create different communities with extremely similar purposes. The entire internet as a whole also works like this - the internet itself is decentralized, but at the same time people can create different websites with very similar purposes (and even domains!), and it works out fine. For example, it's totally possible for there to exist a news.com, news.co.uk, news.ee, news.fi, etc. Imagine if whenever you navigated to news.fi with your browser, it would also automatically insert content from all the other news websites of all possible domains - it doesn't really seem like a useful feature, but that's kind of analogous to what you're suggesting for Lemmy at the moment.

      • When you go to /c/books on your server, you don’t see an agglomeration of all /c/books on all servers of the fediverse. You only see that server’s /c/books, if it even has one.

        What prevents from visiting /c/books@anotherserver?

        Genuinely asking, because this is one of the core concepts of Lemmy and federation

      • No, that defeats the entire point.

      • maybe communities should be able to flag that they're the same community as one on another server, and if they mutually do so be combined into one metacommunity that people can search for

      • I really don't hate this idea from a lemmy centric UX perspective but how do you handle federation with other platforms?

    • As someone who is on a medium sized instance, I can say its a little awkward when Lemmy[.]world goes down

  • People, avoid to ask repeated questions and keeping it one question per comment is generally better.

    • Yes thank you. Sometimes it feels a bit overwhelming when there are 10+ questions in a single comment, and each of them requires a little essay.

    • also people should search the issues on github, a few of these questions already have issues filed with discussions in them, put a thumbs up on a github issue if it's something you want

  • Were you ever approached by any kind of organization making some weird proposal regarding lemmy?

    • Some company (dont know which) wanted to make a one-time donation of 500 Euros to get listed as donor on join-lemmy.org. Rejected because thats only for recurring donors. Does this count as weird?

    • A few, mostly harmless tho, just about working on pet features they'd like to see in Lemmy. None panned out.

      I imagine the more parasitic companies avoid us as soon as they see the AGPLv3 license.

  • Is there an official roadmap for Lemmy?

    What are the current needs of the project, if any? For instance, are you currently looking for skilled or financial contributions?

    • Check the updated OP. We can definitely use more donations, at the moment we are getting around 4000 Euros per month which is not much for two fulltime devs. And code contributions are also helpful, there is an almost endless amount of open issues.

  • In your opinion, what are the top strengths and weaknesses of Lemmy at this point in time?

    • Strengths are federation, comment threads, mod tools, app ecosystem.

      Weaknesses are lack of notifications, DB code, and lack of funding / donations. We need to support much more that just one or two devs if we want to take on reddit, which is a multi-billion dollar company with hundreds of employees.

      I discuss more things I'm going to work on this year in this comment

    • Strengths: Its open source, decentralized and working quite reliably

      Weaknesses: Theres not enough funding/developers to keep up with all the issues

  • 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.

  • As developers, what can we do (or not do) to best support Lemmy’s vision and goals right now?

    • Go through the issue tracker for lemmy or lemmy-ui and look for some simple bug or minor feature that you care about. Then look for the relevant part of the code and try to fix it. You can also make a comment or post in the dev chat on matrix if you need help. Honestly there are so many issues which could be solved in less than an hour, especially in lemmy-ui. That way you can make Lemmy better and also get familiar with the code to make larger changes in the future.

    • First, thx for working on LemmyNade! The ecosystem of apps growing up around lemmy, learning from and benefitting each other, is really great to see.

      The main thing would be to get involved with lemmy's back-end code. Even if you're not a back-end developer, its still useful to us to learn from devs about wanted features, API improvements, and bugs. Many app devs have suggested features that I've tried to implement based on their usefulness, because it used to be just myself who was the one requesting and adding things on both sides.

  • 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?

  • This is for all Lemmy devs:

    Talk a bit about yourself, likes and dislikes.

    Musical taste, movies, whatever, just willing to know a lil more about you as persons

    • I mainly like Hip-hop, but also good music from other genres. I like all sorts of movies if they are well made, but especially adventure and comedy. Since the quality of Hollywood movies has gone steeply downhill, I mainly watch movies from different countries across the world, and older movies from the 70s or so. I also like video games, at the moment Im playing Baldurs Gate 3 as everyone was praising it on Lemmy (and they were right its a great game).

  • 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 ;)

  • Is there any new p2p/decentral technology that is trying to advance beyond federation?

    It would be cool to have a generic framework to make web resources that are inherently decentralized without the need for sponsor and hosting.

    Like IPFS but as a social site. Everyone helps partially host content in exchange for access to all the content.

  • What has been the most rewarding part of working on Lemmy for you guys?

    • The fact that there is no boss telling me what to work on. Instead I get to decide myself whats most important. Last year before the Reddit migration I was temporarily working for a company, and it was extremely demotivating to be told how to do every little thing as if I were a junior developer.

    • As a software dev, mainly that people enjoy using it.

      99% of the proprietary software work I did for companies was work that was societally useless, and eventually thrown in the trash. Here I get to make software that improves peoples lives in a tiny way, and is a form of social media that hopefully 🤞 doesn't destroy people's mental well-being: is easy to put down, and enjoyable to use.

      • If you haven't read the book "bullshit jobs" yet, I really recommend it. Encapsulates this mentality very well

  • Is federated authentication being considered for the future? The federated model of the fediverse is great, but it runs into problems when instances “die”, you want to access different servers as they federate with different things, etc. leading to the need of having multiple accounts. If there were a decentralized network of auth servers, could use the same credentials everywhere.

    • Then your (hashed) password would have to be copied to all servers, and the email as well for password reset. Seems very problematic for security.

    • No, Activitypub isn't based on a migrating authentication / single-sign-on model, but on server-to-server communication.

      Instances with many users already on them dying should be a rare occurrence, and its unfortunate that it happens not just for us, but in the whole fediverse.

435 comments