I like this-- I would also mention that in 2017 the Social Web WG tried to formalize this a bit in this document which people often overlook when trying to keep straight what’s a platform and what’s a protocol and what’s a federation of platforms and/or citystates.
Hey, let’s keep it above the belt here! I didn’t create a socialhub profile or write to the CG list until 2023 even though I was at the ActivityPub conference in Prague in 2019.
I have personally been grappling a lot with different usages of the word “platform” lately, ranging from economics to regulation to software. Basically, any protocol/rule-driven and stable environment where pots find lids and sellers find buyers is a “platform”. It can mean very different things whether you’re talking about a:
1.) low-level technology (“the web platform” === everything built on top of the sum of browser requirements and APIs, i.e. the entire web and half the world economy),
2.) a developer platform (i.e. facebook connect, a platform matchmaking developers and users on commercially-controlled but stable APIs), and
3.) a user platform (commercial social media), where users interact with each other within some kind of perimeter.
ActivityPub is a “social web platform,” to some degree, and I suspect that people who say it is inadequately specified to serve that function are probably conflating level 1 and level 2; to them, I would recommend a slow read through the HTML specs (AP is a dream by comparison!). On Layer 2, the “Mastodon API” (loosely speaking, and including the Mastodon dialect of AP, etc) has supplanted C2S and made monolithic clientic-servers the “de facto standard”-- here is not the place to argue whether or not that’s optimal, but it has definitely happened already, and fuses these two layers into one “de facto platform”. Every server which has exposes a “local timeline” is, literally, also creating its own micro-platform on the third layer, and I don’t think that’s an anti-pattern at all (it’s actually a really neat aspect of Mastodon that I think explains much of its success!). I would even say that the coziest, “small-fedi”, “I won’t federate with servers over 100 users” crowd conceives of federating these micro-platforms without ever creating a governable platform at layers 1 and 2 as the optimal outcome. The useful comparison on Layer 3, however, is not the size of the local timelines, but the perimeter-- how differently each shows its content to unauthenticated viewers, whether cross-platform DMs are allowed, etc etc. Here Threads is operating not much differently than an ultra-cozy 50-user Mastodon with aggro mods (except the ads).
All of this is to say that whatever your vision of the fediverse, you are federating platforms on 1 or more of these 3 layers. The frustrating part is that we keep talking past each other or cudgeling each other to say one layer matters more than the other 2, when in reality all 3 are important and neglecting any of them hurts us all.
I would even argue that the three layers map pretty well to the 3 stages in Arnold’s process. I think normative work really only affects Layer 1, and the SWF seems to be targeting work at that layer (how the social web interacts with the actual web-web, both technologically and commercially). I would prefer Layer 2 diplomacy stay in the CG, where some degree of IP protection is still useful in the long-term but volunteers and amateurs need to be on equal footing as large corporations, and Layer 3 needs to be independent of Layer 2 to work well.