Add-on Developer FAQ

Developing an Add-on

How do I build an Add-on?

Mozilla provides documentation on how to build an add-on via the Mozilla Developer Network.

What is a ".xpi" file?

Extensions are packaged and distributed in ZIP files or Bundles, with the XPI (pronounced "zippy") file extension.

What is XUL?

XUL (XML User Interface Language) is Mozilla's XML-based language that lets you build feature-rich cross platform applications. It provides user interface widgets like buttons, menus, toolbars, trees, etc that can be used to enhance add-ons by modifying parts of the browser UI.

Note: XUL is considered a legacy technology in Firefox, and add-ons using XUL will no longer load starting from Firefox 57. Please use WebExtensions APIs to develop new add-ons. If you have a legacy add-on, consider migrating it to WebExtensions. For information on migrating a legacy add-on, please visit Porting a legacy Firefox add-on.

How do I test for compatibility with the latest version of Mozilla software?

To ensure compatibility with the latest Mozilla software, it's important to download updates as they become available and test your add-on to ensure that it is still functioning as expected. Since these releases at times introduce architectural changes that may impact the functionality of your add-on, it's important to be actively involved in the beta process to ensure that your add-on users are not negatively impacted upon final release of Mozilla software.

Support Resources

I need some advice building my add-on. Where can I find help?

  • irc://irc.mozilla.org/
    • #extdev (for add-on development discussions)
    • #amo (for support relating to hosting your add-on on AMO)
    • #webextensions (for discussions about developing and porting to WebExtensions)
  • Add-ons forum

Does Mozilla offer development services?

No.

Are there 3rd party developers that I can hire to build my add-on?

Yes. You may find 3rd party developers via the Add-ons forum, mozilla.jobs list, mozillaZine forums or the Mozilla Wiki. Please note that Mozilla does not offer developer recommendations.

Contributing your Add-on

Can I host my own add-on?

Yes. Many developers choose to host their own add-ons. Choosing to host your add-on on Mozilla's add-on site, though, allows for much greater exposure to your add-on due to the large volume of visitors to the site.

Can Mozilla host my add-on?

Yes. You can host your add-on on Mozilla's add-on website.

What is AMO?

Mozilla's AMO (https://addons.mozilla.org) is the incubator that helps developers build, distribute, and support fantastic consumer products powered by Mozilla. It provides you the tools and infrastructure necessary to manage, host and expose your add-on to a massive base of Mozilla users.

Does Mozilla keep my account information private?

Yes. Our Privacy Policy describes how your information is managed by Mozilla.

What are the "developer tools" listed on AMO?

The "Developer Tools" dashboard is the area that provides you the tools to successfully manage your add-ons. It provides the functionality necessary to submit your add-ons to AMO, manage add-on information, and review statistics.

Does Mozilla have a policy in place as to what is an acceptable submission?

Yes. Mozilla's Add-on Review Policies describe what is an acceptable submission. This policy is subject to change without notice. In addition, the Add-on Reviewer Team uses the Add-on Review Guide to ensure that your add-on meets specific guidelines for functionality and security.

How do I submit my add-on?

The Developer Tools dashboard will allow you to upload and submit add-ons to AMO. You must be a registered AMO user before you can submit an add-on. Before submitting your add-on be sure to you have read the Add-on Review Policies to ensure that your add-on has met our guidelines.

What operating system do I choose for my add-on?

You must choose the operating systems on which your add-on will successfully function.

What category do I choose for my add-on?

The choice of category is dependent on what type of audience you are targeting and the functionality of your add-on. If you're unsure of which category your add-on falls into, please choose "Other". The AMO team may re-categorize your add-on if it's determined that it's better suited in a different category.

Can I specify a license agreement for using my add-on?

Yes. You can specify a license agreement when submitting your add-on. You can also add or update a license agreement via the Developer Tools dashboard after your add-on has been submitted.

Can I include a privacy policy for my add-on?

Yes. You can specify a privacy policy when submitting your add-on. You can also add or update a privacy policy via the Developer Tools dashboard after your add-on has been submitted.

Add-on Review Process

Must my add-on be reviewed?

New and updated add-ons may be suject to reviewed to ensure that Mozilla users have a stable and safe experience. The guidelines outlined in the Add-on Review Guide are used to review add-on submissions.

Who reviews my add-on?

Add-ons are reviewed by the Add-on Reviewers, a group of talented developers that volunteer to help the Mozilla project by reviewing add-ons to ensure a stable and safe experience for Mozilla users. When communicating with a reviewer, please be courteous, patient and respectful as they are working hard to ensure that your add-on is set up correctly and follows the guidelines outlined in the Add-on Review Guide.

What are the guidelines used to review my add-on?

The Add-on Reviewer Team follows the Add-on Review Guide when testing an add-on. It is important that add-on developers review this guide to ensure that common problem areas are addressed prior to submitting their add-on. This will greatly assist in avoiding review issues.

How long will it take for my add-on to be reviewed?

We cannot give a time estimate as to how long it will take before an add-on is reviewed. Many factors affect the time including the:

  • number of add-on submissions
  • complexity of an add-on’s code
  • number of problem areas discovered

This is why it's very important to read the Add-on Review Guide to ensure that your add-on is setup as expected.

Managing Your Add-on

How can I see how many times my add-on has been downloaded?

The Statistics Dashboard found in the Developer Tools dashboard provides information that can help you determine your add-on downloads since you've submitted it to AMO.

How can I see how many active users are using my add-on?

The Statistics Dashboard found in the Developer Tools dashboard provides information that can help you determine how many users have been actively using your add-on since you've submitted it to AMO.

How do I submit an update for my add-on?

You can submit an update for your add-on via the Developer Tools dashboard by choosing the option "Upload a new version" and uploading a new .xpi file for your add-on.

Does my update need to be reviewed by reviewers?

Add-on updates may be subject to review just the same as new submissions.

Gebruikerresensies

How do I reply to a user who has posted a negative review of my add-on?

A developer may reply to any review posted to their add-on as long as they are logged into AMO. In addition, any user can flag a review as:

  • Spam or otherwise non-review content
  • Inappropriate language/dialog
  • Misplaced bug report or support request
  • Other (provides a pop-up prompt for information)

Currently, AMO does not provide a mechanism to directly communicate with a the author of a user review.

Can I request that a review be removed if the review is negative?

No. We do not remove negative reviews from add-ons unless they are found to be false.

Can I request that a review be removed if the review is inaccurate?

If an author contacts us and asks for a review containing false or inaccurate information to be removed, we will review the post and consider removing it.

References for Open Source Licenses

Do you need more information about the various open source licenses? Are you confused as to which license you should select? What rights does a specific license grant? While nothing replaces reading the full terms of a license, below are some sites that contain information about some of the key open source licenses that may help you sort out the differences between them. These sites are being provided solely for your convenience and as a reference for your personal use. These resources do not constitute legal advice nor should they be used in lieu of such advice. Mozilla neither guarantees nor is responsible for the content of these sites or your reliance on such content.

https://www.mozilla.org/MPL/

In addition to the full text of the Mozilla Public License("MPL"), this also provides an annotated version of the MPL and an FAQ to help you if you want to use or distribute code licensed under it.

https://community.kde.org/Policies/Licensing_Policy

A table summarizing and comparing how some of the key open source licenses treat distributions, proprietary software linking, and redistribution of code with changes.

http://www.gnu.org/licenses/license-list.html

Free Software Foundation provides short summaries of the key open source licenses, including whether the license qualifies as a free software license or a copyleft license. Also includes a discussion of what constitutes a free software license or a copyleft license (e.g., a Copyleft license is a general method for making a program or other work free, and requiring all modified and extended versions of the program to be free as well.)

http://opensource.org/licenses/category

Open Source Initiative provides the terms of some of the key open source licenses.

https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

A comparison of known open source licenses on Wikipedia.

http://choosealicense.com/

A site to provide non-judgmental guidance on choosing a license for your open source project.