Патч - это часть программного обеспечения, предназначенная для устранения проблем или обновления компьютерной программы или ее вспомогательных данных. Это включает в себя исправление уязвимостей и других ошибок, а также улучшение удобства использования или производительности.

Программисты публикуют и применяют патчи в различных формах. Поскольку авторы проприетарного программного обеспечения скрывают свой исходный код, их исправления распространяются как двоичные исполняемые файлы, а не как исходный код. Этот тип исправления модифицирует исполняемый файл программы - программу, которую фактически запускает пользователь, - либо путем изменения двоичного файла для включения исправлений, либо путем полной его замены.

Патчи также могут распространяться в виде модификаций исходного кода. В этих случаях исправления состоят из текстовых различий между двумя файлами исходного кода. Эти типы исправлений обычно исходят из проектов с открытым исходным кодом. В этих случаях разработчики ожидают, что пользователи сами скомпилируют новые или измененные файлы.

Поскольку слово "патч" имеет оттенок небольшого исправления, для крупных исправлений может использоваться другая номенклатура. Объемные исправления или исправления, которые существенно изменяют программу, могут распространяться как "пакеты обновления" или как "обновления программного обеспечения". Microsoft Windows NT и ее преемники (включая Windows 2000, Windows XP и более поздние версии) используют терминологию "пакет обновления".

В некоторых Unix-подобных системах, особенно Linux, обновления между выпусками доставляются в виде новых пакетов программного обеспечения. Эти обновления имеют тот же формат, что и исходная установка, поэтому их можно использовать либо для обновления существующего пакета на месте (эффективное исправление), либо непосредственно для новых установок.