|
? |
|
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 Center.
The tutorial,
Building an Extension,
will help explain how to
setup your work environment
and move forward with
creating an add-on.
Other
resources include:
- What tools do I need to
be able to build an Add-on?
- You will need to have a
version the Mozilla software
that you're building the
add-on for and a code editor
of your choice. Add-ons can
be built for almost all
Mozilla software but are
primarily targeted for:
Popular code editors
include:
You can also learn more
about setting up your
development environment via
the MDC article
Setting up extension
development environment
- Where can I find
documentation on building
add-ons?
- All Mozilla
documentation on add-on
development including
tutorials and APIs can be
found via the
Mozilla Developer Center.
- 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.
- What is the
"install.rdf" file used for?
- This file, called an
Install Manifest, is
used by Add-on
Manager-enabled XUL
applications to determine
information about an add-on
as it is being installed. It
contains metadata
identifying the add-on,
providing information about
who created it, where more
information can be found
about it, which versions of
what applications it is
compatible with, how it
should be updated, and so
on. The format of the
Install Manifest is RDF/XML.
- What does "maxVersion"
mean?
- This determines the
maximum version of Firefox
you're saying this extension
will work with. Set this to
be no newer than the newest
currently available version!
- Can my add-on contain
binary components?
- Yes. You can use
Mozilla's
XPCOM component object model
to enhance your add-ons.
XPCOM components be used and
implemented in JavaScript,
Java, and Python in addition
to C++.
- Can I use a JavaScript
library like jQuery,
MooTools or Prototype to
build my add-on?
- Yes. It's possible, but
some of the functionality
provided by these libraries
are available through XPCOM,
XUL, and JS 1.8. In
addition, authors should
take care if libraries
modify primitive object
prototypes
(String.prototype,
Date.prototype, etc.) and/or
define global functions (eg.
the $ function). These are
prone to cause conflict with
other add-ons, in particular
if different add-ons use
different versions of
libraries and so on.
Developers need to be very,
very careful with using
them. Mozilla does not offer
documentation on using them
to build add-ons.
- How do I test my add-on?
- Details on testing your
add-on are provided in the
Testing &
Debugging Extensions
sections of the
Building an Extension
tutorial.
- 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. It's best to
follow the steps outlined in
the
Building an Extension
tutorial for
testing your add-on. In
many cases, the latest
version of Mozilla software
may be a beta release. 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
you're add-on users are not
negatively impacted upon
final release of Mozilla
software.
- What is leak testing?
- Memory leaks are
typically bugs in the source
code used to build
applications which consume
system memory without
properly releasing it once
the application has
finished. Leak testing
allows you to pinpoint which
bit of code is causing the
memory leak. The following
is a good
guide to finding tools and
strategies that help
manage leak testing.
Mozilla's Carsten Book has
also written an excellent
HOW-TO article on the
subject of
leak testing in Firefox.
- Can my add-on support
multiple locales?
- Yes. Details on
localizing your add-on can
be found in the
Building an Extension
tutorial as well as the
Mozilla Developer Center
Localization page.
The BabelZilla project
is also a great resource for
learning about localization
and volunteering to help
translate add-ons.
Support Resources
- I need some advice
building my add-on. Where
can I find help?
- Mozilla offers the
following support options
for add-on developers:
- 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
mozilla.jobs list,
mozillaZine forums or
MozDev. Please note that
Mozilla does not offer
developer recommendations.
Contributing your Addon
- 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 AMO
(https://addons.mozilla.org),
though, allows for much
greater exposure to your
add-on due to the large
volume of visitors to the
site. The
mozdev.org site offers
free project hosting for
Mozilla applications and
extensions providing
developers with tools to
help manage source code,
version control, bug
tracking and documentation.
- Can Mozilla host my
add-on?
- Yes. You can host your
add-on on Mozilla's AMO (https://addons.mozilla.org)
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 Policy describes
what is an acceptable
submission. This policy is
subject to change without
notice. In addition, the AMO
editorial team uses the
Editors Reviewing Guide
to ensure that your add-on
meets specific guidelines
for functionality and
security.
- How do I submit my
add-on for review?
- The Developer Tools
dashboard will allow you to
upload and submit add-ons to
AMO. You must be a
registered AMO users before
you can submit an add-on.
Before submitting your
add-on be sure to you have
read the AMO
Editors Reviewing Guide
to ensure that your add-on
has met the guidelines used
by editors to review
add-ons.
- 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.
- What does "nominating"
my add-on mean?
- Nominated add-ons are
new add-ons that the author
has nominated to become
public via the Developer
Tools.
- 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
- Why must my add-on be
reviewed?
- All add-ons submitted,
whether new or updated, are
reviewed to ensure that
Mozilla users have a stable
and safe experience. All
add-ons submissions are
reviewed using the
guidelines outlined in the
Editors Reviewing Guide.
- Who reviews my add-on?
- Add-ons are reviewed by
the AMO Editors, 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 editors,
please be courteous, patient
and respectful as they are
working hard to ensure that
you're add-on is setup
correctly and follows the
guidelines outlined in the
Editors Reviewing Guide.
- What is the sandbox?
- A complete explanation
of the
AMO Sandbox can be found
here.
- Why is my add-on marked
as "experimental"?
- Newly submitted and
nominated add-ons are listed
as "experimental" until they
have been properly reviewed
by a member of the editorial
team. This ensures that
users are aware of the
add-on's status before
choosing to install an
add-on that has not been
fully reviewed.
- What are the guidelines
used to review my add-on?
- The Mozilla editorial
team follows the
Editors Reviewing Guide
when testing an add-on for
acceptance onto AMO. It is
important that add-on
developers review this guide
to ensure that common
problem areas are addressed
prior to submitting their
add-on for review. This will
greatly assist in expediting
the review process.
- 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
Editors Reviewing Guide
to ensure that your add-on
is setup as expected. It's
also a good idea to read the
blog post,
Successfully Getting your
Addon Reviewed which
provides excellent insight
into ensuring a smooth
review of your add-on.
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 editors?
- That depends. If you are
simply changing a
description of your add-on
or updating a "maxVersion"
to ensure compatibility with
a new Mozilla software
update, then your add-on
does not need to be reviewed
again. If, however, you
submit a new updated file,
then your add-on update will
need to be reviewed by an
editor.
Recommended Status
- What are the Recommended
Lists?
- The Recommended lists
are an important part of
exposing AMO visitors to
useful and compelling
add-ons within a small &
focused list. It allows us
to feature add-ons that have
done a good job of creating
a unique and/or exciting
enhancement to Mozilla
software and increasing
awareness of the thousands
of add-ons hosted on AMO.
The lists are broken down
into two categories;
Recommended and Category
Recommended. The former is
shown on the home page of
AMO and is typically limited
to 40 featured add-ons. The
latter are lists of add-ons
that are recommended at the
category level. The only
distinction between the two
lists is that Category
Recommended add-ons are not
featured on the home page.
Apart from that, both lists
are meant to recognize the
achievements of individual
add-on authors and the work
they’ve produced.
- What is a Featured
add-on?
- The main page of AMO as
well as the main page for
each category contain three
slots which are used to
display a set of Featured
Add-Ons. These add-ons are
pulled from the Recommended
and Category Recommended
lists respectively and
periodically rotated as
described in the
Featured Add-ons FAQ to
allow recommended add-ons a
chance for increased
visibility to users.
Featured add-ons are rotated
regularly to prevent
staleness.
- How can my add-on be
listed as Recommended?
- The
following blog post
describes the process by
which the Recommended lists
are managed.
- Can I pay to have my
add-on listed as
Recommended?
- No.
- Why is my add-on no
longer listed as
Recommended?
- The
following blog post
describes the process by
which the Recommended lists
are managed.
User Reviews
- 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
reviewer but this feature is
being investigated and
considered for a future
update.
- 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.
-
http://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.
-
http://developer.kde.org/documentation/licensing/licenses_summary.html
- 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.fsf.org/licensing/licenses/
- 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://www.opensource.org/licenses/category
- Open Source Initiative
provides the terms of some
of the key open source
licenses.
-
http://en.wikipedia.org/wiki/Open_source_license
- Wikipedia listing of
known open source licenses.
|
|
|
|
View all featured add-ons » |
|
|