Some questions about re-forking and JetPack extensions

General discussion and chat (archived)
ChelonianEgghead

Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-02, 05:43

So, I was kind of surprised recently to find that this browser really, really gets a lot of hate in the ghacks comments. Why do people have such an issue with the idea of "your browser, your way"? It's like they're a cult and you just blasphemed the all-perfect Mozilla/Google or something. Anyway, one user (probably a troll) claims that this project is becoming increasingly unfeasible, and that the fact that we have to re-fork periodically indicates that these older versions of Firefox are obsolete and trying to maintain them is just foolhardy. Now, I don't give this guy too much credence given how nasty these ghacks commenters are (and then they have the audacity to call us toxic) but I am kind of curious as to the truth about all this. So I guess my main question is, what impact does re-forking have regarding things like Goanna, XUL, add-on compatibility, and user experience? Also, he made the point that sticking with older FF is just prolonging the inevitable since we'll have to switch to a newer version once every few years anyway. I'm just curious as to how you guys would respond to that.

BTW, as an aside, just to be clear, will the dreaded "add-on incompatible because of JetPack" thingie ever be resurrected? I really hope not, because at this point compatibility with pre-quantum add-ons is one of Pale Moon's greatest strengths. This project is the last remaining stronghold for non-WebExtension add-ons, so I think we should try to preserve them since they are still historically significant, many are still very useful, not all can or will be maintained, and really, if we don't adopt them, who will?

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-02, 06:43

Pale Moon and Basilisk allow jetpack extensions. Though, the older cfx based ones may not work and they have to be converted to the jpm style due to mozilla changes we inherited.

For the future it is recommended that you bring them back to pure xul or at least bootstrap but see this regarding Firefox Extensions in Pale Moon: viewtopic.php?f=1&t=19727

EDIT:
For completeness sake, Binary Outcast Interlink Mail & News as well as the upcoming Borealis Navigator shall NOT support jetpack extensions.

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-02, 17:38

Also, I should address the whole reforking bit and sum it up quickly.

When we created Tycho (Pale Moon 27) from a hybrid of our own independent development being ported to a platform base of ESR38 plus the Pale Moon 24-26 application code completely bypassing and removing the "native" Firefox application code that came with the esr38 tree we expected that would be the last time we would do such a thing. We had a good foundation and retained 1:0.975 of Pale Moon as an application.

The reason we expected Tycho to be the last time was because by the next ESR Mozilla had planned to destroy enough of its self that the foundational technologies such as xul, xbl, xpcom, etc would be a shadow of their former selves if not changed to a degree that was simply unuseable to anyone outside of MozCo or simply gone.

Obviously, this wasn't the case when we or they thought it would be. ESR45 was largely okay but it wasn't enough to justify a jump in our eyes since so much more development on Tycho had happened since. Especially in the media subsystem. Why throw that away?

Well Mozilla has been known to take forever to do things and rabid release never changed that just increased the pace of immature code changed being shipped out to end users. Surely, the next ESR would be too damaged to use right? So Tycho continued.

Enter ESR52, well more destruction happened and more co-op of fundamental technologies happened but also some good css and js support of a significant nature was present. Still we didn't want to throw Tycho away so we continued on back porting and continuing forward with our own independent development.

Then Firefox Quantum happened along with the end to mozilla-style extensions (xul/toolkit/overlay, bootstrap, jetpack). Well now we have reached an issue.. Mozilla has finally begun the final destruction of their technology. All of it was fair game. On one hand we were glad they were finally doing it without any pretense anymore but on the other hand we were saddened by the tragic destruction without even the thinest of hopes left that they may change course and avert it.

Moonchild being Moonchild decided that the Quantum and general extension refugees deserved a browser that unlike Pale Moon would stay much closer to what they had then and there. An Australis Firefox drop in replacement. Many of this second major wave of Mozilla refugees were less likely to fit into the Pale Moon box and just wanted then current day Firefox. Of course, he would scrape off the surface garbage like pocket and other Mozilla Service tie-ins. This became Basilisk.

With Basilisk came a platform, of course. We knew we couldn't maintain two platform codebases in the long term so the Moebius project started with the intent to port Pale Moon to it as well just like we did with Tycho. However, in the meantime Basilisk and the moebius platform needed to reach a polish level beyond Mozilla before that could happen.

Moonchild proceeded from a code standpoint of gecko/53 as a base backporting from 54 and 55 heavily. This is why Basilisk carried a Mozilla version number of 55 during that time. After some months Basilisk was released but development continued.

With the dawn of 2018 came my resurgance in participation in the Pale Moon project. Besides, it was I who conducted the primary vNext research that lead to inital porting up the line that helped make Tycho possible.

Well it was time to pull the same trick twice but there was a problem.. Unknowingly Mozilla has landed a refactoring storm of changes directly after 52 that largely made the platform difficult to unuseable to anything but Firefox (there were workarounds for SeaMonkey and Thunderbird in dev but not been fully worked out yet).

This was game ending for Pale Moon that would either spell delays and potental busting of Pale Moon on some fundamental levels or just take too damned long to reverse in the platform. We were stuck.

Then I checked ESR52 and it was suitable so I drafted the Take 2 plan for the Unified XUL Platform. ESR52 based UXP had several pros and cons. The cons are obvious, lose all the work we did with Basilisk and Moebius as well as more backporting work. The pros however are abundent. If we ARE to use the platform AS a platform we should use the most historically complete version of it that also matches current day platform code of other projects that will reach deadends at Mozilla. Also, Pale Moon will work with standard porting stratagy developed during vNext no problem.

Take 2 was agreed on and that is where we are today with Pale Moon, Basilisk, and the other allied and non-aligned UXP based projects.

Make no mistake this is it. There can never be another vNext type of forking situation. There isn't enough of the Mozilla technology left in the now fully firefox codebase. It isn't even a platform codebase for many apllications anymore. Not even Firefox first. Just.. Firefox.

If you want more express detail then ask but this hasn't been as short as I would have expected but I don't think it could have been told with any fewer words than it was.

User avatar
Nigaikaze
Board Warrior
Board Warrior
Posts: 1322
Joined: 2014-02-02, 22:15
Location: Chicagoland

Re: Some questions about re-forking and JetPack extensions

Unread post by Nigaikaze » 2019-04-02, 19:55

New Tobin Paradigm wrote:If you want more express detail then ask but this hasn't been as short as I would have expected but I don't think it could have been told with any fewer words than it was.
This was an excellent explanation of what happened. Thank you very much for posting this.
Nichi nichi kore ko jitsu = Every day is a good day.

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-02, 20:41

Someone ask me about the origin of 25 and Tycho so it can be prepended to the above so we have a complete overview of Modern Pale Moon ;)

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2193
Joined: 2018-05-05, 13:29

Re: Some questions about re-forking and JetPack extensions

Unread post by vannilla » 2019-04-02, 22:12

New Tobin Paradigm wrote:Someone ask me about the origin of 25 and Tycho so it can be prepended to the above so we have a complete overview of Modern Pale Moon ;)
Sure.
Then, Mr. Tobin, please teach us about the origin of version 25 and Tycho! :thumbup:

ChelonianEgghead

Re: Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-02, 23:00

Thank you for the detailed reply! That has cleared up most of what I was wondering about, except for one little thing. So will support for web technologies be written from scratch, or would some of No-zilla's code still be salvageable?

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-02, 23:09

Depends what it is. Do know even IF we CAN backport anything from Mozilla it has to be completely rewritten to fit our platform so it basically equates to more independent development.

ChelonianEgghead

Re: Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-03, 03:31

I seem to remember Moonchild saying somewhere that all the constant changes to JavaScript should slow down in a couple of years, and I generally trust his judgement, but even so, is the Pale Moon team's small size an issue regarding new web technologies? For example, if they come out with a WebAssembly 2 allowing for sophisticated user-side AI's, then Pale Moon will have to implement it from scratch because the only other engines supporting it would be Servo and WebKit/Blink, which are incompatible. I'm not worried about security, since Moonchild et al are always pretty good about that, and nobody is going to target Goanna/Gecko users with malware sooner or later, but as much as I love Pale Moon, and as stupid as Web 2.0 tends to be, I'm slightly concerned about this project's longevity.

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-03, 03:34

And why do you think we have any intrest in "sophisticated client-side AI"? That sounds dangerous as hell. Blackbox artificial intelligence bytecode running in the browser.. I would call that a pandora's box of security risks. Not to mention privacy.

As for the longevity.. The Pale Moon project has been around for 10 years now and has evolved exponentially in the past five years. It isn't even just Pale Moon or even just Moonchild Productions anymore. There is a partly declaired allience now and none of us have any intention of stopping any time soon because there just wouldn't be anything left if we did.

It is abundently clear that for everyone else total destruction in the name of progress is the name of the game so now more than ever we have to work together to preserve our past and build our future based upon the foundation we inherited.

Put simply, it comes down to the fact that we are the agents of our own salvation. Not Mozilla and certainly not GoogleMicrosoftAppleOperaVivaldiBrave.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Some questions about re-forking and JetPack extensions

Unread post by Moonchild » 2019-04-03, 18:09

Tobin, may I borrow your explanatory post re: UXP and the recent history to update our (outdated) history page on the website with it (somewhat edited, of course)?
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-03, 20:17

Moonchild Productions has a worldwide non-exclusiv... Yes.

ChelonianEgghead

Re: Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-03, 20:55

I know, Web 2.0 sucks and I would hate to see user-side AI become commonplace, but if it becomes really popular then a lot of sites will break in Pale Moon. That was just an extreme example BTW. Still, what do you think are some likely major changes to the web that could happen within the next three years? Or is that too long?

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-03, 23:49

More DRM.. More Web- prefixed technologies that are evil and give more control to the techleft and attempts at one world internet ID to silence opinions by trial of the social credit system and you are un-personed digitally and physically in a single click for any reason.

ChelonianEgghead

Re: Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-04, 00:58

You know how the iPhone has everything poorly organized within its apps rather than easily accessible through a file manager? I'm pretty worried that the same thing is happening to the web, i.e. people accessing a limited portion of its power through dumbed-down apps rather than the browser. Modern "browsers" are really just web app platforms, browsing is a thing of the past for many people. Thing is, once Netflix drops support for Silverlight/Flash (unless they already have), people who use Netflix won't be able to do so on Pale Moon, and similar things will happen with other sites. As hard as we fight for the free and open internet, I worry that sooner or later we will pretty much have to use awful web app platforms to use the web of the future. I'll stick with Pale Moon and the true internet as long as they're around, but it really pains me that greedy and authoritarian developers are doing their darnedest to supplant it.

New Tobin Paradigm

Re: Some questions about re-forking and JetPack extensions

Unread post by New Tobin Paradigm » 2019-04-04, 01:02

Yeah, same dude.

ChelonianEgghead

Re: Some questions about re-forking and JetPack extensions

Unread post by ChelonianEgghead » 2019-04-04, 01:54

I really want to say thank you to all the people here who keep not only this project, but the true internet alive. In spite of increasingly insane standards or lack thereof, a certain organization that has forgotten its ideals (I wonder who xD), never-ending security issues, obnoxious trolls, and just modern computing in general, you guys have managed to preserve the original spirit of the world wide web alive even to this day, putting into practice Tim Berners-Lee's now-famous "This is for everyone."

Locked