What is an instance? what is a federation? what is a server? can someone please describe in simple terms how this all runs and how we as users navigate it?

  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    arrow-up
    101
    arrow-down
    3
    ·
    1 year ago

    Welcome to Lemmy/the Fediverse! It’s 95% Reddit ant 5% email.

    What is a server?

    A server is just a computer that runs software that is always standing ready to do something for a user. For the purposes of our discussion, a server is the computer that runs an instance of Lemmy.

    Let’s start with something we’re probably all familiar with: Reddit. The way Reddit works is, it’s a big company that owns (or rents) a bunch of servers. All of the data anyone has ever posted to Reddit, plus the software that makes Reddit go, is stored on these servers. Users open an account with Reddit, and they’re given access to these servers. Reddit controls ALL of them so it doesn’t matter much exactly which server you attach to. They might all be in one location, they might be scattered all over the world, it’s fairly transparent to users. The various websites or apps we (used to) use to connect to Reddit were simply front-ends which allowed us to access the server.

    Lemmy is software that does a lot of what Reddit does. It’s software you run on your server which keeps track of users, communities, posts and comments. Unlike Reddit, which keeps its “back end” software a closely guarded secret, Lemmy is open source. Anyone can read the source code or run it on their own server.

    What is an instance?

    When someone runs a copy of Lemmy on their own server, that is an “instance.” Each Lemmy instance is its own little Reddit. You can sign up for an account on an instance, and the experience is very much like Reddit; “subreddits” are called “communities” here. The owner of the server is the admin, individual members can make posts to communities, comment on those posts, create new communities and moderate them…it’s its own little Reddit. lemmy.world is its own little reddit, sh.itjust.works is its own little reddit. Well what good does a bunch of little Reddits do?

    What is a federation?

    A federation is a group of independent organizations that work together as a group. Think of the United States of America: 50 states that each have their own constitutions, codes of law, legislatures, executives, courts etc. which are united under one common Federal government. Lemmy works this way; each instance is a member of the Fediverse, a federation of servers that run software which uses the ActivityPub protocol–a standardized way for servers to transfer various kinds of social media data between them.

    Every instance of Lemmy is its own website, run on its own hardware, with its own communities, members, admins and such. Each instance will have its own house rules; some allow political discussions, some don’t. Some allow pornography, some don’t. Some restrict community topics to a broad field, like music or video games. Some are general purpose instances. It’s up to the admin of each instance. But, each instance is able to communicate with all of the others, so having an account on one instance allows you to communicate with all the others–with some caveats I’ll talk about later.

    In fact, the ActivityPub protocol is used by other services besides Lemmy–another similar service is called Kbin, which is functionally similar but the software is written by different people. Lemmy instances can communicate with Kbin instances and vice versa.

    So where every instance is its own little Reddit, all of the instances kinda voltron together to make one big Mega Reddit.

    • Captain Aggravated@sh.itjust.works
      link
      fedilink
      arrow-up
      75
      arrow-down
      4
      ·
      1 year ago

      (continued from above because of character limits)

      ActivityPub is used for more than just Reddit-likes. Mastodon has a similar micro-blogging format to Twitter, and PeerTube is similar in function to Youtube. There are alternatives to Facebook and I believe Snapchat as well.

      You can kind of think of it like email–there is no central email.inc that all emails go through; gmail and protonmail and icloud and compuserve and hotmail and whatnot are all different servers that are capable of using the internet to find each other and send messages back and forth.

      How all this runs.

      You sign up for an account on an instance, say lemmy.world. This is your local instance; your local instance will handle all of the data going to and from you. If you create a community, it will be stored on your local instance. You may notice that instance addresses look a little like email addresses, ie !nostupidquestions@lemmy.world. That notes which instance that particular community is on. If you don’t see an instance name appended, it’s on your local instance.

      When viewing lists of posts or communities, you are given an option to search for Subscribed, Local, and All. Subscribed will show you only communities you have subscribed to, it’s like your Reddit home feed. Local will show you only posts or communities made to your local instance. All will show you posts or communities from across the Fediverse. You can subscribe to, post and comment on communities from other instances, like I am doing now (my local instance is sh.itjust.works, I am posting to lemmy.world). It looks and works just like posting to my home instance.

      A major difference users of Lemmy/the Fediverse should keep in mind: Reddit had platform-wide rules of conduct, which individual subreddits were allowed to expand upon. Lemmy does not have central admins or owners like u/spez to enforce platform-wide policy; those general rules come from the admins of each individual instance, which community moderators may add to. So rules and norms can vary between each instance, and when posting on an instance that isn’t your own, it’s a good idea to read the sidebar of that instance’s homepage to review them.

      • Lui@sh.itjust.worksOP
        link
        fedilink
        arrow-up
        9
        ·
        edit-2
        1 year ago

        Thank you so much for the breakdown. I’m gonna reference back to this a lot while i try to wrap my head around this new space. I’m grateful for everyone’s informative replies and your guys’ good-spirited attitude towards reddit transplants like myself.

        I was a long time reddit lurker but I feel compelled to post and it’s responses like yours that made me feel comfortable doing so.

        TLDR: Thank you so much to everyone who broke it down for me. I’m having lots of fun in this space because of y’all and I am so excited to continue contributing to it.

      • Nighed@sffa.community
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        When you visit other instances through your home instance there is a delay/difference though as I assume your home instance has to get info from the remote instance before it can show it to you?

        Or is that just because my account is on a tiny instance and I’m the first one visiting a lot of the communities?

        • T156@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          1 year ago

          When you visit other instances through your home instance there is a delay/difference though as I assume your home instance has to get info from the remote instance before it can show it to you?

          Yes, but it helps if someone else on your home instance has subscribed before, since it would already have that information.

          Or is that just because my account is on a tiny instance and I’m the first one visiting a lot of the communities?

          Also probably this.