Can someone point me to a good technical 101 for Mastodon? Or OStatus? Trying to understand: When I make a post, how does another instance find out about it to show to my followers there or the federated timeline?
I'm chasing this because someone mentioned the idea of a new privacy setting where your instance would more closely federate with a short list of other instances (forming a slightly larger community). Basically a list of other instances your posts would go to that wasn't Just Everyone in the Federation:tm:. I'm trying to understand how that might work on a technical level and it doesn't sound super hard or breakey.
@benhamill Anther solution is follow bots; but at that point, why not just implement them directly in code. After all, you want a closed system.
—
Follow bots are necessary because they allow for extension over the entire network. You do not require that.
@NthTensor Nah. 100% solve it in Ruby. If I implemented this, I'd be looking at a PR against mainline Mastodon. I don't want a closed system, I want an inner circle and an outer circle, both.
I think I grok this well enough that I might at least open an Issue to discuss it with maintainers.
@benhamill Tell us how this turns out. I am interested.
@benhamill Instances such as https://awoo.space use a whitelisting vs. blacklisting approach to federation. It would also be possible to allow federation with all instances but limit the federated timeline to a subset. An instance can't do much about where toots go once they leave the instance though. Privacy is difficult in a federated system.
@binary @NthTensor In this case, though, if you posted with the new setting, it would just never notify those instances not in the allow-list. And you'd still have the "Public" setting that would go wherever.
Boosts and such could potentially break your post out, but that's true of Unlisted and Private today, right?
@benhamill @NthTensor I think that's right.
@benhamill It depends on who runs the servers and how close you want them to be...
—
You could fork the main code, and create a p2p pipeline between the instances so that all toots from one are assured to end up on the other two...
—
That only works if the admins of the servers are willing to all use the same codebase.