I would love for that to work, but connectors take up space, and interop issues take up a lot of dev time. Just look at the enormous effort that goes into Lineage ports for hundreds of random devices— and those devices are all static, fixed configurations. How much worse would this be for thousands of permutations of off the shelf components?
As far as the physical side, how upgradeable is a typical laptop relative to a desktop? Some laptops let you upgrade the RAM, maybe the disk. But none offer processor, camera, speaker, keyboard, trackpad, internal wifi/bluetooth, or screen upgrades. PCMCIA is dead. There are hardly any removable batteries any more— and those that are do not have a standard interface or form factor.
So take all of those issues and shrink everything down by a further order of magnitude. It's not hard to see that making a phone with upgradeable internal components is a very tall order.
The lineage case is problematic because the devices are often different requiring different drivers. If the individual devices that make up your phone had to compete in an open market instead of getting bundled I'm a complete system, there would be more consolidation based on economies of scale, and thus fewer drivers to worry about. How many GPU brands for your PC do you have these days?
As far as the physical side, how upgradeable is a typical laptop relative to a desktop? Some laptops let you upgrade the RAM, maybe the disk. But none offer processor, camera, speaker, keyboard, trackpad, internal wifi/bluetooth, or screen upgrades. PCMCIA is dead. There are hardly any removable batteries any more— and those that are do not have a standard interface or form factor.
So take all of those issues and shrink everything down by a further order of magnitude. It's not hard to see that making a phone with upgradeable internal components is a very tall order.