Historically, the distinction between
origin_id has mostly been whatever’s the most convenient for the message you’re writing. Both of them function identically as a route key (resolve to the same shard). I don’t think we’ve had any hard and fast rules around when to use which. It’s just been left up to the discretion of the person writing the code.
owner_id have typically referred to the
account_id of the logged in user that performed the action, with the distinction being that
owner_id is used when someone can own something, like an origin or a package. If there’s no ownership involved, then
requestor_id is used, but again, this distinction is somewhat arbitrary and just left up to people’s discretion.
On the whole, we should be a lot more disciplined around the naming of fields in the messages and at least attempt to follow some conventions.