Getting Your Work Into Mozilla
Pages: 1, 2, 3, 4
The tree: CVS, Tinderbox, LXR, and Bonsai
The best way to view the source code is to use LXR, which provides a web-based view of the structure of the source tree and of the source code itself. LXR gives you timely and easy-to-read views into the source code, its structure, and all of its files.
The resource that actually contains the source code is a massive CVS repository (actually, a series of repositories) that can be accessed with various tools provided by Mozilla. At some point, you will be using the CVS tool itself to check in your work, which is described on the Mozilla web site. But before that, you'll have to get used to monitoring the source tree so that you'll know what others are checking in, what state the automated builds are in, and what the source tree actually looks like.
Bonsai and Tinderbox: views into the source
Bonsai is a tool that lets you query the CVS repository for information about what's being checked in. You can run queries by date, engineer, file, branch, location, or by combinations of these and other parameters. Bonsai is indispensable for tracking changes to the source tree, and you must be aware of changes to your area in the source if your project is to be integrated smoothly. Using Bonsai and paying attention to the discussions about the source tree and the builds going on in the #mozilla channel on IRC and such newsgroups as netscape.public.mozilla.builds, you can monitor the area of your project to foresee changes that will affect you.
While Bonsai focuses upon the source code, Tinderbox looks at the builds that come from that source code. Tinderbox is a web-based tool that allows you to watch the progress of builds being done constantly from the source tree. Tinderbox broadcasts information about its relative success on different platforms, writes detailed information to log files, and links to Bonsai's check-in information to give you a great starting place for watching the overall progress of the source and the builds.
![]() |
Web-based Tinderbox Tool |
Checking in
Having said all that we have about getting acquainted with the Mozilla community, helping others, and finding your way around, we have omitted one of the most important requirements for getting your work contributed into the Mozilla code base. You must apply for and receive a CVS account that will allow you to write into the source code repository as well as check out from it.
All of the source code in the Mozilla project is available for download via anonymous ftp. This means that you do not need any special permissions to download the source code to your local machine and build Mozilla. If you have become a good member of the Mozilla community and have exhibited your talents and your willingness to help others, then filling out a CVS contributor form ought to get you the ability to check code in as well as out.
![]() |
LXR view of extensions area. |
First time contributions to the Mozilla project are always checked into the extensions area of the source base. Using LXR (shown above), you can see the projects already checked into and maintained in this area.
|
Daniel "Leaf" Nunes, Mozilla's build and release guru, describes the process for having your work simply present in this extensions area, and having it turned on in the nightly builds, so that users who grab the compiled versions of the source code can see your work: "The problem is that there isn't a strict, documentable pathway from having CVS access to contributing code that everybody uses. "There are a few common heuristics ("write an extension that everyone will find useful," "write good code," and "don't write something that works only on Windows, with a particular toolset", etc.), but there is no voting process to include something in the nightly builds. "Basically, if you write an extension (chatzilla is a good example) that works cross-platform, doesn't hork the builds when it's enabled, and is of some use to some large set of developers (primarily) and users (secondarily), I'll turn it on in the nightly builds, or someone will turn it on in the default build configuration. Obviously, if it becomes a nuisance, by breaking frequently, or taking too much build time/space, it's going to be removed again." |
Once you have apprised the Mozilla community of your project, prepared it properly, been given a CVS account, and checked your work in under the extensions directory, it will appear here in the Mozilla source code for all to see and compile.
Having your project incorporated
The last and perhaps least scientific stage in getting your work incorporated into the project is to have it made part of the nightly Mozilla builds. There are dozens of projects at Mozilla that are in the source code and accessible by anyone compiling their own builds but are not a part of Mozilla's binaries. If you have proven the worth of your project and been a good member of the Mozilla community, then this last step--which needs to be handled by someone in the mozilla.org community itself -- is the final validation of your efforts.
Ian Oeschger is a Senior Principal Writer at Netscape Communications.
David Boswell has been involved in the Mozilla community for more than six years. He is also a coauthor of Creating Applications with Mozilla and helped launch mozdev.org.
Discuss this article in the O'Reilly Network Browsers Forum.
Return to the Mozilla DevCenter.





