I think the best way is you buy a software, and that version is supported "forever".
The developer then creates version n+1. The old version is kept supported, but new features go only into the new version, which you can optionally buy again.
The developer then creates version n+1. The old version is kept supported, but new features go only into the new version, which you can optionally buy again.
I wouldn't charge customers _less_ for that just because it's now a one-time payment.
You can pay to unlock advanced features and keep them and any new features added in a year, after that any new features are paywalled for another unlock, and another +12 months, perpetually.