all-contributors / all-contributors

✨ Recognize all contributors, not just the ones who push code ✨

Home Page:https://allcontributors.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] [Question] Support for CITATION.cff?

kevinmatthes opened this issue · comments

Is your feature request related to a problem? Please describe.
CFF is GitHub's standard to maintain a project's citation meta data. Its section on the repository authors is basically a list of contributors. Thus, I would like to maintain that list by this bot.

Describe the solution you'd like
Please consider to add support for CFF. The format is based on YAML 1.2, the list of authors I would like to have it maintained by the bot is an array of person and entity objects named authors, given at the top level of the YAML hierarchy.

Describe alternatives you've considered
Maybe CFF is already supported and I just failed to find the corresponding section in the documentation; if so, I would like to ask you to please provide me a link to the respective section.

Additional context

Regarding an implementation suggestion, I would like to suggest the following possibility. Let us therefore consider the following example where a user shall be added to the list of contributors. For simplicity, I will explain the meta data mapping with my own account.

The configuration file for this bot currently knows five fields for a contributor entity: login, name, avatar_url, profile, and finally the array of that user's contributions. For CFF, only the login, name, and profile fields are relevant as the other information do not have an appropriate representation in the current CFF schema version 1.2.0. The CFF author entry could then be assembled as follows from these three fields:

  - alias: kevinmatthes                      # login
    name: Kevin Matthes                      # name
    website: https://github.com/kevinmatthes # profile

This would be an entity rather than a person but it would avoid complicated name parsing algorithms for different regional conventions. CFF provides four fields for a person's name parts: given-names, family-names, name-particle, and name-suffix. This allows for very detailed information about the composition of the name parts as well as for regional specific data assembly as there are, for example, conventions which demand the family names to be noted before the given names. There is an ongoing discussion in the CFF repository which shows that the handling of name parts requires advanced techniques: citation-file-format/citation-file-format#329. For simplicity, leaving the name as a whole would be perfectly fine since I expect that most accounts to be added by this bot could not be decomposed into the supported name parts by any parser.

Furthermore, there is an ongoing discussion in the CFF repository regarding a field for contribution categories. The suggested name for that field is role / roles. This is the issue: citation-file-format/citation-file-format#112.