Why did Palemoon do this?

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
PhiloVance

Why did Palemoon do this?

Unread post by PhiloVance » 2014-10-13, 04:03

I would like to understand what was the reason for making this apparently drastic change in PM 25. You had a stable, useful alternative to Mozilla that had few of Firefox's shortcomings and most of its strengths. I never had compatibility issues with it in the months that I've been using it. I was glad to have it and thumbed my nose at Mozilla every time I started it up.

But now it seems like you've taken a page from FF's playbook and made changes for the sake of changing, changes that have obsoleted many of the plugins and extensions and websites that people depend on and use every day. And the worst part is that to get that functionality back will require additional modifications from sources not under Palemoon's control. These organizations and individuals are to alter their code to support a browser that they may or may not have heard of, because this is The Internet and we demand freedom of choice to use whatever browser we want. Yeah, that'll happen.

What was Palemoon's ticking time bomb, or fatal flaw, or Achilles' heel that required this frustration-generating modification to be made?

New Tobin Paradigm

Re: Why did Palemoon do this?

Unread post by New Tobin Paradigm » 2014-10-13, 05:15

Plugin (external components like Adobe Flash Player) are unaffected as the Netscape Plugin API is the same as it is in Firefox and MANY MANY other browsers and programs in general.

As for Extensions see: viewtopic.php?f=24&t=5932

PhiloVance

Re: Why did Palemoon do this?

Unread post by PhiloVance » 2014-10-13, 05:34

That's very informative. Thanks.

But then why do these extensions continue to work in PM24? If I regard PM as a black box, and if the same extension works in BlackBox24 but not in BlackBox25, then clearly there must be something about 25 that is breaking them.

Would that be the GUID? PM stopped using FF's and started using its own? Then why did PM do that? Was Mozilla threatening legal action for "spoofing" their browser? Something like that?

New Tobin Paradigm

Re: Why did Palemoon do this?

Unread post by New Tobin Paradigm » 2014-10-13, 05:44

The GUID is the reason. And no Mozilla has not tried anything drastic like that.

Why did we do that? It is in the FAQ entry.

User avatar
Kand_in_Sky
Fanatic
Fanatic
Posts: 130
Joined: 2013-01-02, 18:22
Location: DE

Re: Why did Palemoon do this?

Unread post by Kand_in_Sky » 2014-10-13, 07:17

i have the feeling of deja vu i had with ORCA and then with AVANT, years ago... well, your choice.
anyway it would be nice to know which entry in the FAQ you mean? viewforum.php?f=24 http://www.palemoon.org/faq.shtml
PaleMoon & Basilisk
- on 2014 i5-4210M Notebook 8GB Win7 64Bit
- on 2014 Athlon 5350 16GB PC Win7 64Bit
- on 2018 Athlon200GE 32GB PC Win10 64Bit

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

Re: Why did Palemoon do this?

Unread post by Moonchild » 2014-10-13, 07:38

This FAQ entry: http://forum.palemoon.org/viewtopic.php?f=24&t=5932

It is most certainly not a change for the sake of change. it is a change to allow Pale Moon to, from here on out, after this one-time split, to function as a fully independent fork instead of one that is still inherently tied in with whatever changes are made to Firefox (since it will internally, for ALL extensions, still be "Firefox" in that case, which simply does not work in the long run)
"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

Manabi

Re: Why did Palemoon do this?

Unread post by Manabi » 2014-10-13, 07:54

Moonchild wrote:This FAQ entry: http://forum.palemoon.org/viewtopic.php?f=24&t=5932

It is most certainly not a change for the sake of change. it is a change to allow Pale Moon to, from here on out, after this one-time split, to function as a fully independent fork instead of one that is still inherently tied in with whatever changes are made to Firefox (since it will internally, for ALL extensions, still be "Firefox" in that case, which simply does not work in the long run)
I understand the reasons for it, but what will you do if the majority of extension developers refuse to support Pale Moon's GUID? Pale Moon won't be terribly useful if most of the extensions don't work with it. The fact they were alerted ahead of time and didn't bother to add support is not a good sign.

Right now I'm going to stick with 24.7.2 until we see what happens. I have too many extensions I rely on to do otherwise. :cry:

vitaliy_17

Re: Why did Palemoon do this?

Unread post by vitaliy_17 » 2014-10-13, 08:08

Kand_in_Sky wrote:i have the feeling of deja vu i had with ORCA and then with AVANT, years ago... well, your choice.
Sic transit gloria mundi.
Chrome dev-s rub one's hands. :lol:

New Tobin Paradigm

Re: Why did Palemoon do this?

Unread post by New Tobin Paradigm » 2014-10-13, 08:51

Manabi wrote:
Moonchild wrote:This FAQ entry: http://forum.palemoon.org/viewtopic.php?f=24&t=5932

It is most certainly not a change for the sake of change. it is a change to allow Pale Moon to, from here on out, after this one-time split, to function as a fully independent fork instead of one that is still inherently tied in with whatever changes are made to Firefox (since it will internally, for ALL extensions, still be "Firefox" in that case, which simply does not work in the long run)
I understand the reasons for it, but what will you do if the majority of extension developers refuse to support Pale Moon's GUID? Pale Moon won't be terribly useful if most of the extensions don't work with it. The fact they were alerted ahead of time and didn't bother to add support is not a good sign.

Right now I'm going to stick with 24.7.2 until we see what happens. I have too many extensions I rely on to do otherwise. :cry:
We will make psuedo-static versions or fork them. Also did you report the ones that aren't working?

Manabi

Re: Why did Palemoon do this?

Unread post by Manabi » 2014-10-13, 10:55

Matt A Tobin wrote:We will make psuedo-static versions or fork them. Also did you report the ones that aren't working?
Only one I know for certain is AdBlock Plus, because I discovered the problem installing Pale Moon on a new PC. I'll try adding all my plugins to that one before putting it on 24.7.2 to check them, but might be a few days before I can get to it. AdBlock failed so spectacularly that it made me look into the issue. Kinda glad I didn't upgrade on my main browser first. :D

Where should I report ones that break?

New Tobin Paradigm

Re: Why did Palemoon do this?

Unread post by New Tobin Paradigm » 2014-10-13, 11:09

ABP has a pseudo-static version on addons.palemoon.org for you.. also the known incompatible page has a list and link back to the forum..

PhiloVance

Re: Why did Palemoon do this?

Unread post by PhiloVance » 2014-10-13, 16:07

Moonchild wrote:This FAQ entry: http://forum.palemoon.org/viewtopic.php?f=24&t=5932

It is most certainly not a change for the sake of change. it is a change to allow Pale Moon to, from here on out, after this one-time split, to function as a fully independent fork instead of one that is still inherently tied in with whatever changes are made to Firefox (since it will internally, for ALL extensions, still be "Firefox" in that case, which simply does not work in the long run)
So, if I understand correctly, you changed Palemoon from being a near-100% compatible, no-nonsense, perfect "snap-in" replacement for Firefox to "Just Another Browser"? There was a definite niche for the former. For the latter, I'm not so sure.

Supernova

Re: Why did Palemoon do this?

Unread post by Supernova » 2014-10-13, 16:19

The issue being that not changing in long terme would have killed the browser with a perfect certainty, as Mozilla would have kept to progress on its track of dumbing down and to lock things so that though theorically open source, outside of MozCo it would be very hard to do anything.

User avatar
Trippynet
Fanatic
Fanatic
Posts: 238
Joined: 2014-06-03, 20:21
Location: UK

Re: Why did Palemoon do this?

Unread post by Trippynet » 2014-10-13, 16:58

PhiloVance wrote:So, if I understand correctly, you changed Palemoon from being a near-100% compatible, no-nonsense, perfect "snap-in" replacement for Firefox to "Just Another Browser"? There was a definite niche for the former. For the latter, I'm not so sure.
Sticking with full Firefox compatibility would have meant following Firefox design changes, such as implementing Australis (along with other such monstrosities). PM is an increasingly divergent fork because it does not follow some of Mozilla's more questionable design ideas. Hence as the code bases become more divergent, it was not feasible to try and pretend that Pale Moon was just Firefox to all the add-ons. It's unfortunate, but there isn't a perfect solution here.

New Tobin Paradigm

Re: Why did Palemoon do this?

Unread post by New Tobin Paradigm » 2014-10-13, 17:21

Trippynet wrote:
PhiloVance wrote:So, if I understand correctly, you changed Palemoon from being a near-100% compatible, no-nonsense, perfect "snap-in" replacement for Firefox to "Just Another Browser"? There was a definite niche for the former. For the latter, I'm not so sure.
Sticking with full Firefox compatibility would have meant following Firefox design changes, such as implementing Australis (along with other such monstrosities). PM is an increasingly divergent fork because it does not follow some of Mozilla's more questionable design ideas. Hence as the code bases become more divergent, it was not feasible to try and pretend that Pale Moon was just Firefox to all the add-ons. It's unfortunate, but there isn't a perfect solution here.
But it is a situation that is being resolved. That is the point people seem to be missing.

lemon juice

Re: Why did Palemoon do this?

Unread post by lemon juice » 2014-10-13, 17:31

I am a developer of a SeaMonkey and Firefox extension and it has always worked fine in Pale Moon 24. For Pale Moon 25 I have to change the code that checks for Firefox GUID because Pale Moon now identifies itself with its own GUID. My extension is not based on sdk but requires application check for some functions. The change on my part was trivial but I not every developer will bother if it happens to be necessary.

My question is this: why didn't you make PM 25 pretend to be Firefox for extensions not targeted for PM specifically? This would certainly increase compatibility with current Firefox extensions. PM could identify itself as Firefox to extensions only written for Firefox and it could identify itself as Pale Moon to extensions written for Pale Moon (having Pale Moon GUID in install.rdf). Seems like the best of the both worlds and I wonder why you didn't make it so?

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

Re: Why did Palemoon do this?

Unread post by Moonchild » 2014-10-13, 18:27

lemon juice wrote:My question is this: why didn't you make PM 25 pretend to be Firefox for extensions not targeted for PM specifically? This would certainly increase compatibility with current Firefox extensions. PM could identify itself as Firefox to extensions only written for Firefox and it could identify itself as Pale Moon to extensions written for Pale Moon (having Pale Moon GUID in install.rdf). Seems like the best of the both worlds and I wonder why you didn't make it so?
I've looked into this but it is simply not possible. extensions have custom javascript code that runs with chrome privileges. Short of rewriting javascript on-the-fly (which is also not going to be a viable option) there is no way to control these scripts or what they do. Each extension can and will have checks in their own unique way, and needs individual attention for checks and additions for Pale Moon.

If it were possible, it would have been done already. But sticking to the extension specs, sticking to individual extension use licenses, and not trying to create an elaborate, error-prone code-rewrite routine make it simply undoable.
Most changes would be trivial for the people who wrote the code in the first place. It's sad to see that people who created these extensions don't want to support Pale Moon as an individual target application. We are practically doing the extension devs' work right now to restore compatibility, which of course is going to be limited, and not going to be possible for all extensions since we simply don't have in-depth knowledge of the code and quirks of each individual extension.

The GUID is deeply embedded in many parts of the browser, and you cannot separate extension code from native browser code in a way that would be needed to present "a different GUID to individual scripts", because chrome privileges are basically running native browser code (which is actually what makes extensions so powerful). In addition, Pale Moon should not have to pretend it's Firefox, because it's not.

The number of extensions affected by this is also determined and limited by those extensions having specific, hard-coded checks in them or not. It can be compared to a website checking a useragent instead of using @supports to check capabilities. Most (especially xul) extensions have no issue with Pale Moon's new GUID (unfortunately some of the most popular ones do) and "pretending to be Firefox" would also not be needed for those.
"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

lemon juice

Re: Why did Palemoon do this?

Unread post by lemon juice » 2014-10-13, 22:00

Moonchild wrote:The GUID is deeply embedded in many parts of the browser, and you cannot separate extension code from native browser code in a way that would be needed to present "a different GUID to individual scripts", because chrome privileges are basically running native browser code (which is actually what makes extensions so powerful).
Indeed, extensions run with chrome privileges so they have access to all native code, I didn't realize it would be hard to work around this. There would need to be some kind of emulation or sandbox layer for running those Firefox-only extensions with Firefox GUIDs and this would be too huge a task and probably with performance issues.
Moonchild wrote:In addition, Pale Moon should not have to pretend it's Firefox, because it's not.
Yeah, this of course depends on what vision you have for Pale Moon. Personally, I'd prefer a browser with Firefox engine, Firefox compatibility but improved UI and so compatibility with Firefox extensions would be much more important to me than having a different Pale Moon even if it were natively superior. You are probably aiming at more independence. I don't want to judge it because I know that from developer's perspective things may look differently.
Moonchild wrote:It's sad to see that people who created these extensions don't want to support Pale Moon as an individual target application.
Well, most people don't want to do more work than they have to and so aren't keen on supporting niche browsers like Pale Moon. I am mostly a SeaMonkey user so I know that niche browsers always suffer from people's ignorance and unwillingness to provide compatibility, even if it requires minimum of work. Sometimes it's not bad will but simply lack of time. I have to spend more time if I want my extension to work both on Firefox and SeaMonkey - and if it had serious problems in Pale Moon I know I wouldn't devote much time for making it compatible, it is only because Pale Moon is compatible out of the box - or requires very minimal adjustments in the code - I can provide the compatibility. That's why I believe it's very important for niche browsers to make this process as easy as possible for addon developers - a separate GUID certainly doesn't help with that - at least at this moment - but let's see how this plays out in the long term. I wish the project becomes successful and Pale Moon will be treated more seriously by developers. It's good to have variety.

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

Re: Why did Palemoon do this?

Unread post by Moonchild » 2014-10-13, 22:39

lemon juice wrote:You are probably aiming at more independence. I don't want to judge it because I know that from developer's perspective things may look differently.
The independence is, and I have to say unfortunately, required because of the path that the Mozilla Corporation has chosen to follow.
It simply isn't right or desirable to have Pale Moon continue to carry the same unique identifier as the Firefox product which it is going to be less and less equal to each release, of a corporation that we are not affiliated with. In fact, doing so causes issues of its own because it prevents some parts of the browser from being developed or used independently, and makes it complicated to have others create and support things specifically for Pale Moon as its own thing. Although it is of course great to be able to call a browser completely independent and "my own", I would have had no qualms to stay much closer to Firefox if it was desirable, but it is simply starting to be a completely different world, with Australis, a vastly less stable code base, Firefox OS/phones, and the tighter ties of Firefox with Google, to name a few things.
"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

mikeysc

Re: Why did Palemoon do this?

Unread post by mikeysc » 2014-10-13, 22:53

lemon juice, it is not usually hard to get the extensions working with the new GUID, and with your knowledge and experience it would be trivial on most (some are tough for the same reason in SM). There are a lot of similarities to making FF extensions work in both PM and SM. I already had all the ones I wanted working in PM before release (except for one that has same issue in PM and SM) even without the benefits of a PM equivalent of your handy converter for SM. I hope you choose to help out here as well.