YSK: How Lemmy Works - Lemmy.world
Why YSK: Because intuitive explanations are few and far between, and the
technical explanations often present too many “trees” and not enough “forest”,
which is just how technically-minded people are trained to approach things.
Forests are, after all, made of trees, and it’s not their fault we don’t care
about individual “trees”. This then, is my unprofessional attempt to consolidate
everything I’ve read over the past three days into one, easy-to-understand
explanation of how all this shit works in lay-person’s terms. Due to my amateur
background, I may have details incorrect, and I would request that anyone who
catches anywhere where I have made a mistake, even a small detail, to please
correct me. I will also include a few links to my best sources at the bottom.
tl;dr style explanations will be included after every paragraph in parenthesis.
So, let’s begin: Imagine you have reddit. Fantastic, it’s a giant forum composed
of a whole bunch of smaller, sub-forums. But let’s take this one step further.
Why have just one reddit? Why can’t we have lots of reddits, each capable of
having its own complete set of subs, where each reddit is independent of every
other one and has its own web address? Okay, let’s do this, and push it to the
extreme. Let’s make it so everyone can make their own reddit, even individuals.
So you, if you wanted, could set up your own complete reddit, with just you in
it. You could have all the subs, r/TIL, r/TIHI, r/pics, etc etc, all with just
you in them. You have total control! But you have no content and are probably
pretty lonely, right? We’ll get to that. Let’s call this Self-Hosting though.
(So, we now have a situation where many whole reddits can individually exist,
each in the vacuum of space.) Now let’s fix that content and loneliness problem.
What if we allowed each reddit to communicate and share content with every other
reddit, similar to how subs can communicate with each other? Boom. We just
created a spider-webbed network, of countless individual reddits, each composed
of subs, that can now all share content back and forth. Let’s call this big
spiderweb an over-reddit, to contrast it with subreddits. (Now instead of a
two-tier system of isolated reddits and their subs, we have a three-tier system,
of over-reddit [the “Lemmy-verse”], reddits [Lemmys or Instances or Servers],
and subs [communities or sub-lemmies].) But, we actually have a technical
problem. How do these individual reddits find each other? How do they know the
other ones even exist? They could be on servers on opposite sides of the planet,
with random web addresses. Obviously we can’t just guess. So, okay, let’s let
users solve this for us via crowd-sourced labor. We don’t have to find all the
reddits for them. Let’s just design the system so that the reddits only find out
about each other after any random-ass user introduces them to each other. We’ll
call this batching, they can do it with the reddit search bar. Then, we’ll wait
for that random-ass user to actually subscribe to any new sub/community over
there, which they’ll only do if it’s any good. Once this is done, now the two
reddits and that one sub become connected, not just for that user, but their
whole reddit userbase too. The rando doing the search and subscribing simply
introduced two good reddits to each other. Now that they know about each other
though, they’ll share content back and forth freely, with comments, votes and
posts all being visible to both reddits. Let’s call this “federating with each
other”. It’s not too different from neurons in the brain reaching out to each
other, really. (To find and connect the disparate, scattered reddits into our
over-reddit, we use crowd-sourced labor.) Well, that’s it. That’s the
Lemmy-verse. But what about this Fediverse? Well, okay, remember what we did
with reddit, and giving it a third tier of over-reddit? Let’s do the same exact
thing with twitter, facebook, youtube and every other thing we can pull out of
our asses. Let’s let all of them share and access each other’s content with the
exact same structure and system, so now you, hanging out in your reddit, can get
all the tweets too. We’ve made a fourth tier now. The Fediverse, which is most
comparable to the internet itself, and includes the Mastadon-verse, the
PeerTube-verse, etc etc. (Why stop there…? reddit is chump change, let’s just do
this to everything.) So, that’s it in a nutshell. That’s how this shit works.
And the next time someone says it’s like email, I’m going to climb through their
computer screen and smack them. It’s only like email at that technical, “trees”
level, and when you go up to the more intuitive “forest” level, this just serves
to confuse the ever-living hell out of everyone. (I’m a bit of a dick.) One last
detail: Admins can whitelist (allow-list) or blacklist (shadowban) other
Instances/servers. As an example, one of the other largest Instances has
blacklisted (shadowbanned) us here at lemmy.world, because we were producing too
much spam. As a result, until they undo this, all of us here are shadowbanned
from their Instance/server. We can see their content, they can’t see ours. This
enables them to control how much connection they have to the rest of the
Fediverse. (Let’s not forget to give admins the power to stop people from other
places bothering them, if they do not approve of the content. Very important
feature.) Sources: https://join-lemmy.org/docs/users/01-getting-started.html
[https://join-lemmy.org/docs/users/01-getting-started.html]
https://en.wikipedia.org/wiki/Lemmy_(software)
[https://en.wikipedia.org/wiki/Lemmy_(software)]
https://github.com/amirzaidi/lemmy [https://github.com/amirzaidi/lemmy]
https://news.ycombinator.com/item?id=36387939
[https://news.ycombinator.com/item?id=36387939] Again, if I’ve made any errors,
regardless of how small, please let me know below. This is intended to be
another reference material for lay-people, so accuracy is important. However,
outside of major errors, I will not be editing this post to correct it, as I
would prefer any corrections to be delivered from the full perspective of
someone’s individual expertise, instead of being translated into my own words.
(I don’t actually know what I’m talking about. Scroll down for people who do.)
Hope this helps. edit for grammar/cleanup