Off topic to bloated web sites, but: I like the subscription models of JetBrains, Office 365, etc. Long term, I think this business model will enable tighter more focused products because the "add new features to get update revenue" goes away.
So selling good feature-complete software is insufficient. People must be forced to keep paying for it at regular intervals, whether they need updates or not.
Software is the perfect product - it doesn't wear out, it doesn't go bad, if you really need to you'll be able to use software you got in 1990 in 2090.
For the software creator, once you've sold someone your software, the only way to make more money is to sell it to someone else, or create and sell a new version. Eventually you run out of someone-elses to sell to and can make new versions or go out of business.
... or sell a support contract or a subscription model.
I don't like it from a user's point of view, but squaring my preferences as a user with preferences of business isn't easy.
It's not just software. Most of the things we buy and use are being purposefully broken because otherwise they wouldn't wear out fast enough. That's the sick side of capitalism.
Well sure, but there's an ultimately sustainable business model if your product needs replacing in 30 or 50 years. (Leaving aside the things like marketing claims of a "30 year" or "lifetime" warranties from a company with a 10-year lifespan.) Capital needed for initial production is then the only issue. But there isn't such a model if the product never needs replacing again.
30-50 years of replacement time is apparently not sustainable, since most of the things we buy have 3-5 years of expected lifetime tops. As for software, the entire tech industry, including its hardware areas, is nowhere near stabilizing yet. Most software has to be replaced after at most 10-15 years, either because of security issues or just because it's no longer supported by hardware. There are exceptions, yes - software written for Windows 95+ is still alive and kicking, but because most software has to interact with other software eventually (even if by exchanging files), it has to keep up. The rise of web and mobile applications has sadly only sped it up.
Maybe one day we'll reach the times when programming is done by "programmer-archaeologists", as described by Vernor Vinge in "A Fire Upon the Deep", whose job is to dig through centuries of legacy code covering just about any conceivable need, to find the snippets they need and glue them together. But right now, software gets obsolete just as fast as physical products.
> 30-50 years of replacement time is apparently not sustainable, since most of the things we buy have 3-5 years of expected lifetime tops.
In practice, yes, most things we buy are designed to fail. But in principle 30 years is possible, if anyone is willing to pay for it. Lots of people aren't, for many reasons including time cost of money, fashion, or just not caring.
> Most software has to be replaced after at most 10-15 years, either because of security issues or just because it's no longer supported by hardware.
Yes, so there's the answer for why the software upgrade treadmill exists: it's for software not important enough to run on dedicated separated hardware. Few people are upgrading CNC controllers or power plant controllers or aeroplane controllers because of security issues or because the hardware is no longer available.
Anyway, even on the consumer side the lifespans are rapidly lengthening. In the 1990s running current software on five-year-old computers or using a five-year-old OS would have been basically unheard of in the mainstream. Today a five-year-old computer is only a step behind current and Windows 7 has turned 6 years old and is still extremely widely used.
> n practice, yes, most things we buy are designed to fail. But in principle 30 years is possible, if anyone is willing to pay for it.
My mom is still using a cooking stove she bought in 1982, as a second hand purchase. Parts of it have been repaired/replaced, but I don't think they make em like they used to: I doubt a 2016 stove will make it to 2049.
It's not that creating more durable products is significantly more expensive (it could, and was done in the 80s), its that manufacturers cut costs of manufacturing and their B.o.M. in the interest of maximising profit.
The "rot" is because the environment is changing (the hardware you're running it on, other software you need to interact with) or the software is being carelessly updated.
If you need to, software rot can be eliminated. It takes effort but it can be done.
To give an example: you can run a space station with software installed in the 1980s, but you probably can't run a space station with seals or pumps installed in the 1980s.