Mozilla 1.0 Development Process

by PETER BOJANIC | As we advance towards the Mozilla 1.0 development cycle we must plan carefully to ensure we meet the objectives defined by the "manifesto". Among these objectives stability is of paramount importance.

To best ensure the trunk remains as stable as possible throughout the Mozilla 1.0 development cycle, two practices will be employed: driver approval for all checkins, and managed landings for high-impact and high-risk patches.

The policy for driver-approved checkins is described in the updated Mozilla Roadmap. To summarize, the trunk will be open throughout the development cycle but a=drivers will be required for all patches, regardless of size or complexity.

Drivers require that high-impact or high-risk patches be managed using the Patch Landing Tool (PLT; formerly the Branch Landing Tool). The PLT is an easy-to-use web-based tool for managing the landing of high-risk or high-impact changes onto the tree. Instructions for PLT are available on komodo.mozilla.org.

If you think your change is high-risk or high-impact then in all likelihood, drivers will as well. The following historical cases provide a benchmark for changes that need to be managed:

  • medium to large new features (e.g. adding a new application, LDAP support)
  • infrastructural (e.g. printing support, font management, image library, NSPR, libpr0n)
  • UI widgets (e.g. folder outliner, editor component)
  • APIs (e.g. change to XUL tags, XPCOM interface)
  • affecting a broad cross-section of code (e.g. skins, relicensing)

These example show the value of the PLT after the 1.0 release, as we take more aggressive changes in 1.1. Some other recent changes that would have benefited from patch landing management include:

  • turning on MathML in the default extensions
  • client tag revisions for NSS updates
  • link toolbar led to a 5% page load regression

If you're planning any significant landings during the mozilla 1.0 development cycle, please make use of the PLT to communicate your changes well in advance of landing them. Drivers and reviewers may require you to use use the PLT if they determine that your patch is of high risk as tolerance for regressions is considerably low in this end-game.

If you have any questions about code contributions or any specific landings for mozilla 1.0 please contact drivers@mozilla.org.

Thanks for your support!

Peter Bojanic and Brendan Eich per drivers@mozilla.org

Got a response? TalkBack!