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".