Hotfix

Hotfix (от англ. hotfix) или экстренное исправление (англ. quick-fix engineering update — обновление QFE) — это единый кумулятивный пакет, содержащий информацию, которая используется для устранения проблемы в программном продукте, как правило, программной ошибки[1]. Hotfix-разработки, как правило, создаются для решения определённой проблемы конкретного заказчика.

Описание

Термин «hotfix» изначально относился к исправлениям программного обеспечения, которые применялись к «горячим» системам, то есть находящимся в работе, активно функционирующим и используемым в продуктивной среде, а не на этапе разработки. Для разработчиков это означало, что исправление может быть выполнено быстро, в обход стандартных процессов тестирования и выпуска. Такой подход может привести к увеличению стоимости исправления, требуя ускоренной разработки, дополнительных рабочих часов или других срочных мер. Для пользователей hotfix часто считается более рискованным решением или менее вероятным способом устранения неисправности. Это может привести к незамедлительной потере сервиса, поэтому в зависимости от серьёзности ошибки применение hotfix может быть отложено. Риск установки hotfix необходимо сопоставлять с риском его неустановки, так как устраняемая проблема может быть настолько критичной, что применение срочного исправления будет приоритетнее возможной временной потери сервиса, например, при серьёзном нарушении безопасности.

Схожие термины используются для описания устройств с возможностью «горячей замены» компонентов. Современное употребление понятия объясняется тем, что поставщики ПО проводят различие между hotfix и другими типами исправлений.

Детали

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

Большинство современных операционных систем и многие отдельные приложения поддерживают функцию автоматической загрузки и установки исправлений. Вместо реализации такой функции самостоятельно разработчик может воспользоваться собственническим пакетом[2], например, RTPatch, или пакетом с открытым исходным кодом (например, StableUpdate или JUpdater), предоставляющим необходимые библиотеки и средства для обновлений.

Существуют также различные сторонние программные продукты, упрощающие установку hotfix на нескольких компьютерах одновременно. Такие программы позволяют администраторам получать списки уже установленных исправлений на группе машин.

Определения отдельных производителей

Microsoft

Компания Microsoft Corporation ранее использовала термины «hotfix» или «QFE»[3]. Однако позднее стала применять новую терминологию: обновления поставляются либо через канал General Distribution Release (GDR), либо через Limited Distribution Release (LDR), который является синонимом QFE. Обновления GDR проходят расширенное тестирование, тогда как LDR, напротив, выпускаются для решения конкретной проблемы ограниченному числу пользователей и не предназначены для широкой аудитории. Обновления GDR могут быть загружены через Windows Update или Microsoft Download Center, а LDR распространяются через службу поддержки Microsoft[4].

Blizzard

Игровая компания Blizzard Entertainment использует термин hotfix для своих продуктов, таких как World of Warcraft и Diablo III, с иным значением:[5]

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

Примечания

Литература

Ссылки