Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disambiguate usage of attributedTo #467

Open
trwnh opened this issue Aug 30, 2024 · 4 comments
Open

Disambiguate usage of attributedTo #467

trwnh opened this issue Aug 30, 2024 · 4 comments
Assignees
Labels
Needs Primer Page Needs a page in the ActivityPub primer

Comments

@trwnh
Copy link

trwnh commented Aug 30, 2024

AP 6.2 Create Activity has this:

When a Create activity is posted, the actor of the activity SHOULD be copied onto the object's attributedTo field.

throughout examples used in the activitypub spec, attributedTo is used fairly consistently to signal attribution in the sense of who Created an object, or perhaps somewhat in the sense of who authored an object.

however, the definition of attributedTo in AS2-Vocab is circular: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto

Identifies one or more entities to which this object is attributed. The attributed entities might not be Actors. For instance, an object might be attributed to the completion of another activity.

and oxford defines "attribute"/"attribution" as:

regard something as being caused by (someone or something).

ascribe a work or remark to (a particular author, artist, or speaker)

so there is room left open for the following use cases in theory but not in practice:

  • saying that a Collection is attributedTo a non-actor object, e.g. an object's likes Collection may be attributedTo to that object itself, or it may be attributedTo no one (signalling a server-managed collection?), or it may be attributedTo the object's attributedTo, and so on.
  • saying that an object is attributedTo the Create activity that created it, instead of or in addition to the Create activity's actor
  • saying that an Activity is attributedTo another activity that caused or resulted in the current activity. (FEP-0391 currently uses this as a mechanism, in combination with result)
  • saying any of the above, but with multiple values

more generally, there are a lot of potential meanings for "attribution" that could be spun off into their own more appropriate properties. even in the sense of authorship, we could use something like dublin core's creator or schema.org's author to be more precise; we can also use these to declare multiple-authorship while not breaking existing assumptions of a single "owner" (where "ownership" is in the sense described in https://w3id.org/fep/c7d3 as a formalization of the current practices on the fediverse).

  • ascription/authorship
  • ownership
  • causality/results
@ap-socialhub
Copy link
Collaborator

This issue has been mentioned on SocialHub. There might be relevant details there:

https://socialhub.activitypub.rocks/t/fep-c7d3-ownership/4292/36

@evanp evanp added the Needs Primer Page Needs a page in the ActivityPub primer label Sep 6, 2024
@evanp evanp self-assigned this Sep 6, 2024
@ThisIsMissEm
Copy link

This was also mentioned in this SocialHub thread to be able to keep the instance actor as the Actor of the Flag activity, but the Flag still has an opaque identifier from the origin server that identifies the reporter without surfacing the identify specifically.

This use case specifically might be something best suited to the Moderation, Trust & Safety Taskforce

@trwnh
Copy link
Author

trwnh commented Sep 6, 2024

the Flag still has an opaque identifier from the origin server that identifies the reporter without surfacing the identify specifically.

for that use case i think attributedTo is inappropriate since actor is already a subproperty of attributedTo. the solution that makes more sense in this case is to use a proxy actor. there's no reason it has to be a singular "instance actor". it could be an anonymized actor that maps to that user who filed the report. activitypub does not mandate a "1 actor per user" mapping, or any other mapping between actors and users. i think piefed for example is using proxy actors to anonymize upvotes/downvotes via Like/Dislike activities: https://socialhub.activitypub.rocks/t/anonymous-likes-dislikes-or-other-activities-via-proxy-user/4472

@nightpool
Copy link
Collaborator

nightpool commented Sep 6, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Primer Page Needs a page in the ActivityPub primer
Projects
None yet
Development

No branches or pull requests

5 participants