Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSoC Idea: Implementing CHAOSS Metrics in Augur #82

Closed
sgoggins opened this issue Feb 4, 2019 · 6 comments
Closed

GSoC Idea: Implementing CHAOSS Metrics in Augur #82

sgoggins opened this issue Feb 4, 2019 · 6 comments
Assignees

Comments

@sgoggins
Copy link
Member

sgoggins commented Feb 4, 2019

Ideas for Google Summer of Code projects

Idea 5: Build CHAOSS Risk and Growth Maturity and Decline Metrics in Augur

Description

Augur is a fully functional prototyping web stack for CHAOSS metrics that leverages cutting edge web technologies including VUE, NodeJS and Python. It provides structured data mined from git repositories using a plugin architecture that incorporate other open source metrics projects like Facade and FOSSology.

In this GSoC project we plan to implement Risk metrics and other metrics within the Growth-Maturity-Decline CHAOSS metrics and use cases using Augur, focusing on what we have unearthed as the open source community manager use case. The aims of the project are to:

  1. Construct core open source software metrics defined by CHAOSS and
  2. Assemble filtered, comparative collections of those metrics in ways that community managers want to consume.

The aims of the project are as follows:

  • Acquiring knowledge on Augur toolchain to generate metrics from available data sources.
  • Creating VUE visualizations and API's to support the enumerated metrics and metric collections.
  • Writing Python code to query Facade, Augur and other datasets.

Right now, based on Augur prototypes and follow up discussions so far, we have the following observations that will inform our work both the “Growth Maturity and Decline” working group and in Augur Development. Here are a few things we have learned from prototyping Augur with community managers. These features in Augur are particularly valued:

  1. Allowing comparisons with projects within a defined universe of of projects is essential
  2. Allow community managers to add and remove repositories that they monitor from their repertories periodically
  3. Downloadable graphics
  4. Downloadable data (.csv or .json)
  5. Availability of a “Metrics API”, limiting the amount of software infrastructure the community manager needs to maintain for themselves. This is more valued by program managers overseeing larger portfolios right now, but we think it has potential to grow as awareness of the relatively light weight of this approach becomes more apparent. By apparent, we really mean “easy to use and understand”; right now it is easy for a programmer, but less so for a community manager without this background or current interest.

With these advantages in mind, making the most of this opportunity to help community managers with useful metrics is going to include the availability of date summarized comparison metrics. These types of metrics have two “filters” or “parameters” fed into them that are more abstractly defined in the Growth, Maturity, and Decline metrics on the CHAOSS project.

  1. Given a pool of repositories of interest for a community manager, rank them in ascending or descending order by a metric
  2. Over a specified time period or
  3. Over a specified periodicity (e.g., month) for a length of time (e.g., year).

For example, one open source program officer we talked with is interested in the following set of date summarized comparison metrics. Given a pool of repositories of interest to the program officer (dozens to hundreds of repositories):

  1. What ten repositories have the most commits this year (straight commits, and lines of code)?
  2. How many new projects were launched this year?
  3. What are the top ten new repositories in terms of commits this year (straight commits, and lines of code)?
  4. How many commits and lines of code were contributed by outside contributors this calendar year? Organizationally sponsored contributors?
  5. What organizations are the top five external contributors of commits, comments, and merges?
  6. What are the total number of repository watchers we have across all of our projects?
  7. Which repositories have the most stars? Of the ones new this year? Of all the projects? Which projects have the most new stars this year?

Further elaboration on the community manager use case is available on the CHAOSS website: Community Manager Metrics Use Case

  • Difficulty: Medium
  • Requirements: Python programming. Interest in data analytics. Willingness to understand data structures and our web stack internals and CHAOSS metrics.
  • Recommended: Experience : NodeJS Programming. VUE Programming.
  • Mentors: Sean Goggins, Jesus M. Gonzalez-Barahona

Microtasks

  • Microtask 0: Familiarize yourself with augur by downloading and configuring the dev branch. For a little more context about what we are trying to accomplish with Augur's prototyping, checkout the blog posts on the Augur Website. The community manager use case is especially interesting.
  • Microtask 1: Using the Augur reference database included in the setup, configure a new metric from those available an not implemented in the "Metrics Status" page.
  • Microstask 2: If you want, take a look at the configuration for VUE cards in the frontend/ folder for augur, google Vue, and see what kinds of new visualizations you might want to try out for some of the already existing metrics.
  • Microtask 3: Make a pull request to update the newcomer documentation or, if you have questions about getting started in the steps above, open an issue in the Augur repository.
@ManuelLecaro
Copy link

Hello, I'm interested in this project and have been working on the microtasks. I would like to ask if like in the other GSoC ideas that is recommended to show the completion of some microtasks, on this project if I want to show them as well, may I create a repository and upload evidence like screenshots because there are no coding related tasks, like in this issue.
Thanks in advance for your response

@sgoggins
Copy link
Member Author

Hi @ManuelLecaro : Please submit!

@sgoggins sgoggins self-assigned this Mar 29, 2019
@sgoggins
Copy link
Member Author

sgoggins commented Apr 9, 2019

@parthsharma2 contributed a pull request to augur. He communicated directly in the repository, which is my fault, not his. He accomplished to microtasks 0,2 & 3 with great effectiveness and understanding.

@bing0n3
Copy link
Member

bing0n3 commented Apr 9, 2019

Hello, I'm also interested in this project. I have contributed a few pull requests to augur, accomplished all microtasks and submitted my proposal.

@sgoggins
Copy link
Member Author

sgoggins commented Apr 9, 2019

OK, @bing0n3 : we will evaluate your pull request.

@jgbarah
Copy link
Collaborator

jgbarah commented Jun 5, 2019

I think this is done by now.

@jgbarah jgbarah closed this as completed Jun 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants