
Why does software have to be maintained? - ColinWright
http://www.johndcook.com/blog/2011/10/21/software-maintenance/
======
jng
I love this kind of thinking. We are often missing a real clear understanding
of even major things in software. Questions like "Why does software
development take so much time", "Why can only developers write software', and
this "Why does software have to be maintained" are in dire need of deeper
analysis and understanding. In the long run, real evolution in software
development will come from understanding these questions.

~~~
jimmaswell
Why can only developers write software? What kind of tautological question is
that? If you write software you're a developer, even if not necessarily a good
one.

~~~
jng
Most people can tally up a sum. Most people can write a letter or note. Most
people can sing a song, even if probably out of tune.Most people can draw a
map or simple diagram. Nearly all people can communicate by talking.

On the other hand, most people can not write even a tiny piece of software.

I think that will change in the future.

But there's a lot to be done until we are there.

------
kawera
Dan Bricklin wrote a very nice article on the subject:
[http://changethis.com/manifesto/show/6.200YearSoftware](http://changethis.com/manifesto/show/6.200YearSoftware)

------
ChuckMcM
Interestingly, some network software seems to have nearly frozen. There are
people out there running really really old, but still functional pieces of
software (like thttpd) that doesn't really need maintenance, especially if the
OS doesn't change.

------
mpyne
Of course, sometimes the dock really _is_ moving too. Like when you try to
recompile your tried-and-true system with a new compiler and discover you'd
really been utilizing undefined behavior...

~~~
jng
If you are trying to compile the software with a new compiler, then you are
changing the environment. And then it's expected that you may need to change
things. Software has the most complex interfaces between parts, and it's
nearly impossible to even verify that you haven't changed an essential part of
of the contract. Of course this also hints at how we may build more reliable
and resilient software in the future...

------
0xdeadbeefbabe
Good question. Why revisit the software that runs things like the segway, the
space station, the pace maker, the artificial kidney, and a DVR? Maybe if you
want to build a new one, maybe for "security", or maybe you just want to write
some code. I like old software much better than updated software, because the
latter is pretend and really unknown.

------
joyeuse6701
Hmph, interesting points are raised, I suppose we shouldn't call it software
maintenance when fixing a bug but, software upgrades! ;)

