On 2015-10-26 7:26 PM, Jonas Sicking wrote:
On Mon, Oct 26, 2015 at 1:29 PM, Justin Dolske <dol...@mozilla.com> wrote:

+1. Last time this thread came up, I thought the guidance was that core
contributors (and especially MoCo employees) should explicitly *not* be
spending time on TB/SM code. Even in the "I'll just be nice and go a bit out
of my way", because those costs are undervalued and add up.

Speaking for myself: even if I did ignore c-c, ignoring c-c doesn't
come with zero cost. Because if I change an API used by thunderbird
then a bug will be filed, and it will be marked as depending on the
bug in which I changed the API, and I'll see that in bugmail, and then
I'll read the bug, and feel bad that I inconvenienced someone -- but
I'll be strong, I'll ignore that bad feeling -- and then maybe they'll
need to needinfo me to ask about the change

Yup. This matches my experience exactly. This is a good example of the
above mentioned friction.

The example above talks about changing an API but there are more sophisticated issues in how these code bases interact. I will cite one tricky example that I ran into over the past year or so. I started to look into fixing some issues in our docencoder code that directly affects Firefox users. Admittedly the m-c code was completely broken in interesting ways when I looked at it, but after I landed my initial change I started to see a torrent of regressions in Thunderbird, and as I fixed more of the code I ended up breaking more and more in Thunderbird. I spent quite a bit of time debugging the c-c side of things and I ended up adding some Thunderbird specific hack <https://dxr.mozilla.org/mozilla-central/rev/28068d907290d1f5138a0b9e59ae2233a1c1b7a3/dom/base/nsDocumentEncoder.cpp#1431> that is basically me avoiding rewriting the Thunderbird code hooking into the Gecko guts, and in some other cases I ran into issues where I didn't understand what behaviors Thunderbird actually relies on, the result of which is many unfixed regressions that are still on my plate.

If the Thunderbird code was in the tree, I would have found the broken code in question by grepping and I think I would probably avoid modifying the code after seeing the Thunderbird usage of the code altogether. That would have meant I would have gotten quite a bit of my weekends back which is a good change for me, but it would also mean that none of the broken behavior in Firefox would have been fixed, which would be a bad change for Firefox users. (I have effectively decided to avoid this code like the plague because of the way Thunderbird uses it, but at least now some of the fixes are already in m-c...
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to