Josh Matthews, a Mozilla engineer, writes about Servo, Rust, and Firefox development, and runs the Bugs Ahoy contributor tool.
HN commenters recommend his Bugs Ahoy site for finding mentored first bugs in Mozilla projects, and link his Stylo slides.
First of all, kudos to you for thinking about contributing to bigger projects, and open source ones at that!
Projects with large codebases always take some time to figure out. Therefore, it's wise to start with a bug that a more experienced programmer has labeled "bitesize". Other commenters here mentioned Josh Matthews' super-cool "Bugs Ahoy" tool for Mozilla -- http://www.joshmatthews.net/bugsahoy/. I'll chime in that I'm a maintainer of a similar thing that covers even more projects: https://openhatch.org/search/
If you want a general roadmap of how this works, we (OpenHatch) have also written up a step-by-step guide here: http://labs.openhatch.org/foss-contrib-guide/ . Work through it as a checklist, clicking the box next to each step as you do them. We've found that works really well with people.
The two big things in my opinion, as you start out, are:
* Find a project that you care about. Otherwise, you'll lose momentum. It's cool that you want to work on Mozilla-y projects! My only warning is that the long build time means you are going to have to plan to wait a while (about 1 hour) between downloading the code and actually running your local build.
* Find a task that is doable, so you can actually get it fixed, and you actually enjoy it!
Some things to watch out for:
* The build process could be super slow, for big projects like Firefox.
* Eventually you're going to have to get used to navigating enormous projects. This might sound daunting, but actually I…
I've been working with new contributors for some years now. Here are some advices:
- find a mentor. It will helps a lot (use http://www.joshmatthews.net/bugsahoy/);
- for the first bugs, writing code is not usually the hard part. Understanding bugzilla and writing tests are;
- ask for a commit access level 1 early to have access to the try servers (to run the tests);
- finish what you start. Bug is fixed when it lands, not when a patch is attached;
- mozilla hackers are nice people, ask questions on IRC. There's no stupid questions (we all started from zero too);
Everything will get much easier after the first bug fix. And motivation grows a lot once you have finally landed some code :)
Or contribute to Servo! Despite the huge milestone represented by Acid 2, it's still pretty early days and there is plenty of work to go around. The code's on GitHub [1], Josh Matthews did a nice talk about Fosdem that should give you a start on the architecture and how to contribute (video [2], slides [3]), and there is an irc channel (#servo on irc.mozilla.org) where you can ask questions.
[1] https://github.com/mozilla/servo/
[2] http://ftp.osuosl.org/pub/fosdem//2014/UD2218A/Saturday/Servo_building_a_parallel_web_browser.webm
[3] http://www.joshmatthews.net/fosdemservo/
I have found the mozilla community to be very helpful and each project has a very good list of mentored bugs. The community has found http://www.joshmatthews.net/bugsahoy/ to be a very good tool for beginning contributors to get the right first bug and step into the whole community.
Best way to get involved remains to ping to #introduction on IRC (irc.mozilla.org)
Regarding discovering them algorithmically tends to be quite an interesting idea actually, should think more on this.
For Mozilla, Josh Matthews made a page to find mentored bugs: http://www.joshmatthews.net/bugsahoy/ which is a good resource to finding a task and somebody to help you.
If you're a bit more brave, you can just dive into bugzilla.mozilla.org and find something you want to fix, but honestly it's full of junk bugs and without having a feel for things, you'll have a hard time.
Holy crap, the background image for that presentation slides is 780KB and the background image for the page is 786KB
http://www.joshmatthews.net/fosdemservo/themes/mozilla/images/bg-darkgrey-2.png
http://www.joshmatthews.net/fosdemservo/themes/mozilla/images/bg-sandstone-2.png
Think of the mobile users!