5 ms·
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 int
by alkaline9 7y ago
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 unforeseen circumstances that come up - for example, the general realization of the need for stricter security around logins (e.g. two-factor authentication). Maybe a 10 year time window is realistic for now.
In the meantime, requiring expiration days would go a long way towards calling out how perishable our devices and software are.
- ailideex 7y ago> 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?
- alkaline9 7y agoNo, it is asking people to design and test systems for the long-term. It would require establishing strong interfaces between components that will hold up when subcomponents are swapped out. I think of it like a car where parts can be replaced if those parts have an issue, but the designs of the connectors stays the same, and replacements are available. A 100-year car isn't one that requires no maintenance for 100 years; it is one that can be maintained, and replacement parts can be acquired, and it will still continue working. If a car depends on a remote server, such that the car stops operating when the remote server is shut down, then that car is perishable.
- LeftHandPath 7y agoThere are a lot of cars that were maintainable, and built to be maintained, that can’t be maintained anymore simply because the manufacturer went defunct and there are no more parts (e.g. Saab, Datsun) or because the cost of manufacturing more parts for a car with a dwindling owner-base began to outweigh the profit, and thus, there are no more parts (e.g. older Ford models). Unless the car is built primarily with 3rd-party parts (from manufacturers like Bosch, Brembo, etc) - which is something that consumers usually hold against a car, like how many people are upset that the new Toyota Supra is actually a BMW - then the problem is almost completely analogous to the shutting down of remote servers; if the manufacturer goes defunct or can no longer make a profit by continuing service, the car’s life has perished. And in fact, the only way to avoid this is super conglomerates and monopolies - Lamborghini parts should always be available, because they come from the Audi parts bin, which comes from the Volkswagen parts bin.
- winternett 7y agoIn the past aftermarket parts makers came in to support popular cars after OEMs retired replacement part making for older model cars. Now if you so much as breathe on an aftermarket mod for your brand new software driven EV ( I won't name names here of course but you know who), the manufacturer may brick your car, or worse yet declare your warranty and/or any future support null & void. My 2017 Volvo XC 90 somehow begins to casually malfunction whenever I drive it beyond a few service warnings. The car is HEAVILY software dependent. It can technically drive itself and park itself too. This behavior somehow disappears once the dealer performs software updates. It's pretty strange, and I worry it's a ticking time bomb for when I reach the end of my warranty on the car.
- LeftHandPath 7y agoI am definitely against the newest measures taken by car companies, e.g. Porsche completely covering the engine (and voiding warranty should you access it) save the oil reservoir, on the newest 911s. There is also something missing from my metaphor which is that even when the parts no longer exist, the car can still continue to run until it breaks down, rather than being remotely killed due to an external signal separated from the car itself (e.g. servers shutting down and triggering some switch in the code).
- bluGill 7y agoNo, I'm asking you fix your bugs: when you sell software you should set aside money to fix your bugs. Note I said bugs, not add new features, you can charge for features, but if I don't want the feature you should still fix the bug.
- ailideex 7y agoNobody works for free. I get your beef but the problem is we buy things and want to pay once, if you were willing to pay for your router every month, well heck you could actually just buy a new one every year about already. fancy that.
- bluGill 7y agoI want to pay once for something that works as advertised. If I buy a car and the airbags are bad they will fix it. If I buy a device and the software fails I expect it is fixed too. I'm not asking for features, I'm asking for bug fixes, which if you had a perfect text plan would already be fixed.
- imoverclocked 7y agoYou can't win at playing that game either: https://news.ycombinator.com/item?id=22271306 https://news.ycombinator.com/item?id=22271306
- winternett 7y agoAt the bare minimum, products should be engineered so they can function at a reasonable level "manually" independent of software systems. These devices should also allow owners to take themselves off the network any time they want in order to ensure REAL OWNERSHIP. That maybe is the happy medium that can get you home if the network goes down?
- viklove 7y ago> such that they would fall apart as soon as we stop putting energy into fixing flaws This is not true. The only reason software needs constant updates is because new features are constantly being added to stay competitive. If you stop adding features, in theory you will eventually run out of bugs to fix as well. The problem is feature creep. Software doesn't "decay," and thus does not need infinite maintenance.
- oneplane 7y agoThat is assuming that software is ever written 'correctly', which outside of (semi-) academic exercise is never the case (so far). You can have a program with 1 purpose and no added features experience a variety of critical flaws over a period of 30 years. While there might not be a 'decay' as such, there definitely is new understanding and as such new attack vectors. The same goes for the stuff the software runs on top of. Your program might be programmed just fine, but if the CPU it was programmed on no longer exists and the replacement CPU has new features that allow that program to be exploited in new ways, that is still a flaw of the software. It couldn't have been foreseen, but it still happens. The concept dat the things we build are frozen in time never holds up. The difference with software vs 'other things' is that it doesn't degrade or get 'used up' (as you wrote yourself). But the things around it do and as you cannot write programs against all possible future contexts, it will need maintenance for as long as it is in use (from a software perspective - a business thinks differently about that, especially risk analysts).
- taeric 7y agoNot really. There is literally precedent in this regard. TeX is stable. Very stable. Has it been extended? Yes. And some extensions can be seen as borderline required. But I'm not unconvinced that one of the biggest factors in this is that he tried to make it stable. And showed great restraint in what requirements to go after.
- oneplane 7y agoWhich TeX? Over the last 10 years, over 20 serious and critical vulnerabilities have been found in various TeX implementations. They were all fixed via... maintenance.
- robocat 7y ago> as a society, we need 100-year products A 28kbaud modem, analogue phone, consumer film camera or virtually any electronic good that uses valves: if they were designed to last 100 years surely you agree that would that be a waste of resources? Think of 50 technological objects in the home from say 75 years ago. Now look at the models or brands that were then designed to be still useful now. Was the extra cost worthwhile or did the object become obsolete for a good reason? What would the maintenance costs for those objects be? Go to a estate sale of someone that bought quality technology items and kept them: review how many of them would be obsolete (because they are just not useful, not maintainable, inefficient, time wasting, irrelevant, dangerous, or otherwise useless for fair reasons). Even worse, expensive well designed goods (e.g. jackets) that while still useful are thrown away because no one wants them... Human capriciousness needs to be part of the compromises we make when designing goods.