The tendency of software that has not been used in a while to fail; such failure may be semi-humorously ascribed to bit rot. More commonly, “software rot” strikes when a program’s assumptions become out of date. If the design was insufficiently robust, this may cause it to fail in mysterious ways.
For example, owing to shortsightedness in the design of some COBOL programs, many would have succumbed to software rot when their 2-digit year counters wrapped around at the beginning of the year 2000. A related incident made the news in 1990, when a gentleman born in 1889 applied for a driver’s licence renewal in Raleigh, North Carolina. The system refused to issue the card, probably because with 2-digit years the ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the mythical one was a real problem on early research computers (e.g. the R1; see grind crank). If a program that depended on a peculiar instruction hadn’t been run in quite a while, the user might discover that the opcodes no longer did the same things they once did. (“Hey, so-and-so needs an instruction to do such-and-such. We can snarf this opcode, right? No one uses it.”)
Another classic example of this sprang from the time an MIT hacker found a simple way to double the speed of the unconditional jump instruction on a PDP-6, so he patched the hardware. Unfortunately, this broke some fragile timing software in a music-playing program, throwing its output out of tune. This was fixed by adding a defensive initialisation routine to compare the speed of a timing loop with the real-time clock; in other words, it figured out how fast the PDP-6 was that day, and corrected appropriately.
- Software theft
legal Unauthorised duplication and/or use of computer software. This usually means unauthorised copying, either by individuals for use by themselves or their friends or by companies who then sell the illegal copies to users. Many kinds of software protection have been invented to try to reduce software theft but, with sufficient effort, it is always […]
- Software tool
programming A program that aids in the development of other programs. It may assist the programmer in the design, code, compile, link, edit, or debug phases. (1996-05-28)
/soft-weir’i-lee/ In a way pertaining to software. “The system is softwarily unreliable.” The adjective “softwary” is *not* used. See hardwarily. [Jargon File]
- Soft wart
soft wart n. See skin tag.