docs/contributing/counting-contributions.md
The Zulip team page displays commit counts for contributors to Zulip projects. We display these statistics prominently because they are easy to compute, and can be fun and motivating for some of our contributors.
We do not consider commit count to be a good way to measure someone's contributions to a software project. Many invaluable contributions may not result in the contributor authoring any code at all, including design, feedback, translations, bug reports, helping new contributors, and other types of participation in our development community. These non-code contributions are essential to making the Zulip project successful.
Thus, Zulip's policy is to always express appreciation for non-code contributions to the project whenever we discuss code contribution statistics, especially in our highest-visibility contexts like release blog posts.
The data for all contributors to the Zulip project is aggregated by querying GitHub's API endpoint for listing a repository's contributors. The numbers Zulip gets from this endpoint differs slightly from the data GitHub displays in a repository's contributors page. This discrepancy is due to the following reasons:
If you remove an email address from your GitHub profile, the commits
you contributed with that email as the GIT_AUTHOR_EMAIL will
disappear from your GitHub profile. If you made contributions to Zulip
with an author email address that is no longer associated with your
GitHub profile, here are some important points to keep in mind:
.mailmap file at the root of the repository where your
contributed.The comments at the top of our .mailmap files document how to map
your old email address to one currently associated with your GitHub
account.
To dig deeper into how the contributor stats are calculated, please check out the following files in the Zulip server repository:
tools/fetch-contributor-data - The script that fetches contributor
data from GitHub's API.static/js/portico/team.js - The JavaScript code that processes and
renders the data received from GitHub.As noted above, Zulip's policy is to express appreciation for non-code contributions to the project whenever we discuss code contribution statistics.
We do not specifically attribute non-code contributions by name, because the logistics of giving individual attributions in a consistent and fair way across 50+ features in a release are far more than we have the capacity to manage.
For context, a significant feature usually involves a half-dozen people or more helping with different parts of the work (suggesting ideas, providing technical and non-technical feedback, etc.). Contributions can range from multiple rounds of PR reviews to a 👍 reaction on someone else's suggestion. Even if one could review everything that happened (in itself a daunting task), it may not be clear which contributions should "count". At the same time, seeing that your name is missing from a list of attributions where it belongs can feel really hurtful.
So, while we cannot thank everyone by name, please know that your contributions are deeply appreciated!