Contributor attribution in Git history #4792
Replies: 1 comment 5 replies
-
|
I am OK with any of these so long as you are going to do the work to set them up. Any time this has come up in the past I have suggested adding a I can also try to use a standard form of text (I usually do "from X in GitHub issue Y", or "from X", or "from X via Y", or from "email at domain dot name") for automated parsing, but it is important that there is a way to manually tweak them because inevitably there will be typos or people will be missed. Also I don't feel there is any point in crediting people who choose to be anonymous - I do try to track down a name or email for contributors but if they choose only to use an alias then I think it is safe to assume they are happy to go without credit (so far nobody has complained). Using Git features is OK, if Git ever goes out of fashion there will no doubt be ways to deal with it. I don't really want to use GitHub features because then if and when GitHub do a SourceForge and we have to move, we are stuck with a load of GitHub metadata in the commit messages. Although TBH source code history is useful but not that important for a small project. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I wanted to open a discussion about how contributor attribution is handled in the Git repository, building on some points raised in #4419.
Background
tmux is developed in OpenBSD's CVS repository, with Git as a mirror. When contributions are accepted, maintainers apply them to CVS, and those commits sync to Git. Because the CVS committer becomes the Git author, external contributors don't appear in the Git history's author field.
The concern
The
Authorfield is a Git feature, not a GitHub feature. This metadata is visible in any Git tooling -git log, GitLab, Gitea, self-hosted instances, etc. So this isn't about adapting to GitHub specifically; it's about the format the project already publishes in.Visible attribution matters to contributors. Many use their commit history to demonstrate work to employers, collaborators, and the broader community. It's a meaningful motivator for open source engagement. While tmux has a healthy contributor base, accurate Git attribution could lower the barrier for new contributors and recognize the work of existing ones.
Possible solutions
Since the CVS workflow is established and changing it isn't practical, the solution would be in the CVS→Git mirroring process:
Parse commit messages during mirroring - Contributor names already appear in commit message text. The mirroring script could extract these and set
--authoraccordingly when creating Git commits.Maintain a contributor mapping file - A simple file mapping contribution descriptions or PR numbers to author name/email. The mirroring process references this when creating Git commits.
Add Co-authored-by trailers during mirroring - If setting the primary author isn't feasible, trailers could be appended to Git commit messages during the conversion. This preserves the CVS commit message while adding Git-standard attribution.
None of these require changes to CVS commits or the maintainers' workflow - just a one-time update to how the Git mirror is generated.
Summary
This isn't a criticism of how the project is run - tmux is well-maintained and has been for years. But I think this is a small change that could have a positive impact on contributor engagement. Happy to hear other perspectives or help with implementation if there's interest.
Beta Was this translation helpful? Give feedback.
All reactions