Aspects of Contributing
Supporting fellow humans
Evangelism & community support
Version Control & Communication
Single central copy of code
Every user has a copy of the code, with full history of the project
Centralised > Subversion
Distributed Workflow > Git & Hg
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.
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
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
TEST! TEST! TEST!
Send in a patch or pull request for review depending on the project
Respond to the review
So many tools, same(okay similar) flow...
Communicate the changes
Get code into main tree
Easy peasy right?!