Skip to content

Take co-authoring contributions into consideration #3746

@seisman

Description

@seisman

Continue discussions in #3730 (comment).

Currently, we use the git shortlog -sne command to count author contributions. Below is a trimmed output on 2025/01/05:

  1054  Dongdong Tian <seisman.info@gmail.com>
   278  Yvonne Fröhlich <94163266+yvonnefroehlich@users.noreply.github.com>
   266  dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
   261  Wei Ji <23487320+weiji14@users.noreply.github.com>
   256  Leonardo Uieda <leouieda@gmail.com>
   192  Will Schlitzer <schlitzer90@gmail.com>
   130  Michael Grund <23025878+michaelgrund@users.noreply.github.com>
    68  Meghan Jones <meghanj@alum.mit.edu>
    33  Yao Jiayuan <coreman.seism@gmail.com>
    30  Meghan Jones <meghanj@hawaii.edu>
    16  Michael Grund <michael_grund@gmx.de>
    15  Liam Toney <38269494+liamtoney@users.noreply.github.com>

The GitHub contributors page (https://github.com/GenericMappingTools/pygmt/graphs/contributors) shows totally different numbers of commits, likely because GitHub also considers co-authorship. I feel these numbers (including the number of additions and deletions) make more sense.

To consider co-authorship, we can use the following command:

git shortlog -sne --group=author --group=trailer:co-authored-by

The output is:

  1396  Dongdong Tian <seisman.info@gmail.com>
   603  Wei Ji <23487320+weiji14@users.noreply.github.com>
   398  Yvonne Fröhlich <94163266+yvonnefroehlich@users.noreply.github.com>
   266  dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
   258  Leonardo Uieda <leouieda@gmail.com>
   256  Michael Grund <23025878+michaelgrund@users.noreply.github.com>
   237  Will Schlitzer <schlitzer90@gmail.com>
   129  Meghan Jones <meghanj@alum.mit.edu>
    53  Yao Jiayuan <coreman.seism@gmail.com>
    45  Meghan Jones <meghanj@hawaii.edu>
    22  Michael Grund <michael_grund@gmx.de>
    16  actions-bot <58130806+actions-bot@users.noreply.github.com>
    15  Liam Toney <38269494+liamtoney@users.noreply.github.com>
    14  Max Jones <meghanj@alum.mit.edu>
     8  Meghan Jones <meghanrjones@users.noreply.github.com>
     7  Max Jones <14077947+maxrjones@users.noreply.github.com>
     7  Wei Ji <weiji.leong@vuw.ac.nz>
     7  yohaimagen <mayochay@gmail.com>
     5  Tong <86273921+JingHuiTong@users.noreply.github.com>
     4  TIAN Dongdong <seisman.info@gmail.com>
     4  Yvonne Fröhlich <yfroe@gpiseis16.gpi.kit.edu>
     3  Andre L. Belem <andrebelem@id.uff.br>
     3  Dongdong Tian <seisman@users.noreply.github.com>

After merging the commits from the same author but with different git commit author names or emails, the numbers are the same as those of GitHub.

Currently, we count the contributions (using git shortlog -sne) in the following places (xref: https://github.com/GenericMappingTools/pygmt/blob/main/AUTHORSHIP.md):

  • Changelog for each release
  • Authorship on Zenodo archives of releases
  • Scientific publications (papers)

I think in all these cases, the co-authorship contributions should be considered.

Metadata

Metadata

Assignees

No one assigned

    Labels

    maintenanceBoring but important stuff for the core devs

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions