Platform/GFX/Contribute

< Platform‎ | GFX
Revision as of 14:59, 27 October 2011 by Bjacob (talk | contribs)

You've reached the Gfx team! This page aims to give useful information to get started as a contributor in the Gfx team.

What we are doing

Gfx stands for Graphics. This is the part of the browser engine (Gecko) that concerns itself with the final stages of the rendering of web pages, when we actually draw the contents of the page: text, images, canvas, video... Whenever possible, we use the GPU, via OpenGL or DirectX, to accelerate the drawing.

The Meet the Gfx team page presents us and explains who's working on what.

Get started

To get started, you need to do these few things, in any order:

  • Make your own build of Firefox, from the source code of the development version (mozilla-central). This page explains how to do that.
  • Find a task to work on. [http:// Use this search] to find a mentored bug to work on. See below the list of current projects.
  • Register an account on Bugzilla.

Contact

  • IRC channel: #gfx on Mozilla IRC (irc.mozilla.org)
  • Weekly conference calls: we have weekly team meetings taking place over the phone/videoconference, usually on Mondays 2:30 pm Pacific time. Everyone is welcome to attend them. Dial-in details, agendas and minutes are given on each meeting's page, on that page. If you want to talk about something, please first edit the agenda.
  • Once you've found a mentored bug you would like to work on, adding a comment on that bug is a good way to get in contact with the mentor.
  • For the month of November, the monthly Gfx team contact is bjacob
  • Bugzilla is what we use for most development discussion.
  • For serious questions or discussion that doesn't fit on Bugzilla, there is the dev-platform mailing list.
  • Don't miss the Meet the Gfx team page!

Tools

Here's a quick overview of the tools we're using:

  • Bugzilla is where most development discussion takes place. Here's some Bugzilla documentation.
  • Mercurial is the SCM (source code management) tool we're using for Mozilla source code.
  • Mercurial Queues is not mandatory, but is a very useful tool to work with patches.
  • Languages: Gecko source code is C++, the build-system is GNU Makefiles, unit tests are typically JavaScript/HTML.
  • Compilers: we currently use Visual Studio on Windows, and GCC on other platforms. We have a plan to start building with Clang/LLVM wherever we can, starting on Mac.
  • Patch review: Once you have made a patch for a bug, attach it to the bug and request review for it. It's just a matter of setting 'review?' on it and selecting an appropriate reviewer.