Getting extensions into the ActivityStreams 2.0 namespace

There have been multiple attempts at a process for getting well-used extensions into the official ActivityStreams 2.0 namespace - doing so helps with discoverability and interop, as people can use each others extension terms, rather than reinventing things over and over. But none of the processes proposed could get consensus, and so nothing has been formalised.

I’m invested in this because there is a property used by mastodon that the DID WG also want to use that we need to see in the namespace, but also because it’d be nice if extensions work properly for everyone.

A lightweight process could be something like:

  1. Two or more implementations are sharing a term (either a property or activity/object type), and using it in the same way.
  2. An agreed definition is written up in some sort of authoritative document - another W3C spec, a CG report, or something else stable and persistent (and ideally versioned).
  3. A PR is made to the AS2 namespace to add the link and JSON-LD context definition.
  4. The SocialCG convenes a meeting to agree to merge the PR, or if there are changes that would improve the status of the extension so it can be merged, or if there is some reason to definitely not merge it (eg. it is offensive, deliberately misleading, violates someone else’s copyright, the definition really doesn’t make sense, etc).

I’d love to hear from others, particularly those of you who are using your own vocabularies to complement AS2.


#activitypub seems like the right place for collectively discussing and drafting such documents. Discourse can now publish pages, so the first post of a topic can appear at a stable URL under the /pub namespace. The first post can be fetched via JSON and put into some Git repository, ideally under or

@pukkamustard also proposed:

Yes, this is very important! My impression is that the process would do good to be heavy on documentation (contributing to a canonical place where what implementations are using is explained in detail) and light on process (especially the kind that can be blocked by lack of concensus). But maybe we’re talking about two different things, and a documentation process could feed into a later standardisation process?

I guess the idea for the #activitypub category was to gather thoughts, ideas and preliminary work to avoid cluttering the SocialCG with discussion only relevant to the ActivityPub community, as it is also used by the other social web communities (e.g., @aaronpk’s Webmentions and Micropub belong there as well).

The process looks good to me, would need to read JSON-LD spec again for small details but as LitePub quite went down while Pleroma continues to live it would be useful to have our extensions easily discoverable by others.


+1 for having a process to add extensions. I just now realized that there are already lots of extensions proposed (and used) by Mastodon. See also "Topics" and Services we can subscribe to.