This article originally appeared in TidBITS on 1999-08-23 at 12:00 p.m.
The permanent URL for this article is: http://db.tidbits.com/article/5519
Include images: Off

Long Day's Journey into Night of the Living Dead Software

by Matt Neuburg

Where does old software go when it dies? In one respect, nowhere, because it doesn't die. Unlike a motorcycle, it has no parts to wear or rust. Unlike a book, the pages don't yellow, fade, or tear. Unless the laws of physics change, software just keeps working - forever.

Unfortunately, with software, the laws of physics can change. First, there's the physical computer on which it runs; you might buy a different computer. Second, there's the operating system; you might install a different version. Either way, you've changed the laws of physics in your software's universe.

In both cases, "different" will probably mean "newer." Software comes clearly marked with limitations to backward compatibility ("requires System 7.1 or better and at least a 68020 processor"), but there are pitfalls with forward compatibility as well. Newer machines and systems are supposed to solve this problem by maintaining their own backward compatibility, but as evolution progresses, universal backward compatibility is an impossibly tall order; some old software is bound to break.

The trouble is that all software makes assumptions about its environment, some of them virtually subconscious. Those assumptions may not remain true forever. You can now have a hard disk bigger than was once ever dreamed possible; on such a disk, old software may report that it can't save files. The workaround: partition the disk. But sometimes there's no workaround. Several years ago, a few people began to report that UserLand Frontier wouldn't work on the new Power Mac 9600 they'd just bought. It turned out that Frontier, as it starts up, does some timing adjustments so that it knows how quickly to zoom windows. To make these adjustments, it measures the computer's speed by counting while watching the clock. This counting was being done in a two-byte integer; but a Power Mac 9600 was so fast that this wasn't enough bytes! The authors of Frontier hadn't imagined a computer would ever be fast enough to make two bytes insufficient.

In the case of Frontier, the problem was solved immediately, because the program was actively supported. But if no developers are there to revise it, software can choke on the changes in its universe. It's like a silent movie star who can't make the transition to talkies.

Nothing to Fear but Fear Itself -- At this point, let me complicate the matter by drawing some important distinctions.

I receive many messages from people who worry that their old software will die; after all, things in the real world do stop working, so people expect their software will too. My first advice is always to stop worrying. Has the software stopped working? No. Are you thinking of doing something to your computer that might make it stop working? No. So don't worry.

Also, people see by the advance in version numbers that lots of software is actively supported (Word 4, Word 5.1, Word 6, Word 98), whereas their old software just sits there (SuperPaint 3.5, SuperPaint 3.5, SuperPaint 3.5), so it starts to feel dead even though it's working fine. Such reasoning is backwards; the constant advance of software versions is often bad! I wrote about this years ago, in "The New Technologies Treadmill" in TidBITS-207. A new version of a program isn't better because it has more features, but because it adds features that you need. That's why many users are still happily using Word 5.1.

<http://db.tidbits.com/article/02293>

Another problem on which I often get letters is the acquisition of software. Software that works does users no good if they can't obtain it at all, because the company no longer exists or refuses to sell you a copy. This is a serious problem, one with which I'm intimately acquainted, since programs I recommend in TidBITS have a bad habit of devolving into this kind of unavailability. WebArranger, MORE, IN Control, and Spreadsheet 2000 are examples.

<http://db.tidbits.com/article/01149>
<http://db.tidbits.com/article/02381>
<http://db.tidbits.com/article/01826>
<http://db.tidbits.com/article/02180>

Such situations have curious legal, moral, and practical ramifications. I detest software piracy, but if a company stops selling its software, then users are put in a very strange position. When I recommend IN Control, IN Control is no longer sold, and I've got a copy, it's natural for me to wonder who would be hurt (and who could legitimately stop me) if I just quietly permitted my copy to multiply.

Whatever the legalities, the practical reality is that software is a very special kind of entity. A photocopy clearly isn't the original book, and a tape clearly isn't the original vinyl LP; even a duplicated CD lacks certain physical marks of the original, and even if it didn't, it's a duplicate. But software is made to be copied; that's how you get it onto your computer in the first place! The result is not a copy; it's the software! In this respect, software is more like a mathematical formula than a real-world entity. Also, software is a means to an end; the documents it creates are the important thing. What if I need a co-worker to be able to share my documents, created with a certain piece of defunct software? He'd buy a copy if he could, but he can't; so why can't I give him one?

Solutions Old and New -- What can be done about old software? Here are some possibilities.

<http://ameriplas.org/apcorg/newsroom/articles/ computerrecycle.html>

<http://emulation.net/macintosh/>

<http://www.dataviz.com/Products/MLP/MLP_ Home.html>

<http://www.outliners.com/more31.html>
<http://a-sharp.com/acta/>
<http://www.nisus-soft.com/news/pr/980925.asp>
<http://www.corel.com/products/macintosh/wpmac35 /pack_freedownload.htm>

Still, this doesn't solve the problem of software ceasing to work; for that, we'd need the actual source code, plus a gang of volunteer experts willing to tinker with it. Nearly a year ago, Adam proposed the Electronic Phoenix Project to do just that. If dead or dying software troubles you, reread his piece. Although there was an initial flurry of interest and activity, the fact is that coordinating an open source effort is real work, which has yet to be done. Still, the Phoenix-Talk mailing list remains active on Adam's servers; if the recent releases of old binaries excite you enough to push for source code, the Electronic Phoenix Project can still fly.

<http://db.tidbits.com/article/05141>
<http://db.tidbits.com/article/05153>

Forward into the Past -- With personal computers, it's easy to become fixated on the future, the coming thing, tomorrow's stock IPO. We rarely pause to look back; but if we do, we see a disturbing graveyard of perfectly good software that no longer works quite right or can no longer be legally obtained. In certain cases, such as outliners, a whole class of software can threaten to go moribund. What's supposed to happen in situations like this? Should those users who relied on the software suffer because the programs weren't sufficiently popular to warrant continued development? Should someone else have to reinvent the same software from scratch? If so, how can software ever progress? Can it be that, with the exception of the few companies that stay in business, software is doomed to a fleeting, cyclical, dead-end existence? That would be a supreme irony for an entity whose nature is almost mathematically pure, with no moving parts, nothing to wear out, nothing, in theory, to prevent it working perfectly forever.