Does Software Rot?

Back in the day, Joel wrote an infamous post asserting that “software doesn’t rot” over time.

I believe Joel was addressing the tendency of new programmers on a project to avoid learning the old codebase and write a new one instead, at great cost in terms of time and money.

But let’s discuss the more interesting topic of whether software can actually rot.

I would say that he was correct that it doesn’t rot in a very narrow sense, namely a program written for a single version of Windows.

But in the big picture, he was completely wrong. Even Windows software requires re-writes for “Certified for Windows” assurance for new shrink-wrapped versions to be shelved in US chain stores. (Stores were trying to reduce the rate of returns and customer support.)

And how’s Silverlight, discontinued in 2012, working out for developers? 🙂

When it comes to web software, total re-writes have been required for:

  • mobile
  • Apple “Retina” resolutions
  • XML and JSON output
  • new Javascript frameworks
  • web application security headers require origin and Javascript changes
  • multiple web icon resolutions

Additionally, Y2K often required software changes, as will Y2038.

In Joel’s article Fire And Motion he makes an interesting observation that changes can also be used to keep developers off balance. It’s a very effective technique in the software world where buyers chase versio numbers.

Apple could kill almost 200,000 apps with iOS 11 Fire And Motion

This entry was posted in API Programming, Open Source. Bookmark the permalink.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.