What is an Actor, anyway...
-
This is a spin-off discussion from today's ForumWG meeting
During today's ForumWG meeting an interesting side discussion cropped up regarding what constitutes an Actor, and whether other object types could be considered Actor-like.
ActivityStreams defines an Actor as being one of five types:
- Application
- Group
- Organization
- Person
- Service
However, a looser definition of an Actor could simply be "if the resolved object contains an inbox and an outbox".
Such a definition opens up the possibility of having lots of things be followable, perhaps without direct user interaction. This was one possibility outlined by @[email protected]
@[email protected] also mentioned that Mastodon does not consider an object as being an actor unless it is one of those five types.
@[email protected] noted that this was a topic brought up at a previous AP issue triage meeting. Could you provide a summary?
Also cc @[email protected] for his thoughts.
-
BeAware :fediverse:replied to julian on last edited by
@julian I would enjoy being able to follow different things like entire instances or such...
-
@julian From ActivityPub spec:
>ActivityPub actors are generally one of the ActivityStreams Actor Types, but they don't have to be.
The looser definition is correct.
-
-
-
Evan Prodromoureplied to Evan Prodromou on last edited by
-
smallcircles (Humanity Now 🕊)replied to silverpill on last edited by
Though they are different beasts I continue to be intrigued by alignments in codebase and architecture of actor model with the actor-based nature of AP.
Thoughts on Actor Model versus Fediverse
Hrefna as always posted some intriguing thoughts and mentioned actor behavior on the Fediverse, among which: On FediDevs chat @trwnh mused further on this: i’ve thought about this sorta as well – we need a way to kn…
SocialHub (socialhub.activitypub.rocks)
-
smallcircles (Humanity Now 🕊)replied to silverpill on last edited by
Though they are different beasts I continue to be intrigued by alignments in codebase and architecture of actor model with the actor-based nature of AP. Posted some musings before, inspired by @hrefna
Thoughts on Actor Model versus Fediverse
Hrefna as always posted some intriguing thoughts and mentioned actor behavior on the Fediverse, among which: On FediDevs chat @trwnh mused further on this: i’ve thought about this sorta as well – we need a way to kn…
SocialHub (socialhub.activitypub.rocks)
-
Hrefna (DHC)replied to smallcircles (Humanity Now 🕊) on last edited by
To answer the question: The standard that I have been told is that "anything can be an actor without declaring it, it just needs an inbox and outbox."
I think this is a terrible pattern, personally, but that's the standard.
-
infinite love â´³replied to Evan Prodromou on last edited by
@evan @julian @cpmoser @dmitri
[ActivityPub] Do not check for specific actor types · Issue #22322 · mastodon/mastodon
Steps to reproduce the problem mastodon/app/services/activitypub/fetch_remote_actor_service.rb Line 10 in c8849d6 SUPPORTED_TYPES = %w(Application Group Organization Person Service).freeze mastodon/app/lib/activitypub/activity/update.rb ...
GitHub (github.com)
What would work for Mastodon is to multi-type the actor as one of the five types, so you could do [Group, Collection] or [Service, Collection] but not just [Collection]
But yeah, I think the restriction should be dropped.
-
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 anyObject
referenced orLink
'ed to by theactor
property of anActivity
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.