What is an Actor, anyway...

The AS2 Recommendation defines actors as “entities capable of carrying out an Activity” and (for the Application actor property) “[describing] one or more entities that either performed or are expected to perform the activity”. One can infer that any Object referenced or Link’ed to by the actor property of an Activity type is an actor that “carried out (or performed) the activity”.

The ActivityPub Recommendation added additional requirements for an actor to have inbox and outbox endpoints. (However, the inverse isn’t necessarily true. An object with an inbox and outbox endpoint may or may not be an AP actor.)

From my perspective this means there are AS2 actors and there are AP actors. The former have no inbox/outbox requirement. The AP actors are a constrained variant of AS2 actors. An application can have both kind of actors. Obviously, the AS2-only actors cannot communicate using AP inboxes, but they may still be useful, in general, for modeling “entities capable of carrying out an Activity”.

I’m not making any claims about well this would interoperate given how the existing AP implementations have evolved. Most current applications are hard-coded to a very restricted subset of AS2 types and often make actor-related assumptions that are not part of the AS2/AP Recommendations.

In practice, beyond the 5 core actor “types” in AS2, identifying actor and extended actor types seems to me to be very application-specific.

4 Likes