Activity Streams/Primer/Service type
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
Servicetypes where an actor type can be used. - Use
Servicetypes forinstrument. - Use
Serviceforgenerator, although this would more likely be anApplication. - Don't use
Servicefor 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. A pet-grooming service might be better identified as anOrganization, for example.
Guidance for consumers
- Treat
Serviceas an Internet software service, unless otherwise defined. - Some account services use
Servicefor an automated account or "bot".