Giter Site home page Giter Site logo

Comments (20)

howderek avatar howderek commented on May 21, 2024

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.

GeorgLink avatar GeorgLink commented on May 21, 2024

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.

abuhman avatar abuhman commented on May 21, 2024

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.

howderek avatar howderek commented on May 21, 2024

@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.

abuhman avatar abuhman commented on May 21, 2024

Okay great thanks I will start looking into that.

from augur.

GeorgLink avatar GeorgLink commented on May 21, 2024

@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.

germonprez avatar germonprez commented on May 21, 2024

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.

sgoggins avatar sgoggins commented on May 21, 2024

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:

  1. People contribute only to that project
  2. Projects are mostly the product of a small set of people
  3. 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.

germonprez avatar germonprez commented on May 21, 2024

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.

howderek avatar howderek commented on May 21, 2024

@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.

GeorgLink avatar GeorgLink commented on May 21, 2024

from augur.

howderek avatar howderek commented on May 21, 2024

@GeorgLink I'm totally ready :) https://github.com/howderek/name-gender-csv

from augur.

GeorgLink avatar GeorgLink commented on May 21, 2024

from augur.

ChristianCme avatar ChristianCme commented on May 21, 2024

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.

sgoggins avatar sgoggins commented on May 21, 2024

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.

ChristianCme avatar ChristianCme commented on May 21, 2024

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.

ChristianCme avatar ChristianCme commented on May 21, 2024

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.

sgoggins avatar sgoggins commented on May 21, 2024

we have initiated this development, and will, if we can, hit it in the next release.

from augur.

sgoggins avatar sgoggins commented on May 21, 2024

Lots of discussion here, so lets put this on the road map, @howderek @ChristianCme @ccarterlandis
Thanks!
Sean

from augur.

howderek avatar howderek commented on May 21, 2024

This discussion has moved to the CHAOSS D&I working group

from augur.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.