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

10. Internet References

11. Contributors

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

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