I propose that we classify software as a living organism.
No, I'm not referring to Ms. Dewey. I am thinking about software in general.
Let's see... Someone fathers (or mothers) the code and brings it to life. They showcase it to the world, either by photos and glimpses (proprietary software) or by allowing someone else to hold (open source software). The parents try to correct the mistakes in the software as early as possible in its childhood. If it's too late, it will be too hard to change the child's attitude. If the child gets really cranky, then the parents just abandon it. If so, they're sent to a foster home, also known as new maintainers of the software.
Maybe I took that metaphor a bit too far.
Let me start again... Think of your iPod or your car, the world around really doesn't affect it. Yes, they both need some kind of fuel, but for the most part, they're just there and they'll keep working as long as they are not damaged. On the other hand, software is very dependent on the world around it. For one, its usefulness and purpose keeps changing, and on the other hand, dependencies keep changing or paradigms keep changing - new kinds of approaches replace old software. As a corollary, indisciplined or unintelligent parents lead to similar nature/attitude of children... And so on.
If someone doesn't take care of the child, err, maintain the software, it shrivels up and dies. The software needs to breathe constantly to be relevant. It needs to be kept alive.
Software should be classified as a living organism.
"Anything that is not managed will deteriorate" -- Bob Parsons