I think before we talk about being only paid once for software (which isn't a finished product like a brick anyway) we need to figure that out.
I guess I would like to see someone make the Once model work to great success. I don't know how you would deal with updates and stuff, but that's what I meant. One "simple" solution is just charging the LTV (or something that's close to it) as the one-time price.
The benefit of doing it this way was that the user had a choice in upgrading which aligned incentives between users and developers. The developer had to deliver tangible improvements in order to keep payments from existing users coming. These days they change the color scheme every six months, remove features, change the UI for no dicernable reason and label the whole changelog "Various changes and bug fixes" when the product is clearly a mature product that should be in maintenance mode with no significant changes required.
Hell, you used to pay a dollar for Android games and you just had the game