As I said before in another thread [0] This is the way to go, what we need are modular open standards for both hardware and software.
Imagine a phone that you can just swap and mix components from different manufacturers. You could buy the components yourself and assemble, like a standard PC. If one manufacturer tries to lock you in, or you don't like their component you simply replace them with others from a different manufacturer.
While I very much want what you describe (and it's why I still hope Framework eventually gets into the phone game), the software is a far far bigger problem than the hardware (and this is from someone who is _extremely_ disappointed in current phone hardware). I'd take free and open software over hardware at this point. Obviously both is better, but the software has a far bigger impact on our lives than the hardware.