I don't know the background of decision to keep separate common and framework code bases. However it doesn't make a sence to me :( For me both framework and common are both common.
common is 'common'. framework is an implementation of the SPI. You can live without the later by providing your own, but you cannot live without common.
Let's put it another way: It's depency issue. Currently stacks do have a dependency on SPI and Common, but not on framework. And that's the way it needs to be. If we throw common and framework together, stacks (container as well) start having a dependency on the framework.jar which would leak SPI implementation details to the dependee.