I find this thought interesting. Does the fediverse need to be defined by a “formally standardized” specification that is backed and recommended by a body like the W3C? You could argue that such a standardization even goes against the decentralization of the fediverse.
Did ActivityPub get adopted widely because W3C recommended it? As you hint at, no; It got widely adopted because Mastodon adopted it and Mastodon was/became popular, thus a de-facto standard was made.
I feel like the fact that ActivityPub is a formalized standard may just be holding it back from evolving faster. I mean you can look at a “standard” like semantic versioning, which is extremely widely used but (AFAIK) not adopted by any official standards body. It’s just popular and it works fairly well for what it tries to do.
I am very tempted to attempt to write a new extensible protocol - my fingers are itching at “solving” the issues of ActivityPub, at least just for my own satisfaction. But how do we perform protocol experimentation like that? If everyone goes off in different directions, we’ll just end up with a lot of fractured standards, no? Or is there a way to explore different things and maybe synthesize some kind of common ground?
Maybe looking at our use of terms, #socialweb, the is no criticism in this term, a bad choice, better the native openweb combined by the clarification of #4opens which is a path to activism that has power to balance the “common sense” #mainstreaming mess that orgs like the #SWF will have to try and balence and mediate.
This is a question of balance as open means open, that is open to corporations and grassroot paths. #FOSS is the foundation of all corporate stacks, the is value in this https://hamishcampbell.com/?s=FOSS this value is “invisible” to meany people as it is political and social rather than technical, which “cats” can’t see, the problem is It’s hard to talk about this https://hamishcampbell.com/?s=geekproblem
BUT the fundament block, on this grassroots path and this space, is we have cats.
When the cats, being cats, did not build native “governance”
The grown up humans stepped in and imposed this. The #NGO “humans” pet the cats and say we will look after you, the cats might get bowls of food and fresh water. kitty kitty cat mewwww.
HINT we live in the era of #climatechaos we need (grassroots) human solutions not cat behaver, can we be human and talk about the mess we made.
In my view a protocol should describe how things are currently working in existing implementations, not how they should work. So if you want to experiment with a new protocol, you should start by looking at the existing platforms, and only documenting things which are used by at least 2-3 of the larger platforms. Conversly if a feature isnt used by any of the large platforms (eg json-ld or c2s), it should be removed.
Once the new protocol documentation is ready, it should be possible to write a new Fediverse platform from scratch without manually reverse engineering the behaviour of other platforms.
That would hardly be writing a new protocol - you could do that and keep compatibility with ActivityPub entirely. You would just need to clarify and add some stuff to ActivityPub. This would basically be ActivityPub 1.1.
I think this is also a bit backwards - the protocol should define how things should be done, not the other way around. How things are currently done should not necessarily dictate how things should be done (how things are currently done might just be popular but suboptimal (tbh this is exactly the current situation)).
But an AP 1.1 would not fix any of the problems with the protocol that cannot be fixed in a backwards-compatible manner. One of the biggest issues I’ve seen in that category is the inability to change AP implementations on the same domain, just to mention one thing. But there are others.
I already said this in another thread, but you’re getting at the difference between an abstract protocol (AP is basically a wire protocol à la SMTP) and a set of concrete protocols equally and simultaneously possible over it (“social media protocol”, which could decompose into “follow protocol”, “delete protocol”, etc etc). I agree that documenting that “higher level” is urgent, whether in the form of many small concrete mini-protocols (feature by feature) or one monolithic one (mastodon-centric status quo federation profile). I would go even further and say that addressing this specification backlog is the most productive thing this community could focus on in 2025. Planning breakage in APv2 or “forking” the protocol into non-interoperable experimental terrain are indisputably funner and more satisfying, but brownfield work, though a slog, is the only realistic way forward to a significant userbase in common. I wish it were easier to get this work funded, but that’s another, even sadder, issue.
I would argue that none of the these higher-level profiles need to be defined normatively with a W3C normative stamp on it, and to Steve’s point, we are probably better served defining them less formally and updating them more often than any W3C WG could. My personal recommendation would be for specifying these “AP Profiles” at the CG level, which has all the same IPR protections (i.e. protection from patent trolls) as work done at the WG level would, with wider and less constrained participation. SH+FEP level would be better in many ways and I don’t want to minimize those benefits, but my main reason for preferring a W3C community group is that patent trolls keep me up at night, and it’s easier to get resources (i.e. grants and in-kind donations/sponsorships from employers, legal help in the case of IP lawsuits) at the CG level than in a more grassroots-venue.
There is a proposal to narrowly scope a “Maintenance WG” to non-breaking updates to AP and AS2, i.e. v1.1. I am lobbying for this narrow scope at least until there is a better-documented status quo to break, with trust and safety guarantees/outcomes comparable to Bluesky and Threads.
Anyone who has “joined the CG” (i.e. signed an IP agreement) is welcome to weigh in qua CG member, without commitment to contribute to any future WG. I would invite us to think of that WG as a “CG Task Force” with normative powers, that still reports to the CG fundamentally, rather than as some cabal that “outranks” the CG in any way.
I cited this document in the prior art section of the proposed CG–>WG document FWIW, and both dmitri and evan engaged productively on that thread. No one is ignoring prior efforts AFAICT, and normative work should not detract from, compete with, or even distract from non-normative work closer to the “bottom of the pyramid”. In fact, even a pyramid metaphor feels ideologically inappropriate here-- it’s more like a funnel, with (IP-safe) non-technical/user story input happening out in the open with minimal constraints at the top of the process, and a small number of IP-paranoid specialists working at the wire-format level “deep underground”.
Thank you. Yet that references a different thread. I refer to an effort at SocialHub to rally people to revamp activitypub.rocks (in consultation with Christine) and see SocialHub members maintain and publish to the dev portal under which domain this forum is hosted. Now that initiative didn’t see many volunteers and enthusiasm, so I am fine with SocialCG saying “we’ll build it” in a Task Force. But just let folks here know, before firing that off.
As a governance model, the #SWF is oligarchy Oligarchy - Wikipedia, which alongside Monarchy is a native model too much of the #FOSS movement.
But this is not native to the actually openweb space, which is currently more anarchic and as we reboot this to work alongside the encroaching #dotcons we will need a working governance system that is as native as possible, but can talk to, mediate and resist when needed this encroachment
For this vacuum in the path of governance, we worked on the ogb as a native tech social solution, based on ActivityPub and the federation model of the fediverse itself so it can be rolled out seamlessly and most importantly permissionless to work to facilitate this path.
Sadly, unless we can grow the archipelago fediverse until it’s combined population is much bigger than any big continent in the network, that’s exactly what happens.
When mastodon.social and the big Japanese Mastodon instances became the bulk of the network population, Mastodon became the de facto standards body. Any project wanting to interoperate with the verse had to reverse-engineer their bespoke flavour of s2s AP, and use their c2s API.
A lot of people have been pointing out ever since why this is a problem. But they were mostly written off as representing the Dark Side (to be fair, a few of them did, but not most). It’s only now that Meta own the biggest continent that people seem to be waking up to why we need to be using vendor-neutral standards in practice, as well as just on paper.
If you take a Field of Dreams approach, then yes. As I understand it, the FEP process is meant to work like the W3C standards process, just without the bureaucratic overhead of getting a charter.
First you get a representative group of implementers who want to interoperate on something on top of AP. Then you draft an FEP together, with an understanding that you’re all going to use it. So the cat-herding is done before the drafting even begins.
This comments also explains that the goal of fediverse developers for over a decade has been to converge on a single, unifying standard. Which for now is AP, although it used to be OStatus, and could in future be something else.
We don’t serve people looking for a social web replacement for the DataFarms if they have to install a dozen different apps, to cover all the protocols in use. BlueSky has done such people no favours by rolling their own protocol from scratch. Trying to shoehorn non-compatible networks into the definition of “fediverse” does them no favours either.
It’s not helpful to describe networks that don’t connect with the IP internet as “internets”. It’s not helpful to describe document networks that don’t use HTTP, HTML and DNS as “webs” (eg FreeNet, BitTorrent, GNUNet). That would only confuse people, so nobody does that. For exactly the same reasons, it’s not helpful to describe networks that don’t interop over our current unifying standard (AP) as “fediverses”.
EDIT: Replies correctly pointed out that “TCP/IP internet” means quite a different thing from “IP internet”, which is what I meant. I have correct this.
But these topics have their own threads. Coming back to the topic of the Social Web Foundation, it’s worth noting that this is not the first time Evan has been involved in a movement-building project. See the mention here of the 2010 the Federated Social Web Summit, organised by StatusNet. The results of that are, in many ways, why the verse was (mostly) able to converge on a single protocol, and why we’re all here.
I’m still doing the reading to understand everyone’s misgivings about the SWF, but for now, I’m giving it the benefit of the doubt. I recognise Evan’s competence as both a technologist and an organiser, based on his record going right back to the founding of StatusNet and the FSW Summit. More importantly, I trust Evan’s motives and I don’t believe he’d lend his name to an astroturf group for corporate entryists.
Absolutely. I feel I have been sticking to the topic. Given you are a founding member (maybe the principal founding member?) of the SWF, I think there’s no clear separation between the Foundation and your own perspectives on and aspirations for an ActivityPub-only social web. That context can maybe help you and others understand some of the negative reactions to the SWF as it’s currently defined.
Blue Sky is accessible via the Bridgy Fed. All those accounts can interact with the Fediverse.
Compare Exchange email servers on a Microsoft LAN. They use a proprietary protocol to talk to each other, but there is one (or a few) server that talks to the Internet via SMTP.
ATProto is not the Fediverse, any more than Exchange email protocols are Internet email. But BS accounts are on the Fediverse.
This is not a great single protocol analogy. The “internet” uses a large variety of protocols. TCP/IP is just one of them. Even within the IP context, there are a whole family of protocols based on IP and used for internetworking (UDP/IP, ARP, etc.). Have you heard of the “internet of things”? That part of the internet uses other protocols like Zigbee, Z-Wave, COAP, LoRaWAN, and others that are not based on IP. They communicate to each other using those protocols and they bridge to the IP-based networks where needed. The large variety of protocols used for the “internets” (and their interoperability) is not a weakness, it’s a superpower.
What’s different between that, at a conceptual level, and having multiple social network protocols bridged to each other? As for the multiple apps, most people don’t use the same app for web browsing, video conferencing, real-time chatting, and so on. Even in the ActivityPub Fediverse, users typically need to use different web apps for microblogging, long form content, forums, image sharing, playing chess and other activities.
I’m not saying this is bad situation. I don’t think a single mega-app would be a good thing for most users. It’s definitely not an argument that supports an ActivityPub-only social web (or even fediverse).
Yes. I do believe that having developers concentrate on implementing ActivityPub is the best way to get the world connected on the social web.
You don’t. That’s fine. We can disagree on that.
You don’t think the Social Web Foundation is a fair name. I disagree. We’re not changing the name because you don’t like it.
It’s OK if you don’t want to work with SWF or support us. You may still benefit from the work we do.
You’ve asked me to take it easier on people who produce other protocols. That seems fair. I’m still going to stick up for ActivityPub when it is criticised, though.
Finally, I’m asking you to modulate your tone when you speak to me. I think there’s a code of conduct on SocialHub, and I’d like you disengage and give me some space here and elsewhere on the Web.
I’ve been hearing that BlueSky support is also integrated into Friendica now. I don’t know the details, but I’m going to check it out. It would be interesting to compare the level of interop with the Threads bridge to the AP Fediverse.
Thanks. I might have misunderstood your position … with this clarification, I think we see this part the same way but am not completely sure.
BS accounts are on the Fediverse.
The way I look at it, Bluesky is (at least in its current form) a single Fediverse instance that uses AT Proto internally – just as Threads (in its current form) is a single Fediverse instance that uses the Instagram tech stack internally. On both these platforms, most accounts don’t federate their posts.
They ended up being the main image for the page somehow. I’ve set the logo in WordPress as the main image, but it doesn’t seem to matter for these previews. At some point I’ll try to figure it out; we were trying to keep the site stable around launch time.