I’ve always wondered, why does Android forks of Firefox are not (or cannot?) get rid of ALL the trackers? Even Tor browser!
The browser with the least trackers is Mull, but it still has 1 Mozilla telemetry tracker, which the devs claim is completely disabled. I can’t really read and inspect code, so I don’t actually know.
So why is it? Does Mozilla make the browser unusable if you try to remove the tracker from the code?
(The F-Droid branch at least) will “shim” the trackers, meaning rather than attempting to dive into the code of every single update and remove all the tracking hooks, it instead replaces the tracking code with blank functions that don’t do anything but exist just so there is something there when Firefox attempts to call into them so it doesn’t crash.
Naive scanners that simply read the list of classes that are in the program will see them and go “ooh there’s a tracker here”, but they can’t distinguish between actual tracking code and these “neutered” versions that don’t do anything.
So I think that this is a bad decision by Mozilla. Who’s idea was it to make a trackerless fork crash?
I can’t think of any good reason for them to make it impossible for a forked browser to function properly, if they try to remove all trackers.
Even if you can be sure that the code is junk and harmless, that’s unfortunate and just doesn’t look good IMO.
Mozilla isn’t doing anything malicious (or even intentional) here IMO. Firefox as a codebase is gigantic, and most forks are tiny and under-resourced in comparison, so they have to resort to tricks like this if they want to be able to keep up with updates in a timely manner.