a few years ago I have driven an effort to split the Firefox package in openSUSE so that Firefox is a pretty small addon based on the xulrunner packages. We already had a xulrunner package at that time to satisfy consumers/applications which want to embed Gecko and to be able to run XUL applications designed to run under xulrunner. Back then I stripped out almost all duplication from the Firefox package and based it on xulrunner.
That went fairly well up to Firefox 3.6 now but starting with Firefox 4 Mozilla did some heavy changes to Firefox' extension and chrome system which makes it very hard to do it as we did. Some things are just impossible and we would need to configure Firefox differently as upstream does to keep compatibility with the above app design. One difference you can notice right now with the Firefox 4 betas I ship is that localization doesn't work anymore which is one outcome of the changes. Another feature (omnijar; performance related) is currently disabled because it's not possible with our structure.
Because of all the above I'm thinking about taking back that split and ship Firefox as (almost) static build again. I don't want to drop the xulrunner packages as they still make sense though.
That also shouldn't be a problem of maintenance since we already had to keep xulrunner and firefox exactly in sync and built from the same sources. Basically the only thing which is affected is the size of the package but I _think_ going from 1MB to 10MB (something like that) will kill our installation media?
This is more or less just a heads up to give people the chance to raise their voice or concerns since it might be possible to keep it as it is with some constraints (and unfortunately some ongoing work to keep up with upstream).