I used the perpetual license + 1 year of updates model for
@principleapp and I regret it. It seemed like a fair approach to monetizing native local-only software but it causes a lot of problems.
At that one year mark people don’t feel like they’re getting free use forever, they feel like they’re losing updates. I have to constantly justify how it’s is a good deal. People kind of understand not getting new features after a year but they’re pissed if they have to pay to get a bug fixed. I attempted to offer free bug fix updates, but it was a huge task to patch and release updates for every version ever released. I have 11 years of versions out there now! In many cases the code had changed enough between versions that I couldn’t automatically apply the same diff to all versions. lesson learned. Free bug fix updates are only practical for the newest version.
The licensing model causes users to all end up on different versions. Technical Support is harder because the answer to some questions depends on what version they’re using. People on old versions regularly email me about bugs and features that I addressed years ago. Server side features are problematic because I have to maintain old api endpoints “forever”.
Principle interacts with Sketch and Figma and whenever those programs change their file format or api (which they do often) I have to do an unplanned update to restore compatibility. When this happens, users on old versions feel like either my software has a bug, or I am taking away features and charging to give them back. It’s a hard explain “if you don’t want to update Principle you need to downgrade sketch” because they had often just paid for a new sketch license. In Figma’s case, users *cant* go back to the old version because it’s a web app! I had to create a server side file that would tell Principle what versions of sketch and figma it is compatible with so it shows a nice incompatibility message instead of crashing or corrupting data. Unfortunately the niceness of that message just appears to some users like a planned incompatibility to make them pay.
The licensing model creates a perverse incentive for me to wait more than a year between releasing major updates. I’ve never let that affect my plans but I’m aware that strategically I’d be better off operating that way.
So I had to deal with all that while making way less money than if I had used a subscription model.
I was naive 11 years ago when I chose this licensing model. I only considered fairness without understanding its other implications. I think subscriptions don’t have to be predatory if you offer partial refunds for people that forgot about the subscription, proactively cancel subscriptions that haven’t been used in a long time, and offer tiers (free, basic, pro, enterprise).
I'm not sure at what point this entitlement settled in that perpetual licenses must also include perpetual updates? Do people think good software grows on trees?
When did we suddenly OWE you anything?