Time bomb (software)

In computer software, a time bomb is part of a computer program that has been written so that it will start or stop functioning after a predetermined date or time is reached. The term "time bomb" does not refer to a program that stops functioning a specific number of days after it is installed; instead, the term "trialware" applies. Time bombs are commonly used in beta (pre-release) software when the manufacturer of the software does not want the beta version being used after the final release date. One example of time bomb software would be Microsoft's Windows Vista Beta 2, which was programmed to expire on May 31, 2007. The time limits on time bomb software are not usually as heavily enforced as they are on trial software, since time bomb software does not usually implement secure clock functions.

History
The first use of a time bomb in software may have been in 1979 with the Scribe markup language and word processing system, developed by Brian Reid. Reid sold Scribe to a software company called Unilogic (later renamed Scribe Systems ), and agreed to insert a set of time-dependent functions (called "time bombs") that would deactivate freely copied versions of the program after a 90-day expiration date. To avoid deactivation, users paid the software company, which then issued a code that defused the internal time bomb feature.

Richard Stallman saw this as a betrayal of the programmer ethos. Instead of honoring the notion of share-and-share alike, Reid had inserted a way for companies to compel programmers to pay for information access (see Events leading to GNU).

Comparison of logic bombs and time bombs
The main differences between logic bombs and time bombs is that a logic bomb may have a timing function implemented into it as a failsafe if the conditions are not met in a certain time period (it may delete itself or activate its payload using the timing system), while time bombs only use timing functions to (de)activate themselves. Time bombs, once activated, will unload their payload (which may be malicious) in a similar way logic bombs deliver their payloads to the target. The main difference between both time and logic bombs, and fork bombs, is that a fork bomb has no payload per se, and instead does its damage by continually replicating itself to deplete available system resources.