That file claims that it is automatically generated:
Names below this line are automatically generated from the repository logs. It contains the information about the committer that was publicly present when the commit was made.
But it appears that the process that maintains the contributors list isn’t automated and wasn’t executed for several years: CONTRIBUTORS.txt contains 221 individuals (including duplicates), whereas the GitHub says that Swift project has 581contributors.
Can this process be automated, or at least executed regularly, and update the list of contributors to reflect all the hard work the community has poured in?
The CONTRIBUTORS file is something I was going to suggest we remove because it has problems being kept up-to-date and that all this information can be queried from GitHub. Before we made that switch I wanted to make sure the affordances provided by GutHub are adequate so that we don’t have the same problem of not appropriately crediting people. It’s been on my list of TODOs.
Well, I for one, don’t know how to get more than the list of top100 contributors from that github listing, and that doesn’t seem sufficient from copyright perspective… maybe someone from legal should have a look at that, too?
You can use 'shortlog' in git to list everyone that has made a contribution via git, e.g.:
git shortlog -s -e --no-merges
We could introduce a .mailmap file as well to clean up this output for people that have contributed under multiple email addresses but only want a single current canonical one to show up in the output.
FYI – If one always wants to use the mailmap with log-like operations (including git blame), then set log.mailmap to true in the desired git configuration file. For example, to change ~/.gitconfig, one can run git config --global log.mailmap true