Platform Development • Re: Porting code from later Mozilla releases
Well, one of the reasons why the 52ESR codebase was used is precisely because later codebases are too entangled with Rust, and also removed too much XUL for it to be easy for us to use them. You see, before UXP, the way we used to keep Pale Moon moving forward was by moving to a newer Firefox base and porting all our code over, ripping out everything we didn't want and adding back stuff they removed we did want. In fact, it used to be the case that whenever we needed something big, we would just get it from Mozilla.
So your idea isn't really crazy... in fact it's what Pale Moon used to do before UXP. The reason why we're fighting so hard to keep UXP up to date rather than just rebase on newer Firefox is because there's so much of newer Firefox that makes wrong assumptions or goes in a direction we don't want. The foundation is half-Rust, e10s, and no XUL or NPAPI. Plus, they do the standard modern dev thing and use Clang for everything, while we prefer to use MSVC on Windows and GCC on Linux.
But yeah, it is worth noting that Pale Moon did not originally set out to be a hard fork of Mozilla... it's just that at some point our goals and their goals diverged to the point a hard fork was needed. Even with that being the case, we do backport quite a bit of code from Mozilla even today. It's just that we have to do it patch by patch while making sure it doesn't bring in assumptions that aren't true for our codebase, or doesn't negatively impact XUL, etc.
I genuinely do wonder to this day if 52ESR was the very latest fork point we could have picked, though. At this point I don't think rebasing nearly a decade of work on a newer Firefox would make much sense, but there's definitely stuff from 53-60 that I'm very sure we would have wanted and gladly taken if we could have gotten it easily.
Discussion in the ATmosphere