It would seem to me that it wouldn't be hard to define an internal API (or
set of APIs for the different classes of features) to the free browser such
that public modules and private modules can work together easily. For
the ambitious, the private modules could be supplied as pre-compiled link
objects, so that people wishing to make changes to the public portions of
the code can do so easily (and stalling off the temptation from the
companies putting out the browser to change the way everything works).
The definition of these API's is certainly out of my league, though.
Also, as for "multiple, incompatible standards"... I'm not worried about
that, for it's pretty easy to divorce the protocols from the
client/server design, and any company that tried to introduce its own
proprietary standards without working within the developer community
will, well, have their work cut out for them.
Brian