What determines contributor status in Span user profiles?
Last updated: May 29, 2026
Contributor Status
Contributor status marks whether a person in your organization is a code contributor — someone who actively works in your version control system (GitHub, GitLab, or Azure DevOps). This status determines whether a person's activity is included in engineering metrics like PR cycle time, code review, AI adoption, and active days.
How it's set automatically
Contributor status is assigned automatically during directory sync, based on whether a person has a VCS username (GitHub, GitLab, or ADO) mapped to their profile.
Scenario | Result |
|---|---|
New person added with a VCS username in the sync payload | ✅ Marked as Contributor |
New person added with no VCS username | ❌ Not marked as Contributor |
Existing person who had no VCS mapping, and a VCS username is added in sync | ✅ Automatically upgraded to Contributor |
Existing person who already had a VCS mapping | Status is preserved as-is, regardless of changes to the sync data |
Important: Contributor status is "sticky" — once someone is marked as a contributor, removing their VCS username from a sync will not automatically revert them to non-contributor. The status must be changed manually.
How to set it manually
Contributor status can be set manually on any person's profile, regardless of whether they have a VCS username. This is useful for:
Correcting a person who was auto-marked as a contributor but shouldn't be (e.g. a manager with a GitHub account)
Marking someone as a contributor who wasn't picked up automatically
What VCS usernames count?
Any username mapped to the following platforms will trigger automatic contributor status:
GitHub
GitLab
Azure DevOps (ADO)
Why does this matter?
Most engineering metrics in Span filter by contributor status by default. Non-contributors (e.g. managers, PMs, operations staff) are excluded from these reports so that team-level productivity data reflects only the people actively writing code.