en.osm.town is one of the many independent Mastodon servers you can use to participate in the fediverse.
An independent, community of OpenStreetMap people on the Fediverse/Mastodon. Funding graciously provided by the OpenStreetMap Foundation.

Server stats:

267
active users

"why does software require maintenance, it's not like it wears down"

Because software is not generally useful for any inherent good; what matters is its relationship with the surrounding context, and that context is in perpetual change.

@chris__martin hmm, I think it's mostly because even when we have something called "Software Engineering" and we called it a science, making sure that some program is bug free is terribly expensive, so maintenance exists even if we only think in terms of bugs. Also, software is so malleable that we can adapt it and evolve it faster than anything else. You could make a parallel of a software release with a new model of an exiting product. And then you have 'rolling releases' of things like sites.

@mdione @chris__martin

Marcos I understand the argument you're making here, but there's a grander context around the software beyond just "bugs" and features.

If I took a perfect piece of bug-free software that required no new features and then I left it in the GitHub repo, how long do I have before it stops working for people?
2 years?
20 years?
1000 years?

At some point the software will need care, of even just to ensure the code still builds.

@gatesvp @chris__martin as it is, assuming you can still find all the deps all the way down to the kernel if needed, it should run. Now, whether it would still be useful because the context changed, like you say, yes, it probably won't be. But as a software developer (yes, it could be a narrow mindset) I think of changing requirements mean new features.

And I think the same could be said of physical stuff; in my lifetime we had had changes in plugs, going from two types of screw heads to N, etc

@mdione @chris__martin

"Assuming you can find all of the deps..."

This is the macro point that Chris is trying to make. Marco, we both know that the assumption you're making is unsafe.

Finding all the dependencies is not guaranteed. Having a stable compilation target is not guaranteed. And any dependency can be subject to its own instabilities and security issues.

Software is not just source code. Into the environment in which that source code exists. And that environment is not stable.

Marcos Dione

@gatesvp @chris__martin well, for instance, for the Debian Linux distribution, you can find the source code and binaries for all ~8000 (then) and ~72000 (now) packages all the way to March 2005. Granted, you will hit issues where architectural changes will prevent you from running binary code, but hardware emulators exists and are more and more common (because we keep creating new architectures); and yes, you can count those as 'maintenance' or dependencies.

1/N

@gatesvp @chris__martin All I am saying is I don't think is this is not exclusive of software. When I was a kid we had to start replacing wall sockets because my country decided to introduce plugs with ground for big appliances. This maintenance is also needed in other places. Just that software is so malleable, that instead of "throwing it away and buying a new one" like we do with physical objects, we have the tendency of changing the one we have (mostly because it's seemingly cheaper).