I know that Lemmy is open source and it can only get better from here on out, but I do wonder if any experts can weigh in whether the foundation is well written? Or are we building on top of 4 years worth of tech debt?

  • fermuch
    link
    fedilink
    English
    arrow-up
    17
    ·
    edit-2
    1 year ago

    There isn’t a “correct” answer, since all code has to make some choices which might have an impact in the future. There are lots of tradeoffs.

    Some points I can give you about Lemmy’s code:

    • It is written in rust, which is very fast and secure. Long-term it might make lemmy instances use a lot less resources than other activitypub servers, like Mastodon (written in Ruby – which is also fast and good, but there are a lot more opportunities to improve performance on rust!).

    • It uses Actix, Diesel, Inferno and Typescript, which are all very modern tools and all of them have a focus on long-term evolution of projects.

    • Actix receives requests from users and processes them. It is fast. Very fast. And stable. A very good choice IMO.

    • Diesel is stable and a very good way to communicate to the database.

    • Inferno is the most bleeding edge of all technologies, but seems to work OK with lemmy. I’ve never used it professionally so I don’t have an opinion on it.

    • Using typescript from day 1 ensures parts of the project can be rewritten when needed or once they become obsolete.

    All of these are very good choices for a new system, and the code is very polished. As far as I understand, there are 2 developers working on lemmy full time, too. The project also has a very active community, and the members respond quickly too.

    All in all, I would say the Lemmy project is in very good hands and improving constantly. Expect improvements to come fast, real fast!

    • iod
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Are there any indications that the community of long term contributors has been growing with the reddit migration?

      • fermuch
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        It’s too early to get that info. Remember me in one or two months and we can take a look.

  • solrize
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago
    1. I don’t like the front end at all, partly from design preferences but partly because it is buggy. People have complained about the code too, but I haven’;t looked at it. I think the API is more important than the front end though. If the API is responsive, there will be more alternative front ends.

    2. The back end is written in Rust which has a significant learning curve, so that is in some ways a good sign. It sounds like Postgres is doing a lot of the heavy lifting though. So I don’t know what the benefits of the Rust backend really are. I do want to look into it.