If you've used two or more open sourced frameworks then I'm sure you've come across the following problem.
Project 1
FrameWork 1 - v2.0
FrameWork 2 - v1.0
FrameWork 1 - v1.0
Project 1 has references to Framework 1 & 2, whilst Framework 2 contains a reference to Framework 1. Unfortunately there is a breaking change in v2.0 of Framework 1 and whilst Project 1 needs v2.0, Framework 2 will only work with v1.0. As the assemblies and namespaces are the same, they can't live happily alongside each other (unless you require that they go into the GAC).
However, if at the time the open sourced frameworks were built they had the version number included into the namespace and assembly name it would negate all of this. Any number of the same framework could live happyily alongside each other in the same bin folder / appDomain. Of course there is the question of how to get this incorporated into open sourced frameworks as it is a manual step, but it would solve the problem for everyone that consumes it. Wouldn't it?