@sunil activitypub is a *specification*, and mastodon is a protocol built on top of that specification
-
@sunil activitypub is a *specification*, and mastodon is a protocol built on top of that specification
a protocol lets two parties communicate with each other. activitypub doesn't define anything about what your messages need to look like. it doesn't define what is an "account" or a "post". it doesn't define when these things are created and deleted, only that they *can* be created and deleted. for example, "does deleting an account also delete its posts?" is a question entirely outside of AP.
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sunil what activitypub *does* define is actors that can send each other messages, and one possible flow of messages is the "following protocol": you send a Follow, you wait to get back an Accept Follow. you might instead get a Reject Follow or nothing at all. to unfollow, you send an Undo Follow. unfortunately there is no standard way to remove a follower in AP. (mastodon protocol defines that Reject Follow at any time should always destroy a follow relationship, but this is extension behavior)
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sunil but what happens once you successfully follow an actor? well... nothing, really. in theory you might receive messages from that actor. you are registering interest, but this is neither required nor sufficient to receive messages. any actor can message you at any time, because addressing is completely arbitrary. you don't *have* to send a message to your followers if you don't want to.
what kinds of messages can you send? there are some activities like Create/Update/Delete and Add/Remove,
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sunil but these are more for the "API" side of activitypub, the "client to server" or C2S bit that most people sadly ignore. you can use the C2S API to manage resources and collections of resources. then, you can notify people on other servers that you modified those resources. these don't have meaningfully specified side effects on remote servers -- a remote server is only being notified of your activities, and it has no further responsibilities beyond putting messages in inboxes. mostly...
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sunil the one thing a remote server does, other than accept delivery, is that activitypub specifies some side effects for certain "social" activities at a server level. (arguably, this is a mistake; the side effects more often should be at the *actor* level instead.)
there is a "liking protocol": send a Like, it SHOULD be added to the likes collection.
there is a "sharing protocol": send an Announce, it SHOULD be added to the shares collection.
but that's it. anything beyond is out of spec.
-
sunil@social.4vr.mereplied to trwnh@mastodon.social last edited by
@trwnh So the fediverse is very much incompatible with one another unless they’re Mastodon compatible that would make Mastodon a non-binding protocol.
-
trwnh@mastodon.socialreplied to sunil@social.4vr.me last edited by
@sunil the reality is that there are multiple protocols that only partially overlap. you can group them very loosely into taxonomies based on what the primary compatibility target is, like “mastodon” or “lemmy”, but even within those taxonomies you still have quirks to account for. the compatibility is nonzero but it’s incidental moreso than it is due to adherence to a well-defined protocol