1New contributors 2================ 3 4This page is aimed at people who are new to Mozilla and want to contribute 5to Mozilla source code related to Marionette Python tests, WebDriver 6spec tests and related test harnesses and tools. Mozilla has both 7git and Mercurial repositories, but this guide only describes Mercurial. 8 9If you run into issues or have doubts, check out the [Resources](#resources) 10section below and **don't hesitate to ask questions**. :) The goal of these 11steps is to make sure you have the basics of your development environment 12working. Once you do, we can get you started with working on an 13actual bug, yay! 14 15 16Accounts, communication 17----------------------- 18 19 1. Set up a [Bugzilla] account (and, if you like, a [Mozillians] profile). 20 Please include your Matrix nickname in both of these accounts so we can work 21 with you more easily. For example, Eve Smith would set the Bugzilla name 22 to "Eve Smith (:esmith)", where "esmith" is the Matrix nick. 23 24 2. For a direct communication with us it will be beneficial to setup [Matrix]. 25 Make sure to also register your nickname as described in the linked document. 26 27 3. Join our #interop channel, and introduce yourself to the team. :jgraham, 28 :maja_zf, and :whimboo are all familiar with Marionette. 29 We're nice, I promise, but we might not answer right away due to different 30 time zones, time off, etc. So please be patient. 31 32 4. When you want to ask a question on Matrix, just go ahead an ask it even if 33 no one appears to be around/responding. 34 Provide lots of detail so that we have a better chance of helping you. 35 If you don't get an answer right away, check again in a few hours -- 36 someone may have answered you in the mean time. 37 38 5. If you're having trouble reaching us over Matrix, you are welcome to send an 39 email to our [mailing list](index.html#communication) instead. It's a good 40 idea to include your Matrix nick in your email message. 41 42[Matrix]: https://chat.mozilla.org 43[Bugzilla]: https://bugzilla.mozilla.org/ 44[Mozillians]: https://mozillians.org/ 45[logbot]: https://mozilla.logbot.info/ateam/ 46 47Getting the code, running tests 48------------------------------- 49 50Follow the documentation on [Contributing](Contributing.html) to get a sense of 51our projects, and which is of most interest for you. You will also learn how to 52get the Firefox source code, build your custom Firefox build, and how to run the 53tests. 54 55 56Work on bugs and get code review 57-------------------------------- 58 59Once you are familiar with the code of the test harnesses, and the tests you might 60want to start with your first contribution. The necessary steps to submit and verify 61your patches are laid out in [Patches.md](Patches.html). 62 63 64Resources 65--------- 66 67 * Search Mozilla's code repository with searchfox to find the [code for 68 Marionette] and the [Marionette client/harness]. 69 70 * Another [guide for new contributors]. It has not been updated in a long 71 time but it's a good general resource if you ever get stuck on something. 72 The most relevant sections to you are about Bugzilla, Mercurial, Python and the 73 Development Process. 74 75 * [Mercurial for Mozillians] 76 77 * More general resources are available in this little [guide] :maja_zf wrote 78 in 2015 to help a student get started with open source contributions. 79 80 * Textbook about general open source practices: [Practical Open Source Software Exploration] 81 82 * If you'd rather use git instead of hg, see [git workflow for 83 Gecko development] and/or [this blog post by :ato]. 84 85[code for Marionette]: https://searchfox.org/mozilla-central/source/remote/marionette/ 86[Marionette client/harness]: https://searchfox.org/mozilla-central/source/testing/marionette/ 87[guide for new contributors]: https://ateam-bootcamp.readthedocs.org/en/latest/guide/index.html#new-contributor-guide 88[Mercurial for Mozillians]: https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/index.html 89[guide]: https://gist.github.com/mjzffr/d2adef328a416081f543 90[Practical Open Source Software Exploration]: https://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/index.html 91[git workflow for Gecko development]: https://github.com/glandium/git-cinnabar/wiki/Mozilla:-A-git-workflow-for-Gecko-development 92[this blog post by :ato]: https://sny.no/2016/03/geckogit 93