Page 1 of 1

About using Firefox extensions on Pale Moon

Posted: 2020-01-28, 13:06
by Moonchild
This topic comes up regularly and there seems to be some confusion about what our approach is to this.

Can I run Firefox extensions in Pale Moon?

Yes, you can, for now. Since version 25 we've had the option to install (now called "legacy") XUL, bootstrapped and Jetpack type Firefox extensions on Pale Moon, despite Pale Moon being (and being identified as) a different browser. Please understand though that there is no guarantee that these extensions will work, and using extensions targeted at a different application is entirely at your own risk and you are pretty much on your own regarding support. See also the next question.
This installation compatibility with Firefox extensions is a measure born of necessity; it's basically a hack to allow by exception what would normally be blocked as "incompatible" because it would not be targeting the correct application. It was needed at the time because we needed to remain compatible if we wanted to grow and be relevant to our users, and extension developers were simply not willing to consider us as a target application when sharing the technology with Mozilla's Firefox (a situation which has since changed, since Mozilla abandoned all these extensions as a whole).

Who is responsible for extension compatibility?

Extensions extend an application. It is the extensions that need to be compatible with what they extend, not the other way around.
As such, the only persons responsible for extension compatibility are the extension developers or maintainers.

What will the future of these extensions on Pale Moon be?

This is the big question here, of course.
We have been tip-toeing around extensions for years trying our best to keep good compatibility.
We also see no reason to arbitrarily break the extensions that are no longer maintained.
However, these only still work by the grace of ancestral compatibility of our browser with Firefox. This will not remain so -- Pale Moon changes and develops and this will require changes at some times that will impact extension compatibility.

This means we can do one of two things:
  1. Realize that extensions need to be adapted (or ported) to match the feature set of their target applications, and communicate that to people, OR
  2. We can just do what Mozilla did and eliminate that as a road block entirely (and killing extension technology)
(it may be clear which option we are choosing ;-) )

What everyone here must understand is that what Mozilla used to be (the "Old Mozilla") and all the wonderful things created that they're still using today was not just a collection of employees doing the work; no matter if it's a dozen or twelve thousand employees. No, almost all extensions were community-created, by people who wanted things and created them using the tools available to them.
What the community here doesn't seem to understand is that you can't have this expectation of us never breaking extension compatibility, because fixing extensions to adapt to changes in the application has always been a thing. That didn't suddenly change by switching to Pale Moon. You all have to step up if you want extensions to remain viable in the future. They need to be fixed and maintained, and it needs to be the community that does this. The collective you created this wonderful ecosystem -- now it is up to the collective you to keep it sustainable. You can't just expect to keep getting what you had without any sort of effort from anyone. Like any ecosystem, it needs to be treated well and cared for, and that is a community effort.

To make this easier, we tend to document every change that would potentially break extensions. At the very least we'll mention specifics in either the change commits to the code themselves or in the release notes so people can be aware of changes that could impact them.

It was temporary and it will be treated as such

One final point is that this Firefox extension compatibility with unaltered extensions will go away. This compatibility has always been a temporary measure and we've always said that since its introduction to the browser in 2014. Our development sees more and more breakage with old Firefox extensions that are, for all intents and purposes "frozen in time" since the abandonment of "legacy" extensions by Mozilla, due to the inevitable occurrence of change in the browser. As stated before, fixing extensions has always been a thing and this is what needs to happen now; if people are using these extensions, they need to take the responsibility to care for their little part of the ecosystem they actually make use of, and step up to fix it up, and target Pale Moon directly.
Over time, we will stop allowing unaltered Firefox extensions that don't target Pale Moon directly. Expect the first step in that direction to happen with Pale Moon 29.0 28.11.0 - don't panic: it will still be possible to run them for a while yet, but take this as a clear warning that people need to get involved and start caring for the extensions you are all using.

Re: About using Firefox extensions on Pale Moon

Posted: 2020-03-01, 13:54
by franstam
Hi, sorry for sounding like a noob, but i wish to help contribute on how to step up to fix and maintain out of date extensions.
How do i start? I have very little programming experience so go easy on me, thanks!

Re: About using Firefox extensions on Pale Moon

Posted: 2020-03-01, 15:27
by Moonchild
franstam wrote:
2020-03-01, 13:54
How do i start? I have very little programming experience so go easy on me, thanks!
You start by reading the various other topics posted here, and by examining the extensions you are planning on maintaining to understand what they do, how they do it, and go from there by adjusting the target of the extensions to Pale Moon, changing any branding if needed (i.e. if you actually fork something and don't take over directly from the previous developer with their permission) and submitting it to the add-ons site via the Phoebus panel.
Of course if you need help I'm sure people can assist as long as you ask direct and clear questions about the problem you've run into.

Re: About using Firefox extensions on Pale Moon

Posted: 2020-06-11, 10:57
by Moonchild
mcvos wrote:
2020-06-11, 09:25
So only some modified addons really work with pale moon?
There are 4 types of extensions out there. Three types, all collectively called "legacy" by Mozilla and subsequently removed from their add-ons site, can be installed in Pale Moon.
The 4th type, Chrome/Web extensions, can't be installed in Pale Moon or any other UXP browser.

Of the extensions that can be installed, only a subset is still compatible fully with Pale Moon (see my original post as to why); the only extensions guaranteed to be compatible are Pale Moon targeting extensions found on our own add-ons site.
Extensions in CAA can currently still be installed but, once again, see the original post, this is only by the grace of ancestral compatibility and because we, for now, still allow increasingly incompatible extensions to be installed -- this will change in the future.

Re: About using Firefox extensions on Pale Moon

Posted: 2020-07-16, 12:10
by Moonchild
Discussion can be had in the discussion thread. viewtopic.php?f=46&t=24787