<Jeffrey Godwyll>


@rey12rey

Aspects of Contributing



  • Ideas
  • Bug reports
  • Feature requests
  • Reproducing bugs
  • Supporting fellow humans
  • Evangelism & community support
  • Writing code
source: http://semicomplete.com/presentations/fossetcon-2014/open-source-is-more-than-code_speaker-notes.pdf

Version Control & Communication

Version Control

Types


    Centralised
    • Single central copy of code
      • Subversion
    Distributed
    • Every user has a copy of the code, with full history of the project
      • Git
      • Mercurial(hg)

Centralised > Subversion

Description
source: Vodori Blog

Distributed Workflow > Git & Hg

Description
source: Git SCM

Communication

So many...



  • Read the documentation/getting started/README file
  • Read through open issues or bugs or feature requests
  • Join the official mailing list
  • Subscribe to discussions related to the project
  • Hang around their irc channel

Impossible to talk about all the tools. Each project is unique.

My Workflow

Contributing to mozilla-central

Get the source

  • mozilla-central uses mercurial
  • Other projects under mozilla use git

Build it :)

  • I usually work on firefox builds
  • Then firefox for android
  • And then with the ateam

Bugzilla FTW!

  • Mozilla uses bugzilla to manage bugs
  • There are good first bugs and projects to get started

Fix a bug/issue/...

  • Take/get assigned a bug
  • Seek help from the channel on Mozilla's irc network related to the project I'm working on
  • Communicate through the process

Get my code reviewed

  • First I TEST! TEST! TEST!
  • Send in a patch or pull request for review depending on the project
  • Follow up
  • Respond to the review

Repeat ;)

So many tools, same(okay similar) flow...

In short



  • Clone code
  • Change code
  • Communicate the changes
  • Get code into main tree

Easy peasy right?!

<Thank You!>

My Info: