Contribute/Coding: Difference between revisions

m
Bug 1082602
m (Bug 1082602)
 
(37 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Steward=
[[Category: Contribute]] [[Category: Coding]]


Dietrich Ayala, Kyle Huey, Brian Bondy and Josh Matthews
= Coding Stewards =
== Mailing List ==
Join [https://mail.mozilla.org/listinfo/coding-stewards coding-stewards@mozilla.org] for discussion about growing our coding community.


=Coding Contribute Group=
== Bi-weekly Meeting ==
 
* Meeting time: Every 2nd Wednesday - 11:00am Pacific, 2:00pm Eastern, 18:00 UTC (summer)
Meetings every Wednesday at 1 pm pacific.
* Next meeting: March 19th.
 
* Video: David's vidyo room ([https://v.mozilla.com/flex.html?roomdirect.html&key=LagZYeSPnhIA use this link for guest access])
* Next meeting: [[Stewards/Coding/Group_03_28_12]]
* Audio: If video doesn't work, call +1 800 707 2533, pin 369, conf 9634#
* Notes from [[Stewards/Coding/Group_Meeting_Notes|previous meetings]]
* Back channel: #mozillians
* [[Stewards/Coding/Group_Meeting_Notes|Meeting notes]]


=Action Plan=
=Action Plan=
Line 37: Line 40:


Notes: get traffic stats for each to prioritize?
Notes: get traffic stats for each to prioritize?
* Filed docs to optimize coding docs based on feedback from new contributor: {{bug|737742}} (Introduction), {{bug|737728}} (build speed), {{bug|737734}} (creating a patch)


====Legacy Channels====
====Legacy Channels====
Line 52: Line 57:
* Make sure key community events have someone from coding going to talk about how to get involved.  For example, see this [http://monocleglobe.wordpress.com/2011/11/28/mozcamp-asia-report/ MozCamp Asia Report post] about the effective coding session.
* Make sure key community events have someone from coding going to talk about how to get involved.  For example, see this [http://monocleglobe.wordpress.com/2011/11/28/mozcamp-asia-report/ MozCamp Asia Report post] about the effective coding session.


* Create a 'Hot to get involved with Mozilla Coding' flyer that can be handed out at events and made available for people visiting Mozilla Spaces.
* Create a 'How to get involved with Mozilla Coding' flyer that can be handed out at events and made available for people visiting Mozilla Spaces.


====Academic Institutions====
====Academic Institutions====
Line 62: Line 67:
Since the current efforts have grown organically there is no current list of everything going on with academic institutions.  Getting a list together is a good place to start -- please add any you are aware of.
Since the current efforts have grown organically there is no current list of everything going on with academic institutions.  Getting a list together is a good place to start -- please add any you are aware of.


* Professor from Cal State Monterey Bay contacted us in Feb '12 about how he could have his students contribute to Mozilla for class projects.
* [http://zenit.senecac.on.ca/wiki/index.php/Mozilla Seneca's Mozilla page] (the Seneca program has been very successful and could be a model to use for other academic institutions)
* All students from California State Polytechnic University, Pomona taking CS 480 under Ciera Jaspan have an "Open Source Excursion" project, a number chose Mozilla
* All students from California State Polytechnic University, Pomona taking CS 480 under Ciera Jaspan have an "Open Source Excursion" project, a number chose Mozilla
* MSU Capstone project (contact Jared Wein (Mozillian) for more details)
* [http://msujaws.wordpress.com/tag/capstone/ MSU Capstone project] (contact Jared Wein (Mozillian) for more details)
* Mozillian David Teller (:yoric) is mentoring a number of French university students for class projects
* Mozillian David Teller (:yoric) is [https://etherpad.mozilla.org/education-europe mentoring a number of European university students] for class projects
* There is a Capstone open-source course at the University of Waterloo but Mozilla is not involved. Julie Deroche might have contacted them.
* There is a Capstone open-source course at the University of Waterloo but Mozilla is not involved. Julie Deroche might have contacted them.
* [http://special.comp.nus.edu.sg/mozilla/index.php CP3108 Independent Work at National University of Singapore]
* Professor from Cal State Monterey Bay contacted us in Feb '12 about how he could have his students contribute to Mozilla for class projects.
'''Stewards Activity'''
* We're discussing what a Community Manager for Education role would look like by drafting a job description. Edit the description or provide your ideas [[Education/CommunityManager|here]].
* Join [irc://irc.mozilla.org/#education #education on IRC]
* The mozilla.education newsgroup is being re-enabled in {{bug|749155}}


'''Related Information'''
'''Related Information'''


* [[Education/ComputerScience|Computer Science page on the Mozilla Education wiki]] (out of date but potentially useful)
* [[Education/ComputerScience|Computer Science page on the Mozilla Education wiki]] (out of date but potentially useful)
 
* [http://dutherenverseauborddelatable.wordpress.com/2012/01/17/call-for-classrooms/ Call for Classrooms] blog post about working with students/academics on Mozilla projects
* [http://zenit.senecac.on.ca/wiki/index.php/Mozilla Seneca's Mozilla page]] (the Seneca program has been very successful and could be a model to use for other academic institutions)
* [https://etherpad.mozilla.org/working-with-academic-institutions-case-study Etherpad for creating a case study and/or recommendations about working with academic institutions]
* [http://vocamus.net/dave/?p=1478 Notes from Dave Humphrey's experience with Mozilla projects in his course]
* [http://campus.openhatch.org/ campus.openhatch.org] We're currently organizing weekend workshops at colleges to teach students how to get involved in open source software.
* [http://teachingopensource.org Teaching Open Source]


====Non-Mozilla Channels====
====Non-Mozilla Channels====
Line 85: Line 100:


====Dashboards====
====Dashboards====
The best practice for dashboards is measure the number of people expressing interested in contributing to your projects, the conversion rate of the number of those people that start contributing, and project specific metrics about activity and health of community.  The [https://bugzilla.mozilla.org/show_bug.cgi?id=743814 Get Involved dashboard] has information about the first two metrics and project specific dashboards may need to be created for the other data.
'''Coding Dashboards'''


* [https://metrics.mozilla.com/data/content/pentaho-cdf-dd/Render?solution=community&path=%2Fdashboards&file=contributionTrends.wcdf Coding contribution trends]
* [https://metrics.mozilla.com/data/content/pentaho-cdf-dd/Render?solution=community&path=%2Fdashboards&file=contributionTrends.wcdf Coding contribution trends]
Line 93: Line 112:


Using the dashboards:
Using the dashboards:
* Look at the conversion rate and use that to experiment with alternate contribution paths to find the optimal way to bring people into your projects.
** Conversion rate is measured by mapping a contribution path, identifying key points and looking at how people are proceeding along that path (for instance, one conversion rate would be to match everyone who sends an inquiry about getting involved with coding and how many of those people create Bugzilla accounts.)


* Look for people who have recently stopped contributing patches and contact them to either encourage them to contribute again or learn information about why they stopped that would help other people stay involved.
* Look for people who have recently stopped contributing patches and contact them to either encourage them to contribute again or learn information about why they stopped that would help other people stay involved.
Line 100: Line 122:
====Coding Specific Community Building Tools====
====Coding Specific Community Building Tools====


* [http://www.joshmatthews.net/bugsahoy/ Bugsahoy tool]
* [http://www.joshmatthews.net/bugsahoy/ Bugsahoy]
* [http://whatcanidoformozilla.org/ What Can I Do For Mozilla?]


====General Community Building Tools====
====General Community Building Tools====
Line 131: Line 154:
Get more information in front of users without making them search for it:
Get more information in front of users without making them search for it:
* Add instructions on how to run Firefox after completing a build ({{bug|648681}})
* Add instructions on how to run Firefox after completing a build ({{bug|648681}})
* Add a .gdbinit to the tree that simplifies common debugging tasks ({bug|184013})
* Add a .gdbinit to the tree that simplifies common debugging tasks ({{bug|184013}})


Simplify existing processes to align with systems that are familiar:
Simplify existing processes to align with systems that are familiar:
Line 167: Line 190:
* creating an xpcshell test
* creating an xpcshell test
* creating a mochitest
* creating a mochitest
* understanding/using TBPL view of tryserver results
* understanding/using Treeherder view of tryserver results


'''Presentations'''
'''Presentations'''
Line 193: Line 216:
Take the current ad hoc process of recognizing active contributors with swag, invitations to events, etc and create a scalable process for identifying and recognize key active contributors.  For example, Josh maintains a manual list of people he is encouraging but that isn't very scalable.
Take the current ad hoc process of recognizing active contributors with swag, invitations to events, etc and create a scalable process for identifying and recognize key active contributors.  For example, Josh maintains a manual list of people he is encouraging but that isn't very scalable.


'''Phonebook'''
'''Communications'''


Have a plan for getting newly active contributors into the phonebook and use relevant tags (ex, firefox, javascript, mobile, etc).  This will allow us to reach out to experienced contributors with specific opportunities as they come up (for instance, you could email everyone with a 'javascript' tag if you were looking for help with a complicated javascript engine bug that wouldn't be a good fit for new contributors).  We may want to document a set of tags we'd like people to use.
Have a plan for getting newly active contributors into the phonebook and use relevant tags (ex, firefox, javascript, mobile, etc).  This will allow us to reach out to experienced contributors with specific opportunities as they come up (for instance, you could email everyone with a 'javascript' tag if you were looking for help with a complicated javascript engine bug that wouldn't be a good fit for new contributors).  We may want to document a set of tags we'd like people to use.
Line 272: Line 295:


You should also [https://wiki.mozilla.org/IRC join IRC] in the #developers and #introduction channels.  
You should also [https://wiki.mozilla.org/IRC join IRC] in the #developers and #introduction channels.  
Once you are ready, [http://www.gerv.net/hacking/before-you-mail-gerv.html contact gerv for editbugs privileges] or ping jdm on IRC for the same.
Once you are ready, [https://bugzilla.mozilla.org/page.cgi?id=get_permissions.html request permissions via email] or ping jdm on IRC for the same.


Suggestion: In addition to just documenting these steps, look for a simple 5-minute task that someone can take to get started (for example, signing up for Bugzilla if they are interested in coding) and also figure out where in the process you can add a mentor to help people.
Suggestion: In addition to just documenting these steps, look for a simple 5-minute task that someone can take to get started (for example, signing up for Bugzilla if they are interested in coding) and also figure out where in the process you can add a mentor to help people.
canmove, Confirmed users
1,126

edits