Hello everyone!
We have been working the last few months on getting mobile Tor Browser
hooked into the rapid release train, away from the ESR series. It's been
exciting all around. We are close to releasing a first stable mobile
release and are getting used to the process of frequently updating
toolchains, different patch sets, and auditing new code. It's time for
looking forward and thinking about desktop Tor Browser.
Getting desktop To Browser onto the rapid release train at the same time
while maintaining the mobile part + having additional sponsor work on
our plate is very likely too much for our 2 1/2 current browser devs.
So, we originally thought about postponing that until we have more
capacity. But maybe we can be smarter.
It's not desktop vs. mobile but more that we have 4 different platforms
we support and the first one, Android, made it onto the rapid release
train. What if we moved the others platform by platform to test how hard
it is and just move forward if we are confident we can handle the workload?
I'd propose we start with Linux on the non-ESR train next and soon. That
means switching Linux nightlies, or if we are confident, even Linux
alphas, too, off ESR.
Now, how well works this with
1) Toolchain updates:
I think there are no large issues to expect as we need to update
compilers etc. anyway for mobile. With tor-browser-build#40125 fixed we
are back to a somewhat reasonable project structure and making the
necessary changes for Linux should just be some additional lines in a
small part of config files and build scripts. This should be manageable.
2) tor-browser patch rebasing:
I think, too, here are no issues to expect. We already need to rebase
all the patches for mobile and are not skipping the desktop-only ones.
3) desktop-specific code parts
That's the item with the biggest uncertainty to me given that we
basically ignore the desktop-only parts to a large extent (apart from
making sure things are compiling) when preparing for mobile.
There are two parts to it: a) torbutton/tor-launcher and b) the updater.
We already fixed Torbutton code in the past for changes introduced after
ESR 78. Extrapolating from that experience I am not too worried about
either Torbutton or Tor Launcher. The updater is an unknown here but
looking over the changes we need(ed) to make for tor-browser rebasing
they seem farily small and uncontroversial, so I am not too pessimistic
here either.
4) Test suite (tor-browser-bundle-testsuite)
We have updating the test suite for new mozillaXX milestones already on
our ToDo list when preparing new mobile releases (see:
tor-browser-bundle-testsuite#40008 and #40009 for examples). And now the
important part: we need to build Linux builds for that task anyway. So,
we would actually benefit here from officially moving Linux off the ESR
train without any additional costs test-suite-wise.
5) Proxy bypass/feature/closed bugs audit
We do all those audits already for mobile. No additional work for any of
the desktop platforms is needed (apart from having the respective
platforms in my, too, when going over, say, all the closed Mozilla bugs).
Now, if we start soon-ish (e.g. with mozilla84 landing on beta) we even
have enough time to get accustomed to and test the whole process so that
we can think about releasing 10.5 with Linux off the ESR train and/or b)
adding macOS and Windows (in that order) to the rapid release wagon as
well in the not too distant future.
If we still feel uncomfortable with having Linux or any of the other
desktop platforms off ESR for 10.5 then it should not be too hard to
leave those platforms on the alpha/nightly series on rapid release and
go for them with ESR for 10.5. So, the risk for not stabilizing 10.5
and not shipping a good 10.5 because of the above proposal should be low.
Georg