Guide for new ActivityPub implementers

We’re hitting the length limit for posts, so I’ll add here a stub of a last section of the implementers’ guide on how to improve ActivityPub as suggested earlier by @Sebastian:

Improving ActivityPub

Aided by a culture of collaboration among Fediverse advocates and participants, there is ongoing work to improve both the ActivityPub specification and interoperability among different ActivityPub implementations. Initiatives like FediConf, Feneas, and the ActivityPub forum on Activitypub.Rocks are great places to connect with other implementers and help move things forward.


@nedjo: I’ve gone ahead and upped the post length limit, so at least until we find a better place for it we can continue on with posting here. I think we should also split a couple of these sections out into their own threads, like “Introduction to Activitypub” and “Guide for new Activitypub users”—would you mind making new threads for these? I think that would make this post a lot more navigable.

@nightpool: done:

When you get a chance, please convert those other two pages into wikis. Thx!

1 Like


I use it too. Mostly because of LD-signatures.

I created a topic to discuss this again: Easing the onboarding of new developers to the Fediverse (and this post will bump the wiki guide to the top again, which is also good for attention :wink: )

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.