That being said though, I feel a few things must be mentioned if you want to prevent problems with extensions and their original authors:
- Please respect the original extension author's rights! if they release an extension under a restrictive (non-open) license, then no matter how much you would like to, you cannot use the extension's code to create your own derivative, even if it's a "simple fix to make it work", without getting the author's express permission.
Although you can hack extensions for your own personal use in this case, and can share information of what you did, you absolutely cannot distribute the modified extensions to anyone else.
- Similarly, if you change code under an Open Source license, please respect the terms of that license. If it requires the mention of the original author's copyright to be mentioned in source files, for example (e.g. GPL), then you must make sure this copyright is mentioned in what derivative you produce, even if it wasn't originally there.
- Even if released under an Open Source license, this normally only applies to program code, not any unique graphics or distinguishing marks. Those will normally fall under regular copyright unless explicitly released into the Public Domain (and no, Open Source does not equal Public Domain!). So please be sure you can use this kind of content. If in doubt, make a proper fork with your own branding and identification.
- You cannot just "re-license" code under a different license that you prefer at will, so please thoroughly understand the rules and restrictions of the source code license an extension is released under before you work on it or redistribute your derivative.
- Please be aware that creating a fork or derivative may also mean you have to provide updates to the extensions in the future if a change to the browser code requires it.
- Although it is quite possible to target multiple applications from a single extension (e.g. Firefox and Pale Moon), doing so may make things very complex over time, and will likely make extensions more resource-hungry or heavy to load than they need to be (if targeting just one family). You may want to consider splitting into targeted extensions that only focus on one or the other target application family.
- Specifically for Firefox SDK extensions: with the incompatibility to run these on v27 and later, you can use some workarounds to make them (more) compatible with Pale Moon, including using some of our present toolkit code that has elements of the SDK in it for internal use. The resulting extensions will be Pale Moon exclusive by definition, so if you do this (with the potential risks of a browser update removing components it may need) you must specifically target Pale Moon as a target application separately and get your extension listed on our add-ons site.