From Fedora Project Wiki
Line 106: Line 106:
* I have communicated and interacted with my mentors and other team members in IRC and ML and having been involved with CommOps, I understand the ethics and values that make up the Fedora Community.
* I have communicated and interacted with my mentors and other team members in IRC and ML and having been involved with CommOps, I understand the ethics and values that make up the Fedora Community.


* '''If you haven't guessed it by now, I really love CommOps and contributing to Fedora and GSoC offers me a great opportunity to do so over the summer !!! ''' Additionally, I get to work on metrics - what more could I ask ?!
* '''If you haven't guessed it by now, I really love CommOps and contributing to Fedora and GSoC offers me a great opportunity to do so over the summer !!! ''' Additionally, I get to work on statistics and Machine Learning - what more could I ask ?!


==Project Proposal==
==Project Proposal==

Revision as of 09:59, 25 March 2016

Contact Information


Why do you want to work with the Fedora Project?

I love Fedora OS

While Fedora isn't the first Linux distribution I have used, it is surely one which I have used the longest and am most comfortable with.

I love the Fedora Community

The Fedora community is very warm and welcoming. I especially like that CommOps encourages contributors to work in diverse areas and to try out new stuff, with the Fedora community always ready to help you out if stuck.

I love Fedora CommOps

I love the work. I love the team and I want to continue contributing and helping improve Fedora. Period.

High Impact

Even as a newcomer, I have had the opportunity to work on high impact projects like organizing elections or working on metrics which affect strategic decisions. The huge impact your work can have on milllions of Fedora users and contributors is something which motivates me to contribute to Fedora.

Great Learning Opportunity

Due to the flat hierarchy in Fedora, I have already collaborated with or worked under some of the long term contributors and important figures in Fedora community. This experience has been a great learning opportunity in many different ways and I look forward to many such chances in the future.

I look forward to work and be involved with Fedora. I aim to stick around and become a long term contributor in the Fedora community.

Do you have any past involvement with the Fedora project or any other open source project as a contributor?

Yes, I have been involved with the Community Operations team since the past six months. Some of my past contributions include -

Metrics related Contributions

  • Data Analytics to understand impact of FOSDEM : read here and code here
  • Year in Review metrics for Fedora CommOps : read the report with information about API queries, analysis and data visualizations here
  • Community Blog statistics : read the report with information about API queries, analysis and data visualizations here
  • Outreachy Impact metrics : read here and related API query here
  • F23 Dec/Jan Election related metrics : read here and related statistics here, here and here
  • IRC metrics using fedmsg activity and datagrepper : read here and code here
  • Spammer Activity in Fedora - some graphs ML thread here and related API query here and here

Other Technical Contributions

  • Contributed to Fedora Hubs for gaining technical knowledge of developing metrics related widgets.

Issues I have fixed include :

https://pagure.io/fedora-hubs/issue/106

https://pagure.io/fedora-hubs/issue/96.

You can see my closed PR's here

My Hubs related fedmsg activity here

Other Contributions

  • Helped Jan Kurik organize F23 Elections ! They were the fourth most participated elections in all time.Read more about the F23 elections on the CommOps retrospective here.
  • Helping in diversity and women outreach efforts of Fedora by being an active member in Fedora women community.
  • I have also contributed to the Fedora Community Blog (see my works here) and to Fedora Magazine(see my works here)
  • I have a good knowledge of the wiki,Trac,IRC and mailing-lists and I am comfortable with using them to communicate effectively. I have communicated and interacted with my mentors and other team members in IRC and ML and having been involved with CommOps, I understand the ethics and values that make up the Fedora Community.
  • You can see my overall contribution activity via fedmsg here and here

Apart from Fedora, I have done an Open Source Data Analytics project for Measurement Lab

Did you participate with the past GSoC programs, if so which years, which organizations?

No

Will you continue contributing/ supporting the Fedora project after the GSoC 2016 program, if yes, which team(s), are you interested with?

I will, of course. I'll continue with the CommOps team and Hubs development. I am also interested in being an Ambassador(but that's for a bit later)

Why am I the best fit for this project idea?

I am really passionate about Data Analytics. With data, I want to understand and impact the community by bringing to light the critical issues along with identifying our strengths and weaknesses to help the leadership make informed decisions. My proposal for the Community Operations slot for Fedora in GSoC revolves around this idea. Along with sound technical skills required to implement this proposal, I also feel that I have the required non-technical skills ideal for effective open source contributions

Some relevant points include :

  • I'm really passionate about open source, love the CommOps and Fedora community and I will continue to contribute to Fedora and CommOps even when the project ends.
  • I am comfortable with coding in Python , C++ , R and can write queries in SQL. I also have intermediate knowledge of HTML and CSS.
  • I have working knowledge of fedmsg system and datagrepper queries and have done related data analytics projects before link here
  • I also know Machine Learning and NLP and I am interested in using these techniques to understand Fedora community better.
  • I am learning Data Visualization techniques like d3.js so that I can develop interactive visualizations from data.
  • I also have contributed to Fedora Hubs development in the past and can help in CommOps related tasks for Hubs developmentlink here.
  • My contributions to Fedora have not just been limited to technical aspects. To gain a deeper understanding of the Fedora Project, I have tried to contribute in diverse areas including helping Jan Kurik organize F23 elections(which was the fourth most participated elections in Fedora history) , writing a Fedora Badges article to help newcomerslink here, contributing to Community Blog (see my works here) and to Fedora Magazine(see my works here) and helping in diversity and women outreach efforts of Fedora by being an active member in Fedora women community.
  • I blog regularly, and I believe this will help me develop interesting and well laid-out documentation as well as data analytics reports for the project.
  • I have a good knowledge of the wiki,Trac,IRC and mailing-lists and I am comfortable with using them to communicate effectively.
  • I have communicated and interacted with my mentors and other team members in IRC and ML and having been involved with CommOps, I understand the ethics and values that make up the Fedora Community.
  • If you haven't guessed it by now, I really love CommOps and contributing to Fedora and GSoC offers me a great opportunity to do so over the summer !!! Additionally, I get to work on statistics and Machine Learning - what more could I ask ?!

Project Proposal

Overview

Fedora Community Operations(CommOps) : Statistical Simulation and Data Analytics for Fedora Infrastructure Message Bus Activity

Community Operations, a.k.a. CommOps, aims to address the area of community infrastructure by providing the tools, resources, and utilities for the different subgroups of Fedora to increase communication across the Project.

Because of the fedmsg stack, Fedora has very detailed raw data on Fedora contributor activity. My proposal revolves around programmatically querying Datagrepper API for data collection to build automated tools using Statistical and Machine Learning techniques for data analysis and visualization for different parameters.

Tasks List

PROPOSED STATISTICS

FEDORA EVENT STATISTICS
  • Analyse the participation in past Fedora events including conferences like FOSDEM , FLOCK
  • Develop metrics for contribution activity of participants
  • Analyse the short term and long term impact of the events on Fedora Community
fedmsg STATISTICS
  • Generate Fedora Wiki Monthwise/ Weekwise/ Daywise topic related metrics
  • Timewise metrics for the past year for all topics, if possible
  • Identify active projects from fedmsg statistics
  • Which build has most contributions ?
  • How many contributors are just long-tail from packaging one thing?
FEDORA BADGES STATISTICS
  • Compile an overall Badges Metrics Report to find fedoraproject.org Improvement Areas

(eg : Only 8.1 % of overall contributors have earned "Baby Badger" ! -> 91.9% of contributors have never logged into their Fedora Badges Account -> Are these passive/active ? Need to promote Fedora Badges more in fedoraproject.org community)

  • Monthwise Trends in Badges Collection . By badge type, ideally :)
MAILING LISTS STATISTICS
  • Mailing list activity (Daywise, Weekwise, Monthwise)
  • Overall Metrics like Average size of thread , number of people in a thread, trends in a thread as possible go
  • Mailing List wise Metrics like which lists are highly active lists(get more posts),levels of traffic ,traffic over time , length of discussions
  • Also answer questions like : Where are posters from? Redhat v.s. Non-redhat (can be misleading, because mattdm uses fp.o address, but you get idea)
  • ML Discussion here and here. Related tickets on CommOps Trac instance here and here
BUGZILLA and GITHUB STATISTICS
  • Timewise statistics of bugs/issues like Bug turnaround/Ticket Turnaround.
  • Identifying repositories/bugs which need most help.
  • If possible ,system to identify bugs/issues suitable for newcomers. (Need more discussion on this ).
FEDORA CONTRIBUTOR STATISTICS
  • Red Hat vs Non Red Hat Contributors
  • Area wise top contributors
  • Average Contributor Age(Fedora Activity wise) , Retention Rate of Contributors
  • Does contribution activity over time follow a longtail pattern ?
  • Identify patterns in contribution behavior for successful contributors ( Do successful/old contributors have diverse contributions ? Are their contributions in bursts or continous over a period of time ? )
  • Do people care about things outside of their own packages? ( How many developers have a significant number of content badges and visa versa? )
  • Data Analytics for Newcomer Retention and improving contribution activity of community
  • Analyse Fedora Badges Activity of Newcomers to identify suitable tasks
  • Identify impact of Attending Fedora Events on Contribution Activity
  • ML Discussion here and here and related ticket on CommOps Trac instance here and here

AUTOMATE METRICS related TASKS

  • Automate the fedmsg statistics for quarterly report for Fedora Project. ML Discussion here
  • Automate Elections related metrics Tasks

STRETCH GOALS

FEDORA HUBS WIDGETS

  • Componentization of CommOps deliverables into Fedora Hubs Widgets.
  • Develop metrics related widgets for Fedora Hubs

Some other cool Ideas bee2502 would like to work on

  • NLP analysis to find the expertise Fedora Contributers

To answer the question "How can best solve my doubt?" OR "Who is the most qualified person for this task?" using meeting logs from IRC meetings

  • Badge Recommendation Engine widget for Hubs

Much along the lines of Stack Overflow Badge Recommendations : "You are 50% of the way to earning the 'Master Editor Badge' " Provide recommendations like "80% of contributors who last collected 'White Rabbit Badge' went on to collect 'Origin Badge' next "

This could be especially helpful for newcomers to explore different areas of Fedora Project Some related representations by mizmo : https://fedoraproject.org/wiki/Fedora_RPG_OLD

Final Deliverables

  • Report back weekly on Community Operations to Mailing Lists, Community Blog, and other channels when appropriate.
  • Metrics deliverables would include data files(.csv), automated python scripts used to generate the statistics(committed to the fedora-stats-tools github repo) along with data visualizations and reports published to community via Mailing lists, Fedora Planet and/or Community Blog posts whichever appropriate.
  • Develop Tools for CommOps Toolbox

Timeline

I would like to start having a look and master the technical stuff that I need to fulfill even before the Community bonding period starts.

Upto the start of Community Bonding Period (25th of March - 22nd of April)

  • Automating Quarterly metrics script for fedmsg
  • Stack Overflow Data Analytics

Community bonding period (22nd of April - 25th of May)

  • Generalizng Fedora Event Statistics(FLOCK and other events)
  • Stack Overflow Data Analytics
  • Fedora Contributor Statistics

Work Period until mid-term evaluations (25th of May – 20th of June)

  • Fedora Contributor Statistics
  • fedmsg statistics
  • Automate Election Related Tasks

Period of submitting mid-term evaluations (20th of June - 27th of June)

  • Election Metrics

Work Period (27th of June – 15th of August)

  • Mailing List Statistics
  • Fedora Badges statistics

Final Week(15th August - 23rd August)

Wrap up and Complete tasks

Other Tasks with timeline to be finalized as needed

  • Work with Fedora Diversity and Inclusion Advisor to programmatically create, deploy, and most importantly, analyze the Contributor Demographics Survey
  • Publish Wordclouds based on IRC Meetings to twitter and CommBlog.
  • Onboarding Series Badges

Potential Mentors

Remy Decausemaker(decause) , Corey Sheldon(linux modder) and Justin Flory(jflory7)