Em software de computador, bomba-relógio faz parte de um programa de computador que foi escrito para que comece ou pare de funcionar após uma data ou hora predeterminada. O termo "bomba-relógio" não se refere a um programa que para de funcionar em um número específico de dias após a instalação, para esse tipo de programa, é utilizado o termo "trialware". Bombas-relógio são comumente usadas em software beta (pré-lançamento) quando o fabricante do software não deseja que a versão beta seja usada após a data da versão final. Um exemplo de software de bomba-relógio seria o Windows Vista Beta 2 da Microsoft, programado para expirar em 31 de maio de 2007.Windows Vista home page Os limites de tempo para o software de bomba-relógio geralmente não são tão rigorosamente aplicados quanto para o software de avaliação, pois o software de bomba-relógio geralmente não implementa funções de relógio seguro.

História O primeiro uso de uma bomba-relógio em software pode ter sido com a linguagem de marcação Scribe e o sistema de processamento de texto, desenvolvido por Brian Reid. Reid vendeu o Scribe para uma empresa de software chamada Unilogic (mais tarde renomeada para Scribe Systems PostScript Printer Driver Optimization Case Study, Adobe Systems, Technical Note #5042, 31 de Março de 1992. Página 5.) e concordou em inserir um conjunto de funções dependentes do tempo (chamadas "bombas de tempo") que desativariam versões livremente copiadas do programa após um período de expiração de 90 dias. Para evitar a desativação, os usuários pagaram à empresa de software, que então emitiu um código que desativava o recurso interno da bomba-relógio.

Richard Stallman viu isso como uma traição ao ethos do programador. Em vez de honrar a noção de compartilhamento, Reid havia inserido uma maneira de as empresas obrigarem os programadores a pagar pelo acesso à informação (veja os Eventos que levaram ao GNU).

Comparação de bombas lógicas e bombas de bifurcação As principais diferenças entre bombas lógicas e bombas-relógio é que uma bomba lógica pode ter uma função de tempo implementada como uma segurança contra falhas se as condições não forem atendidas em um determinado período de tempo (ela pode se excluir ou ativar sua carga útil usando o sistema de tempo), enquanto as bombas-relógio usam apenas funções de tempo para se (des)ativarem. As bombas-relógio, uma vez ativadas, descarregam sua carga útil (o que pode ser malicioso) da mesma maneira que as bombas lógicas entregam suas cargas úteis ao alvo. A principal diferença entre bombas de tempo e lógicas e bombas de bifurcação é que uma bomba de bifurcação não tem carga útil em si e, em vez disso, causa danos ao se replicar continuamente para esgotar os recursos disponíveis do sistema.

Ver também Obsolescência programada Bomba‐relógio

Categoria:Licenças de programas de computador