Page 1 of 1

Building from source: When can I use official branding?

Posted: 2021-01-20, 14:40
by Moonchild
Building from source:
When can I use official branding?

(this relates to public distribution in any form)

Especially in the realms of Open Source operating systems like Linux, there is a regular practice of building Pale Moon from source specifically for a distro (e.g. if our supplied main-line binaries don't work on the target O.S.) or on the end user's machine. In principle, when this is done, you cannot use official branding. To not be too restrictive and make Pale Moon available on operating systems we don't directly support in our small development team with built and tested binary versions (which some distros are also "allergic" to for various reasons), specific allowances have been made in the redistribution license for Pale Moon that go beyond the normal allowances of MPL-licensed software with protected branding.

In short: Official branding is only allowed if you build in a way that does not materially alter the browser and that has been subject to sufficient quality checks.

What does that mean, in detail?

do not materially alter the browser
Materially altering the browser includes, but isn't limited to:
  • Patching the source with arbitrary configuration changes like enforcing non-default preferences or a different home page or search engine.
  • Patching the source or resulting browser (either as binary or in resources) in a way that changes its behaviour.
  • Installing the browser in a way that results in non-default settings or behaviour for new users/installations.
  • Using system libraries instead of in-tree supplied libraries. For a detailed explanation about the issues involved with this, see this topic.
  • Including additional software not part of official distributions (language packs, extensions, themes, plug-ins, etc.)
do build in a quality-assured way
The official branding is above all a mark of assurance of a certain level of quality and functionality of the browser. This means that we won't allow official branding on binaries that are being built in a way that departs too far from what is being used to create the main-line pre-built binaries we supply, because with a project as large and complex as this browser, the quality, functionality and stability of the result depends just as much on the build process and build configuration as it does on the actual source code being compiled.
In practice, this means:
  • Closely following the build instructions supplied by us
  • Building on stable, and sufficiently-specced hardware (to prevent e.g. stability issues due to memory pressure for the compiler)
  • Building only with approved compilers and linkers (MSVC on Windows, LLVM/Clang on Mac, GCC everywhere else)
  • Using a well-defined .mozconfig following our published examples and guidelines (please confirm with us on the forum before distributing in case of any doubts)
  • Using well-defined compiler optimizations that do not vary from one end-user system to another, following our published examples or instructions provided.
    Of special note here is that this explicitly excludes using globally defined optimizations used for system packages. Pale Moon is unlike other packages on your system and cannot be treated the same way without detriment.
when in doubt do not use official branding unless explicitly agreed with us
Under the label "being flexible within reason":
If you can't, for some reason, follow these points or must deviate from it to come to a positive/usable build on your intended distribution target, then you need to make sure we agree with your use of official branding on the resulting binaries before publishing/distributing them. I.e.: talk to us! Do not just "wing it" or publish anything with our branding before you have. For most specific problems like this there are acceptable solutions to be found, but you have to understand that we must (and will) protect our labels and branding, and your use of them is only allowed by specific exception under conditions that must be met.
If an actual distro (the team behind one, not just one user) has to significantly deviate from what we use in our own official binary build setup that would exclude official branding as an option, but wanted to commit to an extensive investment of time for patch review, testing and quality assurance of the final product to be sure that Pale Moon is functioning perfectly on every level and otherwise identically from an end user perspective (as a collaborative partnership), then that is certainly an option, but once again it has to be discussed and agreed with us. As well-meaning as a user or packager or distro may be, without that kind of investment and assurance to back it up one must fall back to our policies and restrictions if one wants to use our branding for redistribution of our product.
So, always err on the side of caution.