<-- Back to schedule

What Makes the Lizard Roar? A Tour through Mozilla Architecture

If you're a Linux programmer, you probably use Firefox every day. Have you ever been curious about the code? Ever wanted to modify something in Firefox, whip up a quick extension, tweak some network settings, or just understand how something worked? Then you got a glimpse of the half-gig source tree and decided "well ... maybe later."

Well, maybe now's the time. This tutorial takes you on a tour of Mozilla's source code. I'll start with a quick high level overview of some important modules and where to find them, from the the XPCOM and NSPR underpinnings to libraries like the "gecko" layout and parser code, netlib, serializers, and the editor.

Getting more specific, I'll discuss the difference between XUL and XBL, how the JAR files are organized (and the easiest way to look at them), and where Javascript fits in. When should you create an extension instead of just hacking the source tree -- and what options are there in between? What's this xulrunner thing and how do you use it?

Some programming knowledge is assumed, but we won't be spending a lot of time on the intricacies of the C++ core libraries -- a surprising amount of Firefox's code is fairly high level Javascript and XUL, and you can browse a lot of it without even downloading a source tree.

This tutorial will give you a better understanding of how your browser works, and the tools you need to enhance or build upon it.

Akkana Peck

Akkana Peck is a freelance software developer and the author of the book "Beginning GIMP: From Novice to Professional." She has been working with open source software for a bit over two decades (including seven years as a Mozilla developer), and has contributed to Mozilla, GIMP and many other projects. She is also a LinuxChix coordinator and a longtime member of the GIMP community. She enjoys giving presentations on open source, programming, astronomy and other topics at local clubs and schools as well as Linux conferences when she isn't out walking around shooting more photos to clutter up her hard drive. She lives in San Jose, California, with her husband and a motley assortment of old computers.