What happened to hiring an architect?

Ben Bucksch ben.bucksch at beonex.com
Fri Dec 9 20:25:37 UTC 2016


R Kent James wrote on 29.09.2016 19:13:
>
> I made an argument to Mozilla, that I believe was largely accepted, 
> that said that consulting on a future platform for Thunderbird is not 
> really what we need.
>

I'm sorry to object here, but that statement couldn't be more off.

Sorry, for being so harsh, but I think this needs to be put very 
clearly. I say this with 17+ years of Thunderbird development 
experience, and having built several commercial XUL-based applications 
in the meantime, some of them widely used. I care deeply about 
Thunderbird, and I want it to live on in the future. This is why I 
cannot be silent on this point.

Thunderbird is facing the fact that in just 3 Firefox releases, XUL 
extensions are deprecated, and in 7 releases, in less than 1 year, XUL 
extensions will be killed entirely for Firefox. If Mozilla does that, 
then for a reason: They want to change the underlying platform, away 
from XUL and XPCOM. And they will, that's the declared plan.
https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/

So, in 1 year, Gecko 57 is no longer a viable basis for Thunderbird. 
Thunderbird's foundation will fall underneath it. This is a given.

The problem is: There's no way to decouple Thunderbird from XUL or from 
XPCOM, so that's the end of Thunderbird as we know it. The whole 
codebase intrinsically relies on these 2 technologies. We also know that 
you have no chance to maintain backports of critical security fixes to 
an older Gecko, because it needs very specialized knowledge in Mozilla 
internals and in security, and many with more money and with more 
expertise have tried and failed. Nobody managed to do that, ever. You 
can't maintain your own Gecko, with security backports, forever. So, 
forking isn't an option, either. With luck and help from Mozilla in form 
of ESR and similar, it might buy you a year, but no more. So, we'll be 
seeing the cliff in 1 year from now, with an additional little life 
support option for another year or so. That gives TB only 2 years from 
now, 3 max.

So, our only long-term option is to rewrite. And this *is* the job for 
an architect. That is the job definition. And it's crucially necessary. 
This codebase is over 20 years old. It was created in the early days of 
the Internet and Web, the oldest parts are from 1995 or so, and then the 
majority from 1998-2000, the XUL rewrite. Back in 1998, during the XUL 
rewrite, it had an architect, done in part by Alec Flett. Today, with 
XUL going away, it needs to be re-architectured again, with current 
state of art and situation of the world. A lot has changed since then: 
The web platform has matured. Mobile appeared and is taking over the 
world. People are using WhatsApp and Instagram instead of email to stay 
connected. I'm not saying we should build an IM client, or a webmail 
client, but we need a fresh start with all that change in mind. We're 
facing a world who doesn't know what an desktop email client *is*. We 
have a few *billion* users out there who are left out there with nothing 
better than GMail and WhatsApp. We need something better.

Have you ever seen a house that had a room attached here 30 years later, 
and a garage attached there, and a winter garden over there? It works, 
to some degree, but it's neither beautiful, nor very functional for its 
inhabitants. You have to go long, windy hallways to do what you need to 
do. Sounds familiar? Thunderbird has the same problem. It makes me do 
work that I shouldn't need to do.

We do need somebody to take the big picture, makes a coherent 
architecture, and at least puts that up for discussion. That person 
needs to know their job, and should have done that before, with success, 
preferably in that magnitude. Architecture is not something you can do 
piece-meal. It needs both the big picture vision, to make a beautiful, 
coherent whole, and the attention to detail to know what's realistic. 
Only then will it work well and stand the test of time and be liked.

You absolutely need an architect to face the future. And you need it 
now. The transition project needs to happen now, because it takes 2-3 
years to finish. Such a big project needs to start with a plan. That is 
the job of an architect, to help you build that plan. Please don't 
refuse offers of experienced, competent architects that Mozilla offers you.

Ben


More information about the tb-planning mailing list