2) In the real world open source software is about scratching your own itch, and has absolutely nothing to do with "what's best for users". Developers are highly invested in their own code, and are loath to rip it out and replace it with someone else's. It's extraordinarily rare for OSS projects to merge at all even when they are forks (and I can't think of a single example of non-forked projects merging).
Both Safari and Chrome use WebKit as a rendering engine..
2) In the real world open source software is about scratching your own itch, and has absolutely nothing to do with "what's best for users".
In this world, WebKit is open sourced by Apple and isn't some random user's side project that gets one patch a month. This means that decisions aren't made lightly, without second thought. Including the decision that was made to merge back with KHTML and Google's (slow) progress to move back to using WebKit trunk instead of their own fork.
So Firefox and safari are publicly contributed to, but they have different engines. Engines are probably the most difficult part of the browser right? It's essentially the definition of the browser. Well let's say the V8 engine is superior and Firefox and safari don't adopt it. Well they're operating not much too different from a proprietary source. Open source and commercial will both be invested in their products, the difference is that open source can pull from each other, and they should. So if V8 requires major code changes why not? And if Mozilla thinks it can improve it then they can fork it. But Mozilla probably won't do that. You're right most people are invested in their projects and so what happens in the open source world is that brand new projects get started instead, but I'm just saying it also makes sense to ditch when you known you've been beaten just because you can.