Guide for new ActivityPub implementers

Sadly, the link does not work. Was it perhaps @cjs blog post?

The link seems to be gone @cjs

But it is in as

1 Like

@cjs will you restore the link, or should we update to the archived one?

There are some great resources in the guide including many protocols and implementation docs, so I made a list. #7 - Problem: There is no comprehensive list of federation standards in use - the-fediverse -

How do we add these two AP codeing projects, can’t find in CMS

Open Governance Body #OGB and Indymediaback #indymedia

As the coding is starting on these projects

This is a great introduction! Kudos.

1 Like

I added a notification at the top to indicate that the document can be edited by anyone (Press ‘Edit’ in bottom-right below the top post)…

:information_source:   Note: This is a Wiki Post that anyone can edit. Please help improve and extend this document !

The idea once was to collect sufficient information, restructure and then publish on a dedicated website (though the wiki post is published as separate html page through the forum as well).

1 Like

There is a feature in Discourse that enables time-limited contents. E.g., in this topic, we could enable a time limit so that we can freely discuss the wiki, and additions or changes to it, then integrate those changes, and the conversation would be cleaned up once a month or so. Does it make sense?

It might make sense. It should be part of some more effort to turn this into a high quality chunk of documentation. It needs a process then, and people dedicating to it. Right now I think most people do not realize that the top post is a wiki that they can freely update, and are even encouraged to do so.

An improvement to this documentation process isn’t useful if at the same time @gabek and @j12t are coordinating the initiative that intends to do the same. Hence I mentioned the “Fediverse Developer Documentation Website” bullet point in the wiki about organizing for more cohesion of initiatives.

I notice Zap has been moved to a different location in the same forge, Codeberg:

This would affect the url pointer in the section on

Does anybody know the correct update to provide?

1 Like

These archive locations are accurate to reference the original projects. You can update the wiki above accordingly. @macgirvin’s most recent project is Streams and is the successor to these. It includes specifications for the Nomad nomadic identity implementation, among others.

ah yes.

This was from a recent post from @macgirvin

I’ve started to pick it up and try again using did’s as a proof of concept, but I’m retired now and really can’t be bothered dying on the same hill over and over again.

But I will try and update Nomad (the protocol, formerly Zot) to use a did: form. It’s just a replacement WebMTA for delivering JSON ActivityStreams which is nomadic aware. There’s still no chance of it ever getting into ActivityPub unless it’s invented by the Mastodon dictator.

Meanwhile the spec is in the public domain and there are working implementations and it federates with ActivityPub and nobody is holding a gun to anybody’s head.

I find @macgirvin’s complaint a bit harsh (or outdated?) since there is now the Fediverse Enhancement Proposals process and some discussions about nomadic identities, including Nomadic identity for the fediverse?

I wonder why there is no FEP for it though.

This should serve as a poignant warning to any emerging ActivityPub implementers. Don’t rock the boat or this could happen to you. By “this” I mean turning a simple request to fix a link into an ad hominem attack. The missing context in the referenced post was my description of working with the standards process. I’ve worked with a lot of internet and fediverse standards processes over the decades. The ActivityPub standardisation process stood out for its sheer brutality and cronyism. The FEP process was at first a welcome change but the euphoria was short-lived as the same partisan factions re-emerged.

Happy coding.

(I fail to see what the ad-hominem and “rocking the boat” refer to, but) I would like to mention that this is incorrect:

Just write your FEP, see its PR be merged, and bring it to FINAL according to the procedure. There’s no “partisan factions” that can withhold you from doing that. And if something untoward like that did happen wrt the FEP process, then it must be addressed. The FEP process is open to anyone.


I had no intention to cause any offence (one way or another) with my choice of and brevity of citation - merely to contextualise the state Zap from a recent posting of yours.

As I provided a pointer to the original post in a favourable instance (featuring supportive company), I am confused as to how you have been put at any disadvantage nor how I have let you lose face.

Happy coding!
And thanks for your various technological and governance contributions over the years!

I’ve written a JSON-LD serialization library in Python a while ago that might be of interest here: GitHub - SwissDataScienceCenter/calamus: A JSON-LD Serialization Libary for Python

it’s based on marshmallow and allows (de)serializing Python classes to/from JSON-LD.


Yeah, I’m also very curious about what you mean by “same partisan factions re-emerged” in the FEP process. What are those factions doing…? It’s a very low-weight and open process.

I also fail to see ad-hominem attack, and find @macgirvin’s reply just troubling. Is there something going on in the Fediverse that I missed lately that renders all people nervous? Some kind of fediflu maybe? I’m getting tired of this.

1 Like