Mozilla's Design Principles

In addition to being a kind of giant "switchboard" for connecting together the developer community, we feel that one of the most useful roles can play is that of advocate. The number of people who want to work on the Mozilla code can be huge, and so we will try to use our pulpit here to build consensus on what we see as the most important issues and thereby arrive at some kind of coherence in the direction of development. You could think of these as the documents that describe the "core values" of the project.

Unity of Interface
This essay exhorts you to keep in mind what we perceive to be Mozilla's greatest strength that it uses the same interface for the same task, regardless of how the service is implemented on the other end. We believe that consistency in the user interface is a big part of what made Mozilla the success that it is today.
This document explains what Internationalization and Localization (I18N and L10N) are, and why they should matter to you: why it's important to write code that is localizable and works with all languages, and how the existing infrastructure in the source can help you do this.

Essays that may be found here in the future include:

Cross-platform code
Why it's a good thing; an appeal to not fragment the user base with gratuitously system-specific improvements; why "it works for me" is not a long-term plan for survival. (For technical details, check out the C++ Portability Guide.)
An appeal to add infrastructure before adding features; suggestions on how one can do both at the same time; how to write a good API. (For technical details, check out the Extending Mozilla document.)
Backward compatibility
Why keeping old web pages (and code) working is of utmost importance; how to create a new API without breaking the old one, and why you should care; why mom and pop need your help more than the developers of the world.

No doubt many of you will see these as obvious and we will be preaching to the choir; and that's great. The purpose of these essays is to lay out those tenets we believe to be most important to the goals of this particular open-source software project: to produce code that is of the most utility to the largest number of people.

Contributions of editorials are, of course, welcome. If you would like to write one, let us know.