We are happy to announce that we have finished the initial version of our ActivityPub implementation. At the moment, it can only federate a limited set of data, like communities, users and posts, but not comments or votes. So this initial version is mainly interesting for those who are familiar with the ActivityPub protocol, and those who would like to contribute to Lemmy.

These are our test instances, Be aware that they are not permanent, and we might wipe the data at any time. Federation uses a whitelist for now, until we are confident that the implementation is secure.

If you are interested in contributing to the development, check out this issue and the dev instructions. Please use the issue tracker to report bugs, so that we can keep everything organized.

We also want to give a huge thanks to Aode, whose ActivityStreams library and advice have helped us immensely.

If you like what we are doing, please consider donating towards Lemmy development. Besides Liberapay and Patreon, we are also on OpenCollective now. Donations are a big help for us, because they allow us to spend more time to work on Lemmy, instead of selling our labour to a company just to pay for rent and other necessities.

Edit: federation instructions / docs here.

  • DessalinesOPMA
    link
    104 years ago

    Edit: We have working posts, comments, votes, and deletes federating now :thumbs up:

  • @cheese
    cake
    link
    54 years ago

    So, what is this place? I just found it from a reddit link that showed up in my feed. It seems like a nice place so far, but I have no idea what the “fedeverse” all about, or how stuff is “federated”. I might not be posting this in the right place, but I’m still trying to get to grips with this place.

    • @ajz
      link
      8
      edit-2
      2 years ago

      deleted by creator

      • @cheese
        cake
        link
        14 years ago

        Cool, thanks! I didn’t realise there were that many websites lol

    • @AgreeableLandscape
      link
      6
      edit-2
      4 years ago

      The fediverse is a decentralized social network comprised of independent servers (called instances) that can talk to each other. When you’re registered on one fediverse site, you can see and interact with users and content on many other fediverse sites, depending who your instance connects to and who is blocked, also what other platforms the service you’re using is intercompatible with (think the differences between Twitter, Instagram and YouTube, all of which have “clone” platforms on the fediverse that you can just download the source code for and host on your own server). Each instance can focus on a specific niche or topic, or they can be general purpose, and all of them can make their own rules (though the toxic or offensive ones tend to be blocked by many or maybe even most other nodes in the network). The main problem the fediverse tries to solve is problem of a single point of control. For example, Reddit’s administrators have absolute control over the site, which means they can do anything they want on it, often with the main intent being profit. The Fediverse aims to spread that control over many people by allowing independently controlled servers to communicate with each other, so if instance’s administrators does something atrocious, people can simply move away from that instance and even block it from communicating with their own instances. Is it perfect? No. Does it still have a lot of problems? Yes. But in my opinion, it’s better than traditional social media platforms where a single for-profit company controls everything.

      Lemmy isn’t a fediverse platform yet, but federation is being actively developed. It’s designed to be a Reddit-style forum with nested comments and independent communities. You can basically think of it as a Reddit clone that plans on becoming decentralized. Such a platform is currently missing from the fediverse, which is why Lemmy exists.

      • @cheese
        cake
        link
        44 years ago

        Ah, I really like that idea. I get so annoyed when Reddit admins do what they want, even when the userbase itself has said multiple times they don’t want that, just for the sake of profit. Spreading it all out for more people to run it seems like a much better idea, so, like you said, if something bad happens, we could just leave it and move on. Thanks for all the help!

  • @ajz
    link
    5
    edit-2
    2 years ago

    deleted by creator

  • @AgreeableLandscape
    link
    5
    edit-2
    4 years ago

    It’s been a long road

    Getting from there to here

    It’s been a long time

    But the fediverse is finally near

    Good job, devs!

  • @oriond
    link
    44 years ago

    Congratulations!!!

  • @qarmah
    link
    34 years ago

    so if i create communities there is a possibility of it getting wiped?

    • DessalinesOPMA
      link
      34 years ago

      On the federation test instances, yes. Not here tho.

  • @Cream
    link
    2
    edit-2
    2 years ago

    deleted by creator

    • DessalinesOPMA
      link
      44 years ago

      No probs :smiling face:

      Currently no, because lemmy is focused on following federated communities (like reddit), whereas mastodon is about following federated users (like twitter).

      Eventually we will probably add user following, but first we’re going to lemmy fully federating with other lemmy instances.

  • @AgreeableLandscape
    link
    1
    edit-2
    4 years ago

    I made a post on enterprise but can’t seem to see it on ds9 or voyager. Is there a problem with the federation process or am I doing it wrong?

    • @nutomicMA
      link
      34 years ago

      Posts only get federated if someone is subscribed to the community where they were made. You can force fetch a post, community or user by entering its url in the search on another instance. I did that and now the post is visible on all instances.

      • @AgreeableLandscape
        link
        24 years ago

        Is there a reason for not federating posts made before the user subscribes?

        • @nutomicMA
          link
          24 years ago

          Well that would mean fetching all the posts, comments, users and communities from all instances we know about, and thats a lot of data. Chances are that the local users dont even care about that, and if they do, they can always trigger a manual fetch.

          Mastodon works in the same way. One problem is that small instances dont see much content, but that can be solved with relays.

  • @iesha_256
    link
    14 years ago

    How can I test this, I’m not able to post on the test instances.

    • DessalinesOPMA
      link
      24 years ago

      I just created a user and posted on one of em, it should be working okay.

    • @nutomicMA
      link
      14 years ago

      You have to register a new account, did you do that?

      • @iesha_256
        link
        24 years ago

        Will you be able to post cross-instance later?

      • Serge Tarkovski
        link
        14 years ago

        It says registration is closed. Tried on the first two of the list.

        • @nutomicMA
          link
          24 years ago

          When did you try it? We forgot to open registrations when we posted the announcement, but now all of them have registrations open.

          • Serge Tarkovski
            link
            24 years ago

            Maybe right immediately after the announcement, let me try again.

          • Serge Tarkovski
            link
            14 years ago

            Works now. Seems I can’t subscribe to a federated community, only to a local one. How can I explore communities of a remote server? Or can I at least subscribe using a direct community address, such as enterprise.lemmy.ml/news?

            • @nutomicMA
              link
              2
              edit-2
              4 years ago

              You can subscribe, but its not handled by the UI yet. So you dont know if you are subscribed or not without checking the logs or db.

              You can trigger a fetch for remote content by entering the url in the search. This also needs to be made more obvious.

              This is why its an alpha ;)