Ethically I think the good old days of software products were superior to the current days of software services . Services are paid for by subscription or ads or selling data, so that they are forced to optimize for continued use. Products are sold as-is, with the hope that they are useful enough that enough people will buy them once and own it forever. It should work this way: you spend N months making a useful prod…
There were endless conversations about a support matrix and patching older versions for customers who refused to upgrade. We were hamstrung by old design decisions and backporting fixes making any change onerous. We couldn’t add value for new customers as fast because we spent a majority of the time supporting older customers. Now those older customers probably preferred it that way. They had software that worked (until a new vulnerability was discovered at least) and that they had paid for and liked. But as the decades (literally software that old) dragged on they became like technical debt that we couldn’t detach.
As a developer, the incentives were clear. If I’m spending half my time supporting people who had already paid and weren’t likely to pay again, then I can be more productive elsewhere, creating more additional value at a company that had a services model. So I left.