{"id":2287,"date":"2011-11-24T11:56:04","date_gmt":"2011-11-24T19:56:04","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/?p=2287"},"modified":"2011-11-24T12:25:11","modified_gmt":"2011-11-24T20:25:11","slug":"guest-post-i-want-to-contribute-how-do-i-start","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/","title":{"rendered":"Guest Post: &#8220;I want to contribute, how do I start?&#8221;"},"content":{"rendered":"<h3>Preface<\/h3>\n<p>This is guest post from one of webdev&#8217;s awesomesauce community contributors: <strong>Nigel Babu<\/strong>. nigelb contributes to a bunch of Mozilla&#8217;s web apps including Firefox Input and Socorro. He writes about Mozilla and open source <a href=\"http:\/\/nigelb.me\">on his blog<\/a> and hangs out on <code>#webdev<\/code> on IRC &#8212; where we often talk about motorcycles.<\/p>\n<hr>\n<p>At <a href=\"https:\/\/wiki.mozilla.org\/AsiaCamp2011\">Mozcamp Asia<\/a>, Tim Watts and I talked about contributing to Mozilla Webdev. When I met Tim, he asked me how I got started and what were some of the challenges I faced. This blog post is a summary of those challenges and a few solutions to help new contributors to Mozilla Webdev. This is also a condensed summary of our session, so if you missed it don&#8217;t feel too bad \ud83d\ude42<\/p>\n<h2>Finding a Project<\/h2>\n<p>Finding a project to work on is the first baby step. Everything from here down is easier if you know what you want to contribute to; of course, it&#8217;s perfectly normal to be clueless as well. Everyone is mildly lost at this step at first. It helps if you have a clear understanding about what kind of code you want to write. Webdev has lots of different projects requiring different skill sets: Python\/Django, JavaScript, HTML\/CSS, and PHP are all in use at Mozilla. Almost all new projects require Python and Django knowledge, but we still have a few projects on PHP that you could help with &#8212; like mozilla.org and Socorro. Talk to us in #webdev with what kind of code you want to write, and we can help you find a nice project that needs help. You can start with a smaller project with fewer moving parts if you feel like it&#8217;s too much to take in. But one tip I have is: the bigger the project, the greater the opportunities.<\/p>\n<h2>&#8220;I Don&#8217;t Know What to Do&#8221;<\/h2>\n<p>It&#8217;s not easy to find something to do. I can attest to that. I know I had some trouble as well. Once you have found a project to help with, it becomes easier finding something to do. You could look at bugs with [good first bug] in the whiteboard &#8212; they&#8217;re generally good to start with. Another idea is to follow all the bugs for that project (bugmail can be noisy: set a filter or get ready for inbox explosion), so you can pick new bugs as they come in. Being in the project&#8217;s IRC channel also helps immensely. When fellow webdevs and Web QA learn that you are a new contributor and want something to do, they&#8217;ll be happy to point you to easy bugs or subscribe you to easy ones they see.<\/p>\n<h2>Finding a Mentor<\/h2>\n<p>While finding a mentor is not strictly necessary; however, it helps when you can ping someone to help you. When you find a project, some of the developers on that project are good candidates to mentor you. Feel free to ping the maintainers\/developers for help when you are stuck. There are also the Stewards (https:\/\/wiki.mozilla.org\/Stewards\/Webdev) who can help you find a match: don&#8217;t feel shy about asking them to help you out.<\/p>\n<h2>Setting up Your Environment<\/h2>\n<p>Earlier, this was a challenging experience, sometimes it even seemed downright impossible. With the recent work we&#8217;ve done with vagrant, everything is much easier! Almost all <a title=\"Developing with Vagrant, Puppet, and playdoh\" href=\"http:\/\/blog.mozilla.org\/webdev\/2011\/10\/04\/developing-with-vagrant-puppet-and-playdoh\/\">new projects have a vagrant-based setup<\/a> for the development environment and it should be much faster to get you off the ground. When in doubt, ask the project maintainers if there&#8217;s a vagrant setup for that project.<\/p>\n<p>These were the 4 things that I faced and helped me start off. If you are interested in being a contributor and something ticked you off, talk to me &#8212; in the comments or on IRC. Feel free to reach us on <code>#webdev<\/code> on irc.mozilla.org with any questions or if you want to get started in contributing to Mozilla Webdev.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Preface This is guest post from one of webdev&#8217;s awesomesauce community contributors: Nigel Babu. nigelb contributes to a bunch of Mozilla&#8217;s web apps including Firefox Input and Socorro. He writes about Mozilla and open source on his blog and hangs &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/\">Continue reading<\/a><\/p>\n","protected":false},"author":331,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,288],"tags":[4775,4721,4735,4719],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Guest Post: &quot;I want to contribute, how do I start?&quot; - Mozilla Web Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Riley MacPherson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/\",\"name\":\"Guest Post: \\\"I want to contribute, how do I start?\\\" - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2011-11-24T19:56:04+00:00\",\"dateModified\":\"2011-11-24T20:25:11+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guest Post: &#8220;I want to contribute, how do I start?&#8221;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/\",\"name\":\"Mozilla Web Development\",\"description\":\"For make benefit of glorious tubes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8\",\"name\":\"Matthew Riley MacPherson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"caption\":\"Matthew Riley MacPherson\"},\"description\":\"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \\\"colour\\\" or \\\"labour\\\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.\",\"sameAs\":[\"http:\/\/lonelyvegan.com\"],\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Guest Post: \"I want to contribute, how do I start?\" - Mozilla Web Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/","twitter_misc":{"Written by":"Matthew Riley MacPherson","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/","url":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/","name":"Guest Post: \"I want to contribute, how do I start?\" - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2011-11-24T19:56:04+00:00","dateModified":"2011-11-24T20:25:11+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2011\/11\/24\/guest-post-i-want-to-contribute-how-do-i-start\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Guest Post: &#8220;I want to contribute, how do I start?&#8221;"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webdev\/#website","url":"https:\/\/blog.mozilla.org\/webdev\/","name":"Mozilla Web Development","description":"For make benefit of glorious tubes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8","name":"Matthew Riley MacPherson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33","url":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","caption":"Matthew Riley MacPherson"},"description":"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \"colour\" or \"labour\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.","sameAs":["http:\/\/lonelyvegan.com"],"url":"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/2287"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/users\/331"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=2287"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/2287\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=2287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=2287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=2287"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=2287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}