Secrets of Firefox 2.0, straight from Mozilla’s mouth

TORONTO – Firefox is a major piece of software with millions of users, or seen another way, it’s a collection of very small things that need fixing.

“When it comes to development, small is a really nice way to do things,” said Mozilla’s technology strategist Mike Shaver, who spoke Friday at the fifth annual Free Software and Open Source Symposium at Seneca College.

Shaver, a 29-year-old Canadian, is one of the co-founders of the Mozilla Organization, which co-ordinates the development of the Firefox browser and Thunderbird e-mail client. Firefox 2.0, its first major browser release in two years, was launched earlier this week.

Firefox, by necessity and by design, is a series of small tasks, said Shaver. Unlike proprietary software (for example, Microsoft’s Internet Explorer 7, which was released last week) Firefox welcomes the contributions of its users and actively encourages them to submit add-ons and fixes to problems they see.

Mozilla receives countless submissions and considers them carefully (through a review, then a “super-review”) before they can become an active part of the code base.

The process is effective in that it encourages users to take a more active role in the software they’re using, said Shaver, who was born in Grande Prairie, Alta., and currently lives in Toronto. A would-be coder may not have the expertise to re-write chunks of faulty software, but might be able to catch spelling errors in the code base or imperfections in the user interface.

It could be that a user is only interested in fixing one tiny flaw and will disregard everything else, and that’s just fine with Mozilla. “In the open source world, you can contribute to the level of your ability. . . . It’s a weapon for us,” said Shaver.

Even the download time of the Firefox install file needs to be small, he said. “Every time you make it a second longer, people lose their rhythm.”

But if every person who downloads Firefox is also a potential coder for a future edition, the logistics of performing upgrades and fixing bugs can be daunting. It takes time and money to review user input, said Shaver, and it can be a delicate balancing act to manage people’s expectations.

It could be many months before a suggestion is considered and small fixes are usually more welcome that bigger ones. Shaver said he’s suspicious of people who want to tackle major changes within the code base, since their intentions may not be in keeping with those of the wider community.

“We don’t want someone to produce a patch that adds a mail client to Firefox,” he said. “We have extensions for that.”

Mozilla is always trying to improve the way it responds to its user base, he said, and could stand to learn a thing or two from the way Wikipedia handles its relationships.

While Wikipedia isn’t perfect, he said, it is effective in communicating with its community. Accessing and editing documents is self-explanatory, for example. Wikipedia will also direct users to the precise changes it is looking for, like more citations on a particular article or the need to expand a small entry (a “stub”) into a larger one.

“Wikipedia makes it very easy to get in. You’re a reader and it’s very easy to become a contributor. It’s very easy to go from consuming this stuff to giving back to it,” said Shaver.

But coding a browser is more complicated than adding and subtracting text and it can be difficult to keep patches alive in the Firefox community. One user may be passionate about correcting a particular bug, but that doesn’t mean that anyone else is. If that user gives up on fixing it, there may not be another champion to take up the cause.

Knowledge management and knowledge transfer can be almost impossible to handle when your team of coders numbers potentially in the millions, said Shaver. But if you can make a user feel like they’re appreciated, “you’ve also got somebody who’s probably going to be an evangelist for you.”

Mozilla is also interested in contributions from people without IT skills, said Shaver. Reference documents need writing and editing, user interfaces need an artistic touch, and ideas need to be interpreted and crystallized by people who can listen effectively to others.

“Are you the person who can find a comma error in ‘War and Peace’?” said Shaver. “There’s a place for you in open source.”


Share on LinkedIn Share with Google+