A garantia de software é um contrato celebrado entre uma empresa e a empresa que emite o software que envolve terceiros. Em tal acordo, o fabricante do software, ou licenciador, concorda em colocar o código-fonte do software em uma conta mantida por um agente de custódia, que atua como terceiro. Se a empresa de software deixar de manter os serviços que prometeu à empresa para a qual emitiu o software, também conhecida como licenciada, o agente de custódia libera o código-fonte para o licenciado. A celebração de um contrato de custódia de software protege as empresas contra a perda de software essencial para a execução de suas operações.
É quase impossível, no mundo moderno dos negócios, operar uma empresa sem o uso intenso de computadores. Em muitos casos, as empresas precisam de um software projetado especificamente para executar quaisquer programas de que possam precisar para realizar as operações diárias. Se uma empresa de software deixar de prestar os serviços prometidos à empresa, isso pode ser potencialmente prejudicial ou até letal para essa empresa. A custódia de software é um método para evitar que tal ocorrência infeliz aconteça.
A chave para o contrato de garantia de software é o código-fonte. O código-fonte é essencialmente o projeto de qualquer software específico, embora escrito em uma linguagem que pode ser decifrada por humanos. A posse dessas informações permitiria a uma empresa executar seu software sem ter que depender da empresa que o emitiu. Esta é a informação que um agente de custódia liberaria se o licenciante do software renegasse seu contrato inicial.
Em um contrato de custódia de software típico, o licenciador paga a taxa pelos serviços de custódia e geralmente tem permissão para escolher o agente de custódia que tratará do código-fonte. Isso permite que uma empresa de software escolha um agente que já tenha usado no passado. Isso simplifica as coisas para a empresa de software, pois usar o mesmo agente permite maior simplicidade em termos de contratos e faturamento.
Existem várias maneiras de um licenciante não cumprir seu contrato original e fazer com que o agente de custódia entregue o código-fonte ao licenciado. O mais comum ocorre se o licenciante não fornecer a manutenção adequada do software, o que incluiria a falha na atualização do software ou a indisponibilidade para reparos. Outras causas para o agente de custódia intervir incluem a falência do licenciante, uma aquisição ou fusão que altere a natureza do contrato original ou qualquer ação que viole o contrato que o licenciante celebrou com o licenciado.