Rewrite roles for clarity and best practice (fix #106) - #136
Conversation
| The `Role` type property is used to define the contribution of a `Person`. It | ||
| describes their contribution independently of the person, and allows a person, | ||
| through their `id` to be linked to all of their various roles. |
There was a problem hiding this comment.
| The `Role` type property is used to define the contribution of a `Person`. It | |
| describes their contribution independently of the person, and allows a person, | |
| through their `id` to be linked to all of their various roles. | |
| The `Role` type is used to define the contribution of a `Person`. It | |
| describes their contribution independently of the person, and allows a person, | |
| through their `id` to be linked to all of their various roles. |
Role is not a property
| One `Person` can be credited for multiple types of `Role`. This means, for | ||
| example, that one person can be credited as "Developer" and for "Documentation". | ||
| Multiple people can be attributed to the same `roleName`. A `Role` can also be | ||
| defined for a specific period of time by using the `startDate` and `endDate` | ||
| properties. |
There was a problem hiding this comment.
| One `Person` can be credited for multiple types of `Role`. This means, for | |
| example, that one person can be credited as "Developer" and for "Documentation". | |
| Multiple people can be attributed to the same `roleName`. A `Role` can also be | |
| defined for a specific period of time by using the `startDate` and `endDate` | |
| properties. | |
| One `Person` can be credited for multiple kinds of `Role`. This means, for | |
| example, that one person can be credited as "Developer" and for "Documentation". | |
| Multiple people can be attributed to the same `roleName`. A `Role` can also be | |
| defined for a specific period of time by using the `startDate` and `endDate` | |
| properties. |
to avoid confusion with the other meaning of "type"
| `Role` is distinct from other `Person` type properties that such as the | ||
| `maintainer` property. Those properties should be defined separately as | ||
| top-level properties of the document, containing at least one `Person`. | ||
| {.tip} |
There was a problem hiding this comment.
I'm not sure what this means. First, Role and Person are types (of values) but maintainer is a property. And both Role and Person are valid as (items of) values for the author property for example.
There was a problem hiding this comment.
I'm not sure what this means. First,
RoleandPersonare types (of values) butmaintaineris a property. And bothRoleandPersonare valid as (items of) values for theauthorproperty for example.
That maintainer doesn't replace the need for a role. It wouldn't be grabbed as a substitute for role in processing if a role for a person didn't exist in the document, right?
There was a problem hiding this comment.
I'll update the PR to say that in a bit, if so.
|
Interestingly, the example in the ticket is quite different from our early debates on Roles on this: From the exchanges on this PR, and from debates with CodeMeta enthusiasts, there is a question about why a separate top-level property for maintainer when it could be identified as part of a role. The reason is the importance of having a maintainer for software and its particular status as being accountable. This is reflected in the vocabulary. For CodeMeta, we wanted to express the following: I found the original ticket in our legacy Forge: https://forge.softwareheritage.org/T2329 |
|
My read was that since roles can have start and end dates, they can be passed around. A explicitly declared maintainer makes it completely unambiguous about the roles at the point in time that the document is a snapshot. I'm glad that I read that correctly. I'll fix it up tomorrow as well when i do the dev guide fix. Have a good night. |
No description provided.