Activity Streams/FAQ

From W3C Wiki

Why are ActivityPub properties defined in the Activity Streams 2.0 JSON-LD context?

The Actor properties and object properties defined in the ActivityPub standard are an extension of Activity Streams 2.0. They are not part of the Activity Streams core or vocabulary specifications. AS2 serves a number of use cases, and the AP properties are specific for the use cases of server-to-server federation and client-to-server API.

However, Activity Streams 2.0 has a mechanism for including properties from popular extensions. "Some popular extensions are included in the Activity Streams 2.0 namespace document, and can be reviewed at https://www.w3.org/ns/activitystreams#extensions. The Social Web Incubator Community Group maintains a wiki page on Activity Streams extensions."

Currently, the main extensions included this way are AP and DID properties, but others may be added in the future.

This can be confusing, since extension properties are agreed-upon and defined elsewhere, but become part of the main "context" document for AS2. The advantage of having a single line of "@context" in AS2 JSON objects outweighs the disadvantage of distinguishing popular extensions from the core vocabulary.

I have an idea for a property or type for Activity Streams 2.0!

The process that we have outlined in the AS2 extensibility:

  • Develop the structure in an external context document, perhaps using the FEP. Ideally, you should also notify the SocialCG of the ongoing. See Extensions for rough ideas of what you can do with extensions.
  • Get the extension implemented in a number of software packages, preferably >1.
  • Once the extension is "popular", the SocialCG can vote whether or not to include its terms in the main activitystreams.jsonld context.