The "old" model is the best IMO. Sell the software once with like 1 year of updates, and then the user can keep their software at an old version or can pay some amount to get the new version / another year of updates. If you wanna make it look like a subscription ask for a fixed fee first and then a small amount every month but then you don't get to keep the software on unsubscribe (or if you really want to play nice allow to keep using "old" version after defined subscription time like a year or smth)