explain the difficulty completely removing trackers from browsers
In this case our fellow @relan did the work to remove trackers from Fenix.
relan / fennecbuild · GitLab is used by Fennec F-Droid
and Mull
.
If you want to remove code from a fork and intend to keep your fork up to date you only have a few choices
- you can edit the functions to do nothing
- you can remove the functions, but then you have to remove all calls to said functions
Editing the functions to do nothing is way easier, since you don’t have to grep through the code every release for new calls to them.
In this case however, the code has an option to be disabled and do nothing and that is what Tor Project decided was the easiest way for them to disable the trackers.
For what it is worth, Tor Browser on Android is primarily maintained by a single person. Not some big team. It is somewhat understandable that they would go with such a least resistance
path.
You might say, “but relan is one person too, why can’t sysrqb just do the same?”. And the answer is probably because main feature of Fennec F-Droid
is being deblobbed and not much else. But the main feature of Tor Browser for Android
is the Tor routing which needs to be tested to ensure no proxy leaks, and having all the isolation features correctly functioning. So different allocation of resources/time.