I worked at an organization that had gone years without any updates: 10 year old dependencies that had never been updated, actively developed Python 2 code base in 2022, servers with 1000+ day uptimes and hadn't been updated since before the pandemic, on and on.
It made it difficult to get anything done because you had to wade through a dumpster fire to make the smallest change.
> the phenomenon where working software seems to deteriorate even when the code is untouched
If the code is touched, and fails to keep up with dependencies, I might argue that's more a case of bit neglect. But maybe that's semantics.
I do agree that bitrot can be real though. Links rot off the web. If you're going to leave a project sitting on git without maintenance, you should probably capture the build context. Like shrink-wrapping a boat and storing it on land rather than just leaving it rusting away in the water for years.
It felt like “bit rot” to you because that’s how you defined “rot”, but it’s not how real rot works, which has nothing to do with changing.
It’s something that just breaks down without any changes in use case. If a wooden bridge rots away, nobody means that they were unable to add extra lanes. They mean it ceased to do what it previously did.
“Code calcification” is likely a better approximation of what you’re trying to convey.
“Bit rot” would be better fitting to actual storage loss, but this industry chose poorly.
It's supposed to be a joke, comparing the process of drift in the codebase with physical disintegration. Much like technical debt is not literally a balance owed to another party, or an object is not literally a physical lump of mass, and a class doesn't have a literal parent because it was never born.
I would call it developer rot. The code hasn't changed - and runs just as well (or badly) as the day it was written. It is the developers who somehow lose the ability (I don't know how - just read the code) to work with that code.
"Software subsidence"? "Digital subsidence"? The problem is that over time, the foundations upon which software is built decay, or need to be replaced...
I've worked with geologists and geological data and I had to look up "subsidence". I kinda had a feeling for what it meant, but it certainly didn't bring up any salient imagery nor help me understand the concept, which is kinda the point of a metaphor.
"context rot" is more aligned with what they are describing, though that's not a metaphor. I can see bitrot being a bad fit, as it's decay of the actual thing rather than the surrounding context.
Except that implies the context has rotted, when in fact the context is fresher than the system within it. While the context may have degraded in some way, the reality is that it's changed according to forces that have acted on it since the code within it was written and deployed. What's rotted is the ability of the system to meaningfully and correctly interact with the context.