However, would switching to a subscription model mean that there was no longer a separate upgrade cost, just a yearly subscription or a full license, and would that full license include a period of free upgrades in the price or would one have to pay the full yearly sub in order to get any updates?? Perhaps more importantly, how would bug fixes be handled for those not on the sub??
Good questions, albeit ones I haven't explored in depth yet because -- well, honestly, I didn't think that anyone would go for option #3 (the subscription model)! I was debating between #1 and #2, and tossed #3 in there to pad the poll a bit. :)
I've got a number of apps I use that use the subscription model. Most include a free update & support subscription period after a new sale, though it varies anywhere from 1 month to 1 year. After that expires, generally all updates (including bug fixes) require a subscription (which also varies between monthly and yearly). That's admittedly not ideal from a customer perspective, but trying to handle multiple forks of the code base to handle the myriad possible situations would be impossible to manage & distribute.
If your subscription expired on January 1, and I added some major new features on February 1, and discovered a bug on March 1 that affected the January 1 release, I'd then have to update the January 1 release
and the February 1 release. Repeat ad infinitum ...
Or, if we say when a customer finds a bug that's fixed in the latest version, they get the bug fix update -- who defines a "bug"? Is a bug only something that crashes Take Command, or is it anything that causes a minor irritation? What if it's easily worked around by using another (inherently preferable?) approach? What if it's a feature request disguised as an imaginary bug? (We get plenty of those in this forum!)
A lot of issues that are going to require more research and more customer input, particularly given the way this poll is trending.