A Project can have several roles as part of its governance. In the case of npmx, we have Contributors, Maintainers, Core, and Stewards roles (see governance.npmx.dev). Each of these roles is a group of users.
For a Role or Team in a Project, we would need:
- Name, Description, Avatar
- List of users (with Users claiming back they are part of this role? Or it may be enough to claim they are part of the Project)
- Later on, we can ignore for now: Resources? Permissions?
We need to decide the level of abstraction to represent these. From current discussions, it seems we're leaning towards using Generic Groups with a conventional type. This would allow for these roles to be understood in more applications. sifa.id could show a Project role badge for a user for example.
@brittanyellich has already done a lot of work for groups as part of her work on Open Social, where roles are already supported.
A Project can have several roles as part of its governance. In the case of npmx, we have Contributors, Maintainers, Core, and Stewards roles (see governance.npmx.dev). Each of these roles is a group of users.
For a Role or Team in a Project, we would need:
We need to decide the level of abstraction to represent these. From current discussions, it seems we're leaning towards using Generic Groups with a conventional type. This would allow for these roles to be understood in more applications. sifa.id could show a Project role badge for a user for example.
@brittanyellich has already done a lot of work for groups as part of her work on Open Social, where roles are already supported.