w3c / activitystreams

Activity Streams 2.0
https://www.w3.org/TR/activitystreams-core/
Other
276 stars 60 forks source link

Clarify the definitions of Application and Service types #563

Open trwnh opened 6 months ago

trwnh commented 6 months ago

Please Indicate One:

Please Describe the Issue:

It is fairly clear what Person, Organization, and Group are supposed to be -- they are directly parallel (or even equivalent to) the VCard kinds of Individual, Organization, and Group. (AS2-Core even recommends that you SHOULD use VCard properties to mark these up.)

However, it is much less clear what Application and Service are supposed to be. An Application is described as a "software app", which is workable enough, but a Service is incredibly vague, as it "represents a service of any kind". Given that the noun "service" has at least 9 different definitions, it would probably make sense to apply some limitations on this description. For example, it could be used to describe actors that provide help or do work or offer commercial support or any number of other things.

As a deliverable, a Primer page describing the actor types more in-depth and providing guidance on when to use each type would probably be a good thing to have. I'm not sure if there's any errata that could be proposed or applied to the AS2-Vocab spec doc's language too, but that's something else to consider.

evanp commented 6 months ago

In issue triage, we put together two pages in the AS2 primer on Application and Service:

https://www.w3.org/wiki/Activity_Streams/Primer/Application_type

https://www.w3.org/wiki/Activity_Streams/Primer/Service_type

There are definitely a lot of subtleties, but from a first-order review, Application = client and Service = server is an OK definition.

silverpill commented 6 months ago

All popular implementations use Application type for instance actors and Service type for automated accounts (aka bots). The role of Application actor is also described in FEP-2677: Identifying the Application Actor

Given the interchangeable nature of terms "application" and "service", I think these Primer pages should be changed to reflect de-facto standards:

ThisIsMissEm commented 3 months ago

591 has been opened relating to this issue.

w3c/ActivityPub#431 has also been opened relating to this issue.

evanp commented 3 months ago

@silverpill I've incorporated your comments into the Primer pages. Can you review, and if you're satisfied, comment here?

silverpill commented 3 months ago

@evanp Thanks. I can see the new revision of "Service type" page which adds information about bots. But it seems that general recommendations haven't been changed?

I think it could be helpful to look at this from a user's perspective. Whether software runs on a client side or a server side is not very important. What our user is interested in is interaction. This is probably the reason why some implementers have decided to use one type for bots and a different type for everything else: a bot can be followed and interacted with, but other software actors only work in background.

In my opinion Service and Application are good terms to describe these two categories, even if originally they had different meanings.