Boot2Gecko/Licensing

From MozillaWiki
< Boot2Gecko
Revision as of 13:30, 21 January 2013 by Gerv (talk | contribs)
Jump to navigation Jump to search
Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

We are often asked for a list of all the free/libre/open source software licenses associated with Boot2Gecko/Firefox OS. This page attempts to answer that question, and related ones. While Mozilla attempts to provide guidance on these questions in an effort to be helpful, you need to take full responsibility for your interpretation of and compliance with open source licensing terms.

Note that if you are a Firefox OS user, there is no need for you to read or agree to any of the open source license agreements. Complete freedom to use the covered software is guaranteed by all open source licenses. However, the vendor of your device or third party software providers may require your acceptance of some of their agreements.

Background

Free/libre/open source licenses have certain things in common, which qualify them for that designation. Among the rights that you are guaranteed when receiving such software are:

  • Use of the software for any purpose is unrestricted.
  • Distribution of the code or binaries to others is unrestricted.

Therefore, unlike most proprietary licensing, you can be sure that none of these licenses will restrict what you can do with the software, or who you can give it to. And if you get it from us, there will never be charges associated with it. It is also therefore true that you do not need an agreement with Mozilla to manufacture or ship a device which uses the Boot2Gecko code. Note, however, that Mozilla retains all rights to its trademarks, including but not limited to "Firefox OS" and the associated logos. Therefore, you need an agreement with Mozilla in order to ship a "Firefox OS" device or one which uses the Firefox or Mozilla name or branding.

EULAs

Because there are no restrictions on what the software can be used for, open source licenses are not EULAs (End User License Agreements). There is no need to present them to users for their 'acceptance', and Firefox OS does not do so. For code under some open source licenses (e.g. the MPL), it is acceptable for you to license binaries you have compiled yourself under different terms, and so it is legal for you to impose a EULA of your own on the use of those binaries. However, that EULA cannot abrogate or restrict any rights the user may have, e.g. to source code, which are guaranteed by the terms of those open source licenses.

Open Source Licenses

With all of that in mind, the following open source licenses cover code included somewhere in Firefox OS:

All parts of Firefox OS also contain many files under what are called "permissive licenses" - licenses like the MIT license or BSD license. These licenses have no standard text, and so come in a large number of similar variants. With the exception of one occasionally-found clause (see below), most authorities judge all the variants of one of those licenses to have equivalent legal effect. You can see the full list of variant forms on the Open Source Licenses page (that link is to the latest development version of the code).

'Advertising Clause'

Some variants of the BSD license have an 'advertising clause', which runs something like the following:

 3. All advertising materials mentioning features or use of this software
    must display the following acknowledgement:
 This product includes software developed by <AUTHOR>.

You can find the applicable advertising clauses by searching the Open Source Licenses page for "All advertising materials". Note that advertising clauses referring to the following people or organizations have been waived and so may be disregarded:

You should consult your lawyers regarding the interpretation of such clauses and what effect, if any, they should have on the advertising strategy of you or your partners or distributors.

Proprietary Licences

All source code which is part of the Boot2Gecko project is open source. However, in order to ship a device, may need to acquire and ship e.g. proprietary hardware drivers supplied by the chipset manufacturer of your hardware. Compliance with such licenses is out of scope for this page.

How Do I Comply With These Licenses?

If you are shipping a device running Boot2Gecko/Firefox OS, we advise that you should:

  1. Make sure your advertising strategy either complies with or avoids triggering the conditions of the BSD advertising clauses mentioned above.
  2. Make sure you are shipping an up-to-date copy of the Open Source Licenses page in the Settings app. Unless you add code from elsewhere under a different open source license, the copy you get from the Boot2Gecko repository should be correct and up-to-date.
  3. Supply a copy of all of the open source code, either on the device itself or on an accompanying CD.

This is not required for all open source licenses - some licenses require all the source, some only require the source to changes you have made, and some don't require you to ship the source at all. So you do have the option of working out which parts it is required for and which parts it is not required for. But we suggest it is probably easier to ship everything, if it will fit on your CD or device.

If you do not ship the source with the device then, at least for the parts under the GPL, you will need to set up a mechanism for sending CDs to anyone who asks for them (see section 3 b. of the GPL version 2). You can also offer the source code for download at a URL, but according to the Free Software Foundation, creators of the GPL, this by iself is not sufficient to meet the requirements. So perhaps it is easier to simply ship the source code with the device.

XXX provide appropriate commands for extracting this without history from hg/git?