Activity Streams/Primer/Service type

From W3C Wiki

The Service type in the Activity Vocabulary is defined as Represents a service of any kind. This can be somewhat confusing, especially since the English word "service" has at least 9 different definitions (thanks @trwnh).

In the context of social network application, a Service most often is used for server-side software implementations. Here, "server" typically means a software application that is running all the time, and is accessible over the Internet during that time.

For example, a Mastodon server that provides API access, federation protocol, and a Web interface, would be a Service. Note that the Mastodon server has different roles, but we treat it as a single "service".

The service does not have to be a literal single piece of software running on a single computer. WordPress.com, for example, is a blog-hosting service that we could treat as a single Service.

The generator property of an Object may be a Service, although this would more likely be a Application. Similarly, the instrument property of an Activity may be a service.

A Service can also be an ActivityPub actor, in which case it has the full set of AP properties, such as inbox, outbox, etc.

Guidance for publishers

  • Use Service types where an actor type can be used.
  • Use Service types for instrument.
  • Use Service for generator, although this would more likely be an Application.
  • Don't use Service for other types of service (like a catering service) in Activity Streams 2.0 without careful documentation. If needed, use multi-typing to specify the type of service.

Guidance for consumers

  • Treat Service as an Internet software service, unless otherwise defined.
  • Some account services use Service for an automated account or "bot".