Today I learned about Sublinks (here), an open-source project that aims to be a drop-in replacement for the backend of Lemmy, a federated link aggregator and microblogging platform. Sublinks is designed to be initially API-compatible with Lemmy, allowing existing Lemmy clients, such as Lemmy-UI, to integrate seamlessly.

The project is written in Java, which may introduce some overhead but is chosen for its maintainability and familiarity among a wider pool of developers. The Sublinks team prioritizes a more inclusive and less toxic development environment, and the project has already attracted more developers than Lemmy.

While Sublinks is starting with 1:1 compatibility, future plans include implementing additional features that the Lemmy developers have not pursued. This could lead to a divergence in functionality between the two platforms as Sublinks evolves beyond its initial compatibility phase.


README

GitHub stars GitHub tag (latest SemVer) gradle workflow GitHub issues License

Sublinks

A decentralized, censorship-resistant, and privacy-preserving social network.

About

Sublinks, crafted using Java Spring Boot, stands as a state-of-the-art link aggregation and microblogging platform, reminiscent yet advanced compared to Lemmy & Kbin. It features a Lemmy compatible API, allowing for seamless integration and migration for existing Lemmy users. Unique to Sublinks are its enhanced moderation tools, tailored to provide a safe and manageable online community space. Embracing the fediverse, it supports the ActivityPub protocol, enabling interoperability with a wide range of social platforms. Sublinks is not just a platform; it’s a community-centric ecosystem, prioritizing user experience, content authenticity, and networked social interaction.

Features

  • Open source, MIT License.
  • Self hostable, easy to deploy.
  • Clean, mobile-friendly interface.
    • Only a minimum of a username and password is required to sign up!
    • User avatar support.
    • Live-updating Comment threads.
    • Full vote scores (+/-) like old Reddit.
    • Themes, including light, dark, and solarized.
    • Emojis with autocomplete support. Start typing :
    • User tagging using @, Community tagging using !.
    • Integrated image uploading in both posts and comments.
    • A post can consist of a title and any combination of self text, a URL, or nothing else.
    • Notifications, on comment replies and when you’re tagged.
      • Notifications can be sent via email.
      • Private messaging support.
    • i18n / internationalization support.
    • RSS / Atom feeds for All, Subscribed, Inbox, User, and Community.
  • Cross-posting support.
    • A similar post search when creating new posts. Great for question / answer communities.
  • Moderation abilities.
    • Public Moderation Logs.
    • Can sticky posts to the top of communities.
    • Both site admins, and community moderators, who can appoint other moderators.
    • Can lock, remove, and restore posts and comments.
    • Can ban and unban users from communities and the site.
    • Can transfer site and communities to others.
  • Can fully erase your data, replacing all posts and comments.
  • NSFW post / community support.
  • High performance.

Contact

Contributing

Support / Donate

Sublinks is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.

  • nutomic@lemmy.ml
    link
    fedilink
    English
    arrow-up
    30
    arrow-down
    10
    ·
    10 months ago

    I actually talked with Jason (one of the Sublinks maintainers) a while ago, asking about the features he was missing from Lemmy. Turns out it was just one or two minor API changes that could be easily implemented, but he never even bothered to open an issue about it. I think they just have fun reimplementing Lemmy, but it would take at least multiple years to catch up with the current features of Lemmy. And by then Lemmy will of course have many more features and improvements. So I wouldnt expect that this ever becomes useful for production.

      • AtmaJnana@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        ·
        10 months ago

        FYI, in case you did not notice: nutomic, the user you’re replying to, is one of the two creators of Lemmy. Make of that what you will.

        • yuriy@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          5
          ·
          10 months ago

          Fun amount of shade-throwing from a dev, that gives me a lot of confidence in the platform.

          • nutomic@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            5
            ·
            10 months ago

            No schade-throwing, but I know how much effort it took to get Lemmy ready for production. Namely multiple years of fulltime work. Sublinks seems to have only volunteer contributors, so it will likely take even more time.

    • Mwalimu@baraza.africa
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      10 months ago

      And if they develop a good tool, that is also fine. The more the merrier. But I think their resources may have served more people if they were not duplicating effort and rather contributed into existing work. To each their own.

      • BURN@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        10 months ago

        I’m going to guess most Sublinks contributors aren’t going to be main branch Lemmy contributors due to the language difference. It’s what’s kept me from working on main branch Lemmy as I’m pretty much useless with Rust

      • masterspace@lemmy.ca
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        edit-2
        10 months ago

        I mean, isn’t the whole point that they didn’t want to have to learn Rust just to contribute to Lemmy?

        Given how few day to day Rust devs there are compared to Java / C# / Typescript, it was only a matter of time before someone wrote a more popular version of the server in a different language.

        • BURN@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          10 months ago

          Yep, I’m useless when it comes to rust. I can write Java/Spring in my sleep. A big barrier to entry to Lemmy contributions is not being familiar with rust

        • nutomic@lemmy.ml
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          3
          ·
          10 months ago

          I was a Java developer before starting to contribute to Lemmy. Didnt know anything about Rust, just wrote code and resolved compiler errors until things worked. Rust is definitely not as hard to learn as some people think.

        • Mwalimu@baraza.africa
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          3
          ·
          10 months ago

          Still fair point. The grind is in placing the new reimplementation of federated link aggregator in opposition to Lemmy as if they are competing, and sadly to trash Lemmy and its developers.

          • masterspace@lemmy.ca
            link
            fedilink
            English
            arrow-up
            2
            ·
            10 months ago

            That’s a fair point about communication and positioning, I just don’t think resources are necessarily wasted if they’re duplicating effort into a more accessible format.

        • expr@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          10 months ago

          That is rapidly changing. More and more huge tech companies are spinning up sizable Rust teams. Rust is basically at the place Go was a few years ago. It’s on the verge of becoming mainstream and has a huge community behind it.

          I personally view sublinks as pretty pointless and short-sighted. It is frankly not that hard to pick up a new language and contribute to a project for an experienced developer, so I see little reason to try to rewrite it if nothing new is really being offered. If you look at the GitHub of each, sublinks does not have more contributors or anything like that, so the value proposition seems dubious at best.