User Tools

Site Tools


oss-health-metrics:metrics:contributor-diversity

This is an old revision of the document!


Contributor Diversity

1. Acronym

2. Alternate Names

3. Classification

Community Health

4. Description

Ratio of contributors from a single company over all contributors Also described as: Maintainers from different companies. Diversity of contributor affiliation.

Visualization

Interpretation

5. Known Implementations

6. Data Source

GHTorrent Database

7. Pseudo Code/Query

Total number of organizations by project making pull requests (approved or not):

SELECT count(distinct org_id) as num_organizations, projects.name as project_name, url
FROM
	organization_members
    join users on organization_members.user_id = users.id
    join pull_request_history on pull_request_history.actor_id = users.id
    join pull_requests on pull_request_history.pull_request_id = pull_requests.id
    join projects on pull_requests.base_repo_id = projects.id
WHERE pull_request_history.action = 'opened'
group by projects.id

Alternately, using the "company" field in the users table instead of the organization:

SELECT count(distinct company) as num_companies, projects.name as project_name, url
FROM
    users
    join pull_request_history on pull_request_history.actor_id = users.id
    join pull_requests on pull_request_history.pull_request_id = pull_requests.id
    join projects on pull_requests.base_repo_id = projects.id
WHERE pull_request_history.action = 'opened' 
GROUP BY projects.id

Number of organizations by project making pull requests that are approved:

SELECT count(distinct org_id) as num_organizations, projects.name as project_name, url
FROM
	organization_members
    join users on organization_members.user_id = users.id
    join pull_request_history on pull_request_history.actor_id = users.id
    join pull_requests on pull_request_history.pull_request_id = pull_requests.id
    join projects on pull_requests.base_repo_id = projects.id
WHERE pull_request_history.action = 'opened'
	AND pull_requests.id in
    (SELECT pull_request_id 
		from pull_request_history
	where action = 'merged')
group by projects.id

8. Data Exchange Format

9. References to Academic Literature

Papers released in the academic literature that uses the metric.

10. Internet References

Links to websites that add value to the understanding of the metric.

11. Contributors

Authors of the metric page and authors who made significant changes.

oss-health-metrics/metrics/contributor-diversity.1491419613.txt.gz · Last modified: 2017/04/05 19:13 by abuhman