I’m not sure how you got this out of what I wrote, but the part you quoted was intended to disprove the idea that “ActivityPub describes a network of servers”, because it very clearly isn’t true – Alice Follows Bob, mastodon.social does not follow mitra.social. The network is comprised of actors.
What I’m saying is that ActivityPub is unnecessarily complicated for what actual traffic looks like on the fediverse. The “actor” abstraction is unnecessary unless the actor has behaviors associated with it. For just publishing posts, you don’t need any of what ActivityPub provides. Case in point: How I saved gigabytes by deleting all RSA keys shows how a single server-wide keypair is enough for the instance model. Similarly, a single server-wide shared inbox is enough for the instance model. At that point, why spin up individual actors at all? It’s just puppetry, because the instance controls everything.
OStatus used Atom and WebSub to handle this use case just fine, and arguably in a more Web-friendly way with cleaner separation of concerns. Going to a single WebSub hub and asking to subscribe to a profile is adequate logic. Messaging an actor at their inbox and notifying them of your intent to Follow them is logic that only makes sense if you explicitly want to stop caring where the actor lives, and you’re interested in actions more than results. But if you accept servers as inevitable, then you have no incentive to stop caring, and all that matters is the resulting posts. The actors aren’t actually doing anything! They’re not acting! The server is acting on their behalf. So again, why have actors?
Also,
…because what you consider as “significant” is trying to replicate centralized “social platform as a service” offerings. If you say that
then it is not due to impossibility in general, but it is due to more pragmatic limitations; notably, limitations in scope of what currently exists and has ossified significantly. The challenge is not in building the system, the challenge is in transitioning users toward that system so that you actually have people to talk to. It will never be “viable” due to network effects alone.
We are where we are today because Mastodon was in the right place at the right time due to a blunder in Twitter policy from April 2017, and then Mastodon proceeded to transition its internals to POSTing AS2 JSON instead of GETting Atom XML… because they wanted followers-only posts without having to use authenticated feeds. Since then, people have largely copied Mastodon in their implementations. This is the ecosystem you have to realize we are in – one where more people read the Mastodon documentation on ActivityPub rather than the ActivityPub specification itself, and probably a lot of those people look at the Mastodon codebase more than they read the Mastodon documentation! Because Mastodon is where the users ended up, and ActivityPub alone will not let you interop with Mastodon.
But for whatever reason, Mastodon doesn’t want to take de jure responsibility for a protocol that they de facto developed. One that involves WebFinger and in fact used WebFinger more authoritatively than ActivityPub. To the point that we are discussing “changeable usernames” as if they were this Herculean task rather than a perfectly normal thing to have. And then it leads to questioning why a specification would allow for possibilities just because narrow implementations chose to do something different? Like,
is a question that can be answered, quite simply, as: “ActivityPub was not written exclusively for Mastodon”. Again,
Honestly, this whole “ActivityPub” vs “fediverse” thing is just one big equivocation, because people use one term when they really mean the other thing.