Looking at a lot of this stuff, "lifetime" is a bit misleading. It's for the life of the version. Buy v1.x and you can use v1.x forever, but if you want v2.x, pay again.
Of course, "forever" is only until everything around it leaves to the software not working, such as not supporting a new version of the OS it runs on.
> Buy v1.x and you can use v1.x forever, but if you want v2.x, pay again.
Yeah, but that has a few logistical and incentive challenges. Someone buying right before an update etc. And you may not want to create conflicts between semantic versioning and business decisions.
Another approach could be to have features labeled with
date, and gated behind flags. Then deliver updates to everyone but features are enabled based on your purchase date, eg within a year.
Of course, "forever" is only until everything around it leaves to the software not working, such as not supporting a new version of the OS it runs on.