As I understand it, the main barrier to fully free phone software is the SoC makers. - They are in a close-to-monopoly position - They sell chips to phone manufacturers - They give the SDK (software development kits) to support those chips. - Some parts are source code and some parts are binary. They are released under NDA (non-disclosure agreements) - They only supply updated SDKs for a certain amount of time. That's what limits the lifetime of phones and limits the support that can be offered by phone makers. The central problem is monopoly power. Even Google and Apple have trouble standing up to Qualcomm. But if they prevailed, we'd still be in the shadow of monopolies. The Chinese Government is the only one that I know of that is taking on Qualcomm.