There's a much simpler way to do this...
Just make all providers 'not for profit' (within reason).
Also, don't make it free - just make it a fair price.
What that would mean in practice, is that shareholders don't call the shots, that rank profiteering can't happen and that the proceeds of success are shared by all employees of a company offering services.
The incentives to expand and rollout services would still be there - the C'team in a company and the upper management would still enjoy profits, but at a more reasonable rate. Profits would also be shared by all employees.
The market would still be a free market - competition still very much possible - there just would be no more fat cats reaping in billions by speculating.
You could argue it is these shareholders that are financing operations, if it weren't for the fact that they are raking in so much money.
No more bonuses in the millions to top execs - just a reasonable reward based on experience, responsibility and input.
Surely that is a far better way to operate than, I have to say, a crackpot scheme. I dislike Johnson massively, but he is correct on this one - it is a bonkers idea that is quite simply doomed.