3 ms·
There's no such thing as "permanently stable", just "it worked the way we expected at release time". As it keeps being used in different environments, with diff
by peterwwillis 7y ago
There's no such thing as "permanently stable", just "it worked the way we expected at release time". As it keeps being used in different environments, with different inputs, different use cases, etc, suddenly it's not working the way someone originally expected, or it doesn't work with newer stuff. Then bugs happen, or it requires new ways to work with newer software. So code changing over time is a sign that it's actually being used and someone is continuing to make it work.
Example: Linux 2.0.39 [1] was released in January 2001, no code changes since then. Some might say it's really stable by now, right? But that doesn't make sense; how could it be more stable than when it was released in 2001? Actually, it's much less stable. Try to download it, compile it, and run it on your modern system today. Will it even compile? Is your hardware fully supported? Will any new software break running under that old of a kernel? Probably all these and more problems will happen; yet we call it "stable". If you want to actually use it today, you would need to maintain the code.
This is why most of the cost of software is in the maintenance. As long as you're running it, you're maintaining it. (The exception is mainframes running the same hardware & software forever)
[1] https://mirrors.edge.kernel.org/pub/linux/kernel/v2.0/linux-2.0.39.tar.gz https://mirrors.edge.kernel.org/pub/linux/kernel/v2.0/linux-...