Long Day’s Journey into Night of the Living Dead Software
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.
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.
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.
Get Real. If your software lacks some feature and is no longer supported, you need to face reality; the software has no authors, so this feature is not going to be added. Repeat after me: "SuperPaint will never make a GIF!" On the other hand, you’re not paying $100 a year to maintain your copy of SuperPaint; surely that’s not something to feel bad about.
Don’t Upgrade. If your software works, but you’re afraid it might die if you upgrade your computer, then don’t mess with that computer! If you want the latest bells and whistles, get them, but don’t throw the old computer away. At first blush, it seems crazy to keep that old Macintosh SE lying around merely to run a single piece of software. But at second blush, it seems like a great idea! The SE is worthless on the open market, and was probably just going to be recycled into pothole filler (no, really – see the page linked below!). Similarly, before upgrading your version of the Mac OS, ask yourself: am I likely to buy another computer soon anyway? If so, leave your 6100 running System 7.5; you’ll be enjoying Mac OS 8.6 when your iBook arrives. Or, your computer may let you switch versions of the operating system at will, between the latest version and whatever your software needs. (But newer computers won’t run older versions of the Mac OS.)
Emulate. This means, use software to make your computer pretend that it has a different processor and hardware than it actually does. With today’s insanely fast computers, this is becoming practical. You may already be doing it: that’s why 68K software runs on your PowerPC-based Macintosh. A program for emulating an older Mac on a newer Mac is a perfectly reasonable possibility; I don’t know of many such emulators, but there’s a superb site that tracks emulators, and I suspect that this solution will increase in popularity.
Migrate. You may be willing to abandon old software if there’s newer software that does the same job and can acceptably read the data created by the old software. The key word is "acceptably" – compromises may be necessary, and the process is not for the faint-hearted. I upgraded from an Apple II to a Mac without losing any data, but that was just text, and even so it took me years and many macros to recreate my formatting. When someone wrote me complaining that his life was invested in thousands of MacDraw files, I had no simple answer, except: experiment and weigh options. Can any software, such as AppleWorks or MacLink Plus, open these files or transform them to another format? Are you willing to accept the limitation of being able to see your images but not to edit them? If not, don’t migrate (and don’t upgrade).
Liberate. Let My Software Go! This option is directed mostly at the software’s creators, not the public at large. I don’t want people to steal your software; I don’t want them to have to. If you own rights to software that you’re not selling, since you know you won’t make any money from it now, and since its inaccessibility just impoverishes and annoys a public who, after all, would pay you if only you’d consent to take their money, why not post it on the Web where we can download it? The hero of the hour in this respect is Dave Winer, who has at last liberated his MORE 3.1 outliner from Symantec. Not to be outdone, David Dunham has freed Acta, another popular outliner. The folks at Nisus, too, have been giving away an old but perfectly viable version of their flagship Nisus Writer word processor. Doubtless there are others, like Corel’s recent move of releasing WordPerfect 3.5 for free, but these are particular favorites of mine.
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.
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.