Live data from Hacker News

Software-dependent devices: do they now need expiration dates?

circuitbored.com

11–20 of 80 posts

Re: Software-dependent devices: do they now need expiration dates?

#11
post #9

Maybe a better analogy isn't milk, but car seats? I was surprised to learn about car seat expiration when I became a parent, but it makes sense -- the materials themselves break down over time, and safety standards and research evolve. I don't think it's too big of a leap to see software in a similar way. Even if the code itself still runs just fine in ten years, likely the context it runs in has long changed.

Seatbelts too. And airbags. Afaik you're supposed to replace those every 10 years or so. Most people of course don't. Another good one most people forget: Hard drives last about 5 years. CD-Rs are rated for 10 years. A flash drive can go for 10 years. SSD holds data for about 2 years. The electronics themselves in many modern consumer devices are basically kaput after 4 to 5 years. Point is you are likely overestimat…

> Hard drives last about 5 years.

I've often heard this, but I regularly use hard drives for much longer than that. I've only ever had one fail.

Re: Software-dependent devices: do they now need expiration dates?

#13

Perishable software is a huge problem - things keep operating only in dynamic equilibrium, such that they would fall apart as soon as we stop putting energy into fixing flaws. I have been thinking for years that as a society, we need 100-year products. It would be a global good to counteract the local incentives for producing perishable software. However, over time I have realized that there are legitimately unforese…

> It would be a global good to counteract the local incentives for producing perishable software.

What are we talking about here? Asking people to not write bugs?

Re: Software-dependent devices: do they now need expiration dates?

#14
post #2

A good example would be Chromeboxes and Chromebooks. They really should put an expiration date / EOL on the packaging and system itself.

Chromeboxes and Chromebooks should not have expiration dates. The company that built them should be fined for dropping them.

Why? Did they ever say they will indefinitely provide updates?

Re: Software-dependent devices: do they now need expiration dates?

#15

Maybe a better analogy isn't milk, but car seats? I was surprised to learn about car seat expiration when I became a parent, but it makes sense -- the materials themselves break down over time, and safety standards and research evolve. I don't think it's too big of a leap to see software in a similar way. Even if the code itself still runs just fine in ten years, likely the context it runs in has long changed.

The car seat thing is actually mostly unfounded. There's a lot of social panic about child safety.

https://www.google.com/amp/s/www.marketplace.org/2019/11/14/...

Re: Software-dependent devices: do they now need expiration dates?

#16
post #5

No, they need expiration dates more than milk, because at least the dairy farmer isn't coming into my house to curdle my milk in the middle of the night.

Good point. Planned obsolescence has always been a valid threat against our financial futures. Pushed software updates can secretly render IOT devices useless or slow them down. i predict there will be a ton of class action suits in years to come over this, the real tragedy is that bilked consumers will likely never be the ones who recover the loss. It's unfortunately the way of capitalism.

Re: Software-dependent devices: do they now need expiration dates?

#17
The problem with expiration dates for software/hardware is that it's difficult to predict when they expire. A new malware attack can make an entire class of device obsolete overnight. IoT devices might be fine if you keep them on a private network but expire quickly if exposed to the internet. A device might be abandoned by a company (no more firmware updates) but later adopted by the open source movement and then updated for a decade. Everyone might be using a device thinking it's safe when actually an APT has had a compromise for it for years. Maybe a better solution is the ability to force obsolescence, but then companies might misuse that and it could be an attack route itself to turn off the devices. An expiration date or forced obsolescence can destroy many things that are actually still useful. A companies commitment to provide updates may be some indication of expected life, but is also a guess and how can you trust that small companies (innovators) will be around in the future?

Maybe the solution is the old fashioned approach to hardening devices; keep improving them until we know they are stable and reliable and then keep making the same thing, like old Unix servers. But people like new things and there are always desirable features that could be added. All changes are the potential creation of new vulnerabilities.

The Soviet Union used common parts to make many different devices, which made them last forever because they were easy to fix. But that also kept them from switching to new devices because it would obsolete so much infrastructure and the social functions built around it.

The only long term solution may be to change society so no one has an interest in doing bad things, it becomes boring and unattractive. That doesn't eliminate all risks though, because the world itself changes and can cause new unforeseen problems.

A layered approach could protect devices better, giving them a longer useful life. And if they were designed well (by iterating) to start with, that would help too. A plan for what to do, just in case, might help as well. Risk and cost assessment can help make wise decisions. Sometimes the only solution will be to just pull all the devices and replace them, at high cost.

We're already facing multiple problems along these lines (compromised home routers, bugs in CPU's, zero days, people not updating software) so there is something to be learned from current problems and solutions.

One really difficult problem is we don't really know how to make things that last a long time at a reasonable cost. Have a look at the projects of the Long Now Foundation:

http://longnow.org/

Re: Software-dependent devices: do they now need expiration dates?

#19
post #11
post #9

Earlier quoted context omitted.

Seatbelts too. And airbags. Afaik you're supposed to replace those every 10 years or so. Most people of course don't. Another good one most people forget: Hard drives last about 5 years. CD-Rs are rated for 10 years. A flash drive can go for 10 years. SSD holds data for about 2 years. The electronics themselves in many modern consumer devices are basically kaput after 4 to 5 years. Point is you are likely overestimat…

> Hard drives last about 5 years. I've often heard this, but I regularly use hard drives for much longer than that. I've only ever had one fail.

SSDs now though may likely change that. If they fail early, they were likely manufactured to do so, or there was some other issue like power surges.

Re: Software-dependent devices: do they now need expiration dates?

#20
The software doesn't "expire" or "perish". The software isn't gone. The software may go into a state of not getting updates.

A lot of the problems outlined in the post have to do with device and solution design decisions rather than in software expiring.

This also touches on open source software lifecycle choices. PHP may be updating quicker than it used to but the backwards compatibility is amazing.

Angular 9 moving at this pace of change is an example of a lot of churn. Churn is fun for us devs while we work on things but not great for the solutions our stuff is embedded in.

Post reply on HN