Hacker News new | ask | show | jobs
by nonrandomstring 922 days ago
In the 80s Ian Sommerville wrote about the "long tail" of maintenance accounting for >75% of the lifecycle costs of a program. I remember being surprised at this, but my SE prof saying "all successful projects tend toward 100% maintenance."

If developers want to put a time limit on how long they're willing to maintain a project that's all fine and useful. Coders have lives to get back to and new interests to look forward to.

But the very idea of software having a pre-defined lifespan is not sensible. Do we put expiry dates on mathematical theorems?

Indeed it's a good argument for why all software should be FOSS, because it's ultimately the users of a program, not the developers that decide whether code has continuing utility.

As soon as money comes into development people start noticing the long tail is a precipice of diminishing returns, We act like landlords who can't be bothered to decorate crumbling buildings we rent out. Easier to knock it down and build anew, regardless the disruption for the tenants.

When software is built and maintained by the community that use it, they're more like homeowners, for whom maintenance is adding value to an asset.

4 comments

Sure, you can maintain it if you want. And they ought to give you the means to. But that’s a bad comparison.

I bought a perfect, will never deteriorate houseboat twenty years ago (it is now 2043) and moved it across the world. But now in the harbor of Hong Kong I won’t get a permit to stay there because there is (1) no onboard emergency manual in either Cantonese or Mandarin, and (2) it is not up to code for sustained quarantine due to the novel airborne virus that became a pandemic some years ago, and (3) there is no mounted non-lethal (because animal welfare) protection against a hull-eating[1] marina pest that migrated from the Equator ten years ago because of climate change.

Software obsolescence is all about the world changing around the software.

[1] The boat might be perfect but apparently creatures can still eat it if determined enough.

Love the hull eating creatures that must only be humanely killed. Yeah, things never stand still. And those best equipt and informed to make changes for changing times are end-users in whatever context they find themselves, post-apocalypse or otherwise :)
>But the very idea of software having a pre-defined lifespan is not sensible. Do we put expiry dates on mathematical theorems?

IMO it made a lot of sense when the hardware was changing rapidly - when the speed of new hardware doubled every year or two, maintaining existing hardware for more than a decade or two was often just a bad idea. And new hardware usually means porting or rewriting the software.

Nowadays though, hardware has largely peaked - CPUs are getting faster, but not that much faster. We won't see five doublings of CPU speed (64x increase) in our lifetimes, let alone in a decade. Security issues and repairability aside, today's hardware and operating systems will be perfectly serviceable in, say, 30 years.

Who is going to pay for development?
great metaphor