In the past year or so there has been many discussions on how to represent a user in a federated environment. During yesterday’s discussion in a coworking session two ideas were mixed together into one proposition:
- An identity is represented by a domain + an id. For instance
https://mastodon.online/@forgefriendsis made of
- A user that controls two identities may choose to merge them into one. For instance let say an issue is created by
https://A.org/@userAand a comment is added by
https://B.org/@userB. The development environment where this issue is represented can allow
https://A.org/@userAto be merged into
https://B.org/@userBprovided both users agree. If they are both the same person or for any other reason.
The user merging operation is similar to what Mastodon offers when a user moves from one instance to another. And to what Discourse provides (but only for admins) when merging two users together.
So far the idea was that it is required for a user in a federated environment to be represented by a collection of identities. This is simpler and more in line with what currently happens in federated environments while being practical in terms of reclaiming ownership of artifacts authored by a given user in a given development environment.