#94 Outreachy proposal: Improved automated community metrics
Closed: fixed 2 years ago by siddharthvipul1. Opened 3 years ago by mattdm.

This is a proposed project for Outreachy. Note that once this ticket is
approved you will have to register as a mentor on the Outreachy page
and enter this information again. Many of these questions are based on
the application on the Outreachy website.

One-line name

Improved automated community metrics

Short title for this internship project proposal

Improve graphs and metrics created automatically from Fedora Message Bus activity.

Longer description of project

Many activities in Fedora generate activity on the Fedora Message bus. (More about this here: https://communityblog.fedoraproject.org/moving-from-fedmsg-to-fedora-messaging/). These messages can be used to measure and graph community engagement.

Rudimentary Python code to do this is at: https://pagure.io/fedora-contributor-trends

I have used this data in talks (https://mattdm.org/fedora/2016devconf/) and to help inform project decision making. I also have a weekly-updated version here: https://mattdm.org/fedora/fedora-contributor-trends/.

This project would be to improve and update this code in up to six different ways:

  1. As outlined in the blog post above, the Fedora Message bus is in the midst of transitioning to new technology, which may make the way the current script gets data obsolete. See https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org/message/6NRUH7EP6ERTBUEVTTXYLA25QUSHTKBE/ for possible plans. The upside is that some of the new options could be much better; the current code hits the server very hard.
  2. The code really is hacky and ugly. It could use refactoring and beautification.
  3. There are some data sources we're not using and could be: there are messages from pagure and will be ones from discourse that would be excellent candidates.
  4. The visualizations I created for my presentation in 2016 are nice, but there are many other ways to look at the data. Come up with new ways to look at it which may show more insights.
  5. Find an official place for this to run rather than on mattdm's personal server.
  6. Simply put, the graphs and reports could be prettier.

Completion of all six is not necessary for project success. An applicant could choose to focus on two or three of these and that would still be hugely beneficial.

License of the project

MIT

Longevity (How long has the team accepted contributions)

This particular code-base has been around for four years.

Community size

The specific project has been an effort of one, but the actual work with involve direct communications with the Fedora Infrastructure team of ~20 or so, and with Mindshare and the Fedora community at large.

How will this project benefit Fedora

Better metrics can better guide decision making and show community strengths and areas needing improvement.

Sample plan of work for the 12 week internship.

  • Week 1: familiarity with concepts
  • Week 2: local instance of existing code
  • Week 3: adding new data sources
  • Week 4: code cleanup and refactoring
  • Week 5-6: porting to theoretical new datagrepper replacement
  • Week 7: more code cleanup and refactoring
  • Week 8: deploy to somewhere in Fedora infrastructure for manual testing
  • Week 9: automate daily or weekly updates
  • Week 10-11: explore new things to graph and present
  • Week 12: make the graphs and reports pretty

Project website

Currently, https://mattdm.org/fedora/fedora-contributor-trends/

Project repo

https://pagure.io/fedora-contributor-trends

Where can an applicant find application tasks?

Here :)

IRC

Probably useful for communicating with Fedora Infrastructure

Skills required including what level and if they are optional

Intermediate python. Knowledge of pandas and matplotlib a huge plus, but can be learned on the fly.

Interest in data visualization and community metrics will be important!

Outreachy applicants are required to make a contribution as part of the
application. What is the process for making a contribution?


Will be given direct commit access.

Questions from the top level Outreachy Program for the mentor application:
- How long have you been contributing to the community: 20+ years
- What is your current role: Fedora Project Leader
- Have you mentored for a three-month internship program before: I haven't.
- Have you read the mentor page and understand the process of being a mentor: yes
- Are you available for 5 hours a week during the internship period: yes
- Are you available for 5-10 hours a week during the application period: yes
- Are you aware you need to sign a mentor contract: yes


Metadata Update from @siddharthvipul1:
- Issue tagged with: Outreachy

3 years ago

@mattdm love this idea! Only thing I would point out is I think the timeline could use a little love.. Here is a nice example:
https://pagure.io/mentored-projects/issue/68#comment-624912

I can give some more detail, for sure. Part of it depends on which areas are focused on, so perhaps I should come up with a couple of alternate paths.

@mattdm this looks good! I would say go ahead and sign up for an outreachy account and submit the project. I will need to approve you as a mentor, but I think you can still enter everything. Let me know if you need more assistance

https://www.outreachy.org/

@mattdm hey, Can you get it in outreachy website as Marie said? :)
Deadline is March 7th

Metadata Update from @siddharthvipul1:
- Issue tagged with: project-idea

3 years ago

@mattdm hey
we have a bunch of interest in this and applicants want to know how can they get started :)
Can you point some entry task or tasks which can be used to get familiar with the project?

@siddharthvipul1 Yes. :) In short, clone my horrible code repo from https://pagure.io/fedora-contributor-trends/tree/main and run ./run.sh to see what comes out.

Be warned that this hits datagrepper and caches the results, so the first run can be VERY slow (it might take a day or so -- run it in the background overnight and check back).

Marie directed me to https://t.me/fedoraSummerCoding and I'll take a look there. It'd be great for people to also follow the Join Fedora steps at https://docs.fedoraproject.org/en-US/fedora-join/.

Hello 👋

If you need help with code review, docs, or something like that, I can help @mattdm

Hi @mattdm,

  • The deadline for Fedora mentors to select their intern is May 10th. Do not communicate intern selection with applicants until the interns are announced on the alums page at May 17 at 4pm UTC

  • When the selected interns are announced, we will do an Intern introduction blogpost on the Fedora community blog and plan a social hour with all the mentors and interns (all within first 2 weeks of selection). This keeps the community informed of the efforts and coming work, and gives interns a chance to meet and greet peers other than just the "work" part

  • Outreachy program expects Interns to write/blog their work somewhere (can be their own blog), we would like to take summary of the work and publish a combined work of all interns in a community blog every 2-3 weeks. I will be sending an email to all the students and mentors with this info once selection is out.

I want to thank you once again for coming up with the project and mentoring the intern

Hi @josseline,

Congratulations again for the completion of your Outreachy term with Fedora Project as a mentoring organization. Could you please link us to your blog/website where you have recorded your experience with us, before we go ahead and close this ticket?

Metadata Update from @siddharthvipul1:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata