If you're preparing to document something, you may be trying to decide whether to put the information on MDN. In addition, you may be considering maintaining documentation in your source code, putting the document on the Mozilla wiki, or in readme files in a git repository. This article's purpose is to help you decide which of these options is right for your content.
The two main considerations for whether a document belongs on MDN are:
- The topic of the document (what is it about?)
- The nature of the document (what kind of document is it?)
Keep in mind that Mozilla's Websites & Communications Terms of Use are in effect when you use or contribute to MDN. Review this document to ensure that you're aware of what can and cannot be posted on Mozilla sites.
What topics belong on MDN?
We cover an incredible variety of material on MDN; in general, if it's an open Web-facing technology, or a Mozilla product, we document it on MDN. But there are a few things that outright don't belong on MDN, too. This section will help you figure out if MDN is a suitable home for your documentation.
Here's a taste of some of the things we cover; this isn't a complete list but will give you some idea.
Open Web standards and technologies
The current focus of our Web standards documentation is on features that can used by Web developers creating site and applications for a broad audience today. That means things that are implemented by multiple browsers and are either accepted as standard or are progressing towards standardization. The primary focus is on front-end web technologies. Back-end technologies usually have their own documentation elsewhere, which MDN does not attempt to supercede.
Also welcome are topics that cut across technologies but are relevant to Web development, such as:
Note: MDN covers even non-Mozilla technologies if they're exposed to the Web; for example, we have documentation for WebKit-specific CSS properties.
Mozilla products
Documentation in this category includes information on both how to work with Mozilla products, as a developer, and how to contribute to these open-source projects.
While MDN contains a large quantity of Mozilla product documentation, the focus of new content development is on open web standards. It is not recommended to create new Mozilla product documentation on MDN. If you are working on a Mozilla product (or project that may become a product), talk to a member of the MDN staff team to discuss possible avenues for documenting your product. Also, see the section on Cases for documenting elsewhere, below.
What topics don't belong on MDN?
Some examples of inappropriate topics for MDN:
- Technology that is not exposed to the Web but is specific to a non-Mozilla browser.
- Technology that is not related to the Web or Mozilla products.
- Documentation for end-users; for Mozilla products, such documentation belongs on the Mozilla support site.
What types of documents belong on MDN?
In general, MDN is for product documentation, not for project or process documentation (except about MDN itself). So, if the document is about "how to use a thing" or "how a thing works" (where the "thing" is in one of the topic categories mentioned above), then it can go on MDN. But if it about "who's working on developing a thing" or "plans for developing a thing", then it shouldn't go on MDN. In that case, if the thing is being developed under the umbrella of Mozilla, then the Mozilla project wiki may be a good place for it.
Here are some examples of types of documents that should not be placed on MDN:
- Planning documents
- Design documents
- Project proposals
- Specifications or standards
- Promotional material, advertising, or personal information[*]
Advantages to documenting on MDN
If you've determined that the documentation you want to write is appropriate in content and type for MDN, but you're still not sure whether MDN is the best place for it, read on. There are a lot of good reasons to create documentation on MDN.
Lots of writers and translators
The MDN community is big. Really big. It's big in the sort of way that makes big things look small. Seriously, we have a lot of people that participate in creating and maintaining content on MDN. With writers and editors on every continent (okay, I'm not sure about Antarctica, but otherwise), there's a lot of value to the sheer volume of writers:
- We have a paid staff of writers whose mission is to make sure that our content is as good as possible.
- We have a core community of volunteers who contribute substantial amounts of content and can help you.
- The MDN team can work with you to ensure that your documentation project is adequately staffed.
- The broader MDN community also contributes enormously; from typo fixes to editorial reviews of your content, they can save your bacon.
- The #mdn channel offers a resource where you can talk to our writing community and get their advice, or recruit help with the production of or maintenance of your content.
- Because we have contributors all over the world, there's always someone around, watching for problems and fixing them.
- Our community of volunteers includes translators for many languages, who can help localize your documentation.
Do you want your development team to be entirely responsible for the production of documentation? That's likely if your documentation is maintained elsewhere.
Maintenance
Because of the sheer number of contributors, there's usually someone on hand to watch for problems with your content: from spam control to copy-editing, things can happen around the clock. Here's just a taste of what our team can do:
- Delete spam
- Spam happens. We deal with it.
- Copy editing
- You don't have to worry if your writing isn't as clear or precise as you'd like. We'll turn your prose into something other people can read.
- Consistency of style
- We'll ensure that your content is stylistically consistent not just within itself, but with the other documentation around it.
- Content management
- Our team will help ensure that the documentation is cross-linked with other relevant materials, that articles are put in the right places, and that menus and other infrastructure is built to make it easy to follow and understand.
- Site and platform maintenance
- MDN has both an IT team who keep the site up, running, and secure, and a platform development team who maintain and enhance the platform. You won't need to devote your own or additional resources to documentation infrastructure.
Cases for documenting elsewhere
There are also a few reasons you may be thinking about documenting your work somewhere other than MDN. Here are some of those reasons, and the pros and cons for each.
Plans and processes
Documentation for plans, processes, and proposals should never be put on MDN. That's pretty simple. If your project is part of Mozilla, you can put them on the Mozilla project wiki.
The project is on Github
Some of Mozilla's projects are hosted on Github, and Github offers its own wiki-like system for documentation. Some teams like to produce their documentation there. This is certainly fair and convenient if you're game to write your own docs; however, keep in mind that:
- The MDN docs team will probably not be able to help you. We don't generally participate in documentation work off MDN; there are exceptions but they are rare.
- Cross-linking your documentation with other relevant materials may be difficult or impossible.
- The content will not have consistent style with other documentation.
- Your documentation loses discoverability by not being among other (Web or Mozilla) documentation.
- Github-hosted docs are generally not as attractive and/or readable as those hosted on MDN.
It's possible, of course, that these things don't bother you, or aren't a problem in your situation. Some teams don't mind keeping their own docs, or are working on code that has minimal documentation needs.
You want to keep docs in-source
Some teams like to have their documentation in the source tree. This is particularly common with project internals and library projects.
This approach has a couple of advantages:
- It lets the developers document their technology as they code it, helping to ensure that the docs stay up to date with the code.
- Docs can be subject to the same development and release processes as the code, including versioning.
There are some drawbacks:
- The MDN docs team can't help you; even if the code is within Mozilla's source repository, the system of reviews and check-ins make it impractical for the docs team to participate.
- You don't have easy tools for cross-linking with other relevant documentation. Cross-linking provides both context and additional important information to your readers.
- Your documentation loses discoverability by not being among other documentation.
- Even if you use conversion tools (like JavaDoc) to create Web-readable documentation, it won't be as attractive as what we can do on MDN.
Still, this can be a viable option (possibly even a good option) for some types of projects, especially small ones or those that aren't expected to get much interest.
^ It's OK to put a limited amount of personal information on your MDN profile page. User profiles should reflect a human being, not a business or organization. A moderate degree of self-promotion is OK, but link-spamming is not. Please do not use your profile to upload personal photos or other irrelevant files.