
It would be hard to overstate how many patches never got written and upstreamed because of this.Īs a Mozilla contributor, you had the choice of either throwing in and piling on to the bonfire of wanton breakage, or quietly opting to take no action when running into instances where you could improve and even stabilize the underlying "platform". As a Mozilla contributor, even if you wanted to bend over backwards and check which extensions you would be breaking with any given patch to mozilla-central (and maybe send fixes to the extension maintainers if you were really nice), there was no way to do it short of setting up a crawler yourself (to spider AMO) and either running an instance of some shiny code indexing tool yourself on localhost, or more likely just dumping all extensions' source off a subdirectory of $HOME and running a slow recursive grep every time you wanted to check on some symbol use. This was a big problem because if you recall, every time a new Firefox release dropped, it would cause massive breakage because APIs would be obsoleted and removed within the same release cycle.


Fun fact: The main way to peruse the source of the various Mozilla projects was to use MXR, and we tried to get Mozilla Corp to index the extensions that are published through, but they weren't willing to provide any support.
