Comments (20)
The way I understood diversity, I believe it is the percentage of a codebase that is outside of an company, so it won't be attainable through SQL.
If we care about the diversity of commits, we can use a NOT IN (subquery that finds companies orgs)
to make sure a user doesn't belong to any organization that has the name of a company
Here's an example of how you might find all orgs for a company:
SELECT DISTINCT organization_members.org_id, users.name FROM organization_members
JOIN users
ON organization_members.org_id = users.id
WHERE
users.name LIKE "%Google%"
I think we care about the number of contributors and scope of contributions outside of those orgs, regardless of the orgs they belong to.
from augur.
Help me clarify the concepts and their implications for GitHub repositories.
Organizations appear to be constructs within GitHub that own shared repositories.
- Can someone who is not a member of an organization, get commit rights on a repository?
- Thus, do all maintainers have to be members of the organization (will we ever see diversity of maintainers)?
- Can members of an organization be employed by different companies (diversity within organization)?
I think companies will be better for determining diversity because it reflects the employer of a contributor (we might have to do some clustering of similar company names).
from augur.
Georg:
Looking through the data, I do see a few examples where it appears that someone has commit rights but is not a member of the organization that owns the repo.
I suspect that organization members can be employed by different companies, but the queries I have written to confirm it are taking a while to run. I'll update when I have that information for sure.
Do you know a good way to do clustering of company names? Or should we create an issue/task for it?
Derek:
Okay, do you know of a data source that allows us to tell which companies are related to what parts of the code? Is that source something we need to be looking for?
I'm not sure how we would bring organizations together for an arbitrary name we may not be aware of. So if we specifically know we are looking for Google, we can do %Google%, but if we are going just based on a repo url I'm not sure how we could do that.
In general:
Is it useful to our project to know about diversity when it comes to commits, pull requests, etc? Is amount of code from different sources the only metric we will want?
Is it useful to know the number of organizations or companies contributing to a project? Or do we mainly want how many/how much of the contributions come from users that are not members of the organization that owns the project?
from augur.
@abuhman We can get the number of additions/deletions from the API and compare between in the orgs and out of the orgs.
from augur.
Okay great thanks I will start looking into that.
from augur.
@abuhman, thank you for investigating.
Ratio of maintainers that are not part of the organization are interesting
Do you know a good way to do clustering of company names? Or should we create an issue/task for it?
I do not. Something along what @howderek offered: LIKE "%Google%"
maybe?
Worst case, we can go through manually and maintain a list of synonyms.
In general:
Is it useful to our project to know about diversity when it comes to commits, pull requests, etc? Is amount of code from different sources the only metric we will want?Is it useful to know the number of organizations or companies contributing to a project? Or do we mainly want how many/how much of the contributions come from users that are not members of the organization that owns the project?
Yes, we do want more than diversity in code.
We might add to and probably clarify the current list of potential diversity indicators:
- Contributor Diversity
- Contribution Diversity
- Pull Request Diversity
from augur.
Hi all,
The diversity metric was one that came from folks at the Linux Foundation. The premise was with respect to the code base. When a company releases internal IP as an OSS project (see HP with FOSSOLOGY or NYSETechnologies with OpenMAMA), the code base will naturally be from that company. As foundations broker these projects, they'd like to see broader diversity in the code base over time. @howderek 's suggestion is a great one. I do think that what @GeorgLink also suggests a way to think about the code base diversity a bit more broadly.
There was also the metric that came from Saucelabs that was about building diversity in the maintainers -- looking at ways to determine path/time to becoming a core member of a community. This was a bit different to me but might fall in the same general area.
from augur.
Using Matt's background as a guide, I think @abuhman & @howderek & @GeorgLink : what diversity means, IMHO, then, is a ratio of commits/repo-commits and commits/org-commits ... or whatever the other measure is .. knowing these by individual and collectively will help us know the extent to which an organization is largely controlled by a small, non-diverse set of folks.
Contributor is, I think, a committer/issue creator/pull requestor combo grouping.
Pull request is specific. You probably also want metrics for the other component parts of "contributor" ...
We are aiming, I think, to tease out projects where:
- People contribute only to that project
- Projects are mostly the product of a small set of people
- Cases where the small set of people only contribute to one project
And, of course, we want to identify projects with greater diversity.
from augur.
Diversity is the thing here at the LFLS. The other diversity metric that showed up was geographic diversity (if that can be determined).
from augur.
@germonprez Geographic diversity can be inferred! GHTorrent includes the location information people put on their page. We can use the Google Maps API to turn those vague location names into more detailed location information including coordinates.
from augur.
from augur.
@GeorgLink I'm totally ready :) https://github.com/howderek/name-gender-csv
from augur.
from augur.
In the ghtorrent schema, there are fields for latitude, longitude, country code, city, and state. However, I could not find any information on how those fields are populated.
In the msr14 data set there is only a location field, about 45% of users have info for that, ranging from city, state to "Interwebz".
from augur.
Gender diversity can be determined partly by names. We should look for a "bag of names" that include probabilities that different names indicate specific genders. Somebody has likely done this. Somebody, possibly @GeorgLink , might want to follow this thread up and down citation wise ... http://eprints.qut.edu.au/8014/1/8014.pdf ... if we measure gender, we need to be systematic and methodical. We also need to make our algorithm and "bag of names" transparent and available as part of this or another public GitHub Repository.
I point this out because gender issues in computing are epidemic, and we need to be careful not to build metrics that reinforce current biases and gender equity issues in computing. Algorithms have values, and ours needs to be explicit and, I think, forward thinking. I suggest we vet it with a panel of people including Katie Siek at Indiana and Irina Schlovski at IT University in Copenhagen (two people I know will be willing to help us)
from augur.
As for data, here is a set created using info from Social Security for US names and similar organizations for UK names. https://github.com/OpenGenderTracking/globalnamedata
Edit: I didn't notice @howderek 's data he linked to earlier.
from augur.
I added some simple queries that associate locations with repo members and another one that counts commits that come from a location. Both of which could be useful in creating different heat maps
from augur.
we have initiated this development, and will, if we can, hit it in the next release.
from augur.
Lots of discussion here, so lets put this on the road map, @howderek @ChristianCme @ccarterlandis
Thanks!
Sean
from augur.
This discussion has moved to the CHAOSS D&I working group
from augur.
Related Issues (20)
- New Contributors metric API
- Inactive Contributors metric API
- New Contributors Closing Issues metric API
- Contribution Attribution metric API
- Number of Downloads metric API
- Conversion Rate metric API HOT 1
- OpenSSF Best Practices Badge metric API
- Elephant factor metric API
- Committers metric API
- Bus factor metric API
- Test coverage metric API
- Defect Resolution Duration metric API
- License Coverage metric API
- OSI Approved Licenses metric API
- Licenses Declared metric API
- SPDX Document metric API
- Upstream Code Dependencies metric API HOT 1
- Libyears metric API HOT 4
- repo_deps_libyear column name misspelled HOT 3
- repo_deps_libyear current_release_date and latest_release_date data type HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from augur.