ГлавнаяПолитика выпуска и жизненного цикла программного комплекса «Стахановец»

Политика выпуска и жизненного цикла программного комплекса «Стахановец»

ВВЕДЕНИЕ

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

 

1. ЗАЯВЛЕНИЕ О ПОЛИТИКЕ

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

Корпоративные версии программного обеспечения, на которые распространяется данный Документ:

  • Распространяются на условиях Коммерческой лицензии.
  • Обновляются и выпускаются в соответствии с настоящей Политикой.

 

2.ЦЕЛИ И ЗАДАЧИ КОМПАНИИ В ПОЛИТИКЕ

ООО «Стахановец» придерживается стабильного цикла выпуска версий.

Каждая последующая версия повышает техническое качество продукта, реализует новые функции и нововведения, которые учитывают и удовлетворяют пожеланиям Заказчиков, Клиентов и Пользователей.

Основные цели и задачи, которым придерживается Компания при выпуске версий программного обеспечения:

  • Повышение прозрачности обновлений ПО для Пользователей благодаря конкретной периодичности выхода новых версий.
  • Налаживание системного планирования релизных проектов.
  • Избежание авралов и нарушений сроков выхода новых серий и версий.
  • Накопление статистики, которую можно использовать в дальнейшей работе над совершенствованием программных продуктов.
  • Систематизация обработки обратной связи от Пользователей.
  • По итогу выпуска новой версии программного обеспечения Компания выпускает документ с изменениями (Patch Notes), описывающими различия между выпускаемой и предыдущей версиями программного продукта.


3.ПЛАНОВЫЙ ВЫПУСК ВЕРСИЙ

ООО «Стахановец» придерживается следующих правил при выпуске версий:

  • Релиз новой мажорной версии выпускается один раз в два года. Срок поддержки мажорной версии — не превышает два года с даты выхода первого релиза в рамках серии.
  • Для каждой мажорной версии от восьми до двенадцати минорных релизов. Периодичность выпуска в рамках серии примерно один раз в два месяца.
  • Периодичность внеплановых релизов (патчи) не регламентирована и определяется необходимостью исправления ошибок и минимальных улучшений.

Время жизни каждой основной (мажорной или минорной) версии может включать определенные фазы и применяться к конкретным видам версии в рамках серии.

 

4.ПРАВИЛА ВЫПУСКА ВЕРСИЙ

4.1 Политика версионирования

Политика версионирования «Стахановец» основана на наличии нескольких серий релизов, каждая из которых имеет свой жизненный цикл, предварительные и релизные версии и на понятном и предсказуемом SemVer-подобном формате версий. Каждая релизная серия поддерживается минимум два года с даты первого выпуска, а предварительные и release-candidate-сборки позволяют тестировать новый функционал до Релиза (production-релиза).

Политика заменила прежние правила выпуска и вводит следующие ключевые изменения:

  • Третья часть номера версии (PATCH) однозначно указывает на исправление ошибок. Предрелизные версии обозначаются суффиксами -alphaN, -betaN, -rcN и -dev.

Ниже подробно описаны правила версионирования, стадии жизненного цикла релизных серий и примеры версий.

4.2 Релизные серии и версии

4.2.1 Мажорный релиз

Мажорная релизная версия — это первый релиз в своей релизной серии. Релиз включает в себя новую функциональность и может нарушать обратную совместимость (несовместимые изменения) с прежними версиями. Каждый следующий мажорный релиз получает номер, в котором изменено первое число: «11.хх.хх»

4.2.2 Минорный релиз

В минорном релизе могут как вводиться новые функциональные возможности так и исправляться ошибки. Тем не менее он гарантированно будет совместим с более ранними версиями серии. Каждый следующий минорный релиз получает номер, в котором изменено второе число: «11.01.хх»

4.2.3 Патч-релиз

Патч (patch release) исправляет ошибки предыдущих версий, но не добавляет новую функциональность. Каждый следующий патч получает номер, в котором изменено третье число: «11.01.11111»

4.2.4 Требования к релизам:

  • Полное тестирование и проверка стабильности. Каждый релиз предварительно тестировался и обкатывался во внутренних проектах или песочницах, пока не исчезли все сомнения в его стабильности.
  • Исправлены все критические ошибки стандартных сценариев.
  • Отсутствие регрессий по сравнению с предыдущими выпусками (нет новых ошибок в функциональности из прошлых релизов). В случае мажорного релиза, нет регрессии в функциональности из предыдущей серии.

Совместимость гарантируется внутри серии; между сериями она не гарантируется, но рекомендуется сохранять максимально возможный уровень совместимости.

4.3 Жизненный цикл релизной серии

4.3.1. Ранняя разработка

Стадия ранней разработки (early development) продолжается до выхода официального мажорного релиза. Включает публикацию альфа-, бета- и release-candidate-сборок.

Стадия делится на два этапа:

  • Активная разработка и добавление функционала. На этом этапе функциональные возможности могут как добавляться, так и в некоторых случаях удаляться.
  • Стабилизация релиза. С момента выхода первого релиз-кандидата набор функциональных возможностей не меняется.

4.4.2. Поддержка

Эта стадия начинается с момента выхода первого production-релиза.

Теперь в релизной серии могут появляться только backward-совместимые изменения, не нарушающие обратную совместимость:

  • Устраняются известные проблемы безопасности и уязвимости;
  • Исправляются регрессионные и критические ошибки возникшие в серии;
  • Добавляются новые функции при сохранении совместимости;

Патчи, устраняющие регрессионные и иные ошибки, продолжают выпускаться до тех пор, пока серия не перейдет из стадии поддержки в стадию прекращения поддержки (End of life, EOL).

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

На этом этапе в релизной серии могут появляться новые функции, при этом все они сохраняют обратную совместимость с предыдущими версиями данной релизной серии и последующими версиями релизных версий. Также возможно появление релиз-кандидата, чтобы получить отклики пользователей перед основным выпуском production-релиза.

В течение периода поддержки в релизной серии выпускаются обновления для новых версий deb-совместимых дистрибутивов Linux.

Срок поддержки для каждой серии — не более двух лет.

4.4.3. Прекращение поддержки (EOL)

Стадия прекращение поддержки (end of life, EOL) для серии наступает после публикации финального релиза в этой серии. С этого момента серия больше не получает обновлений.

Для серий, которые достигли этой стадии, поддержка не предоставляется. Обычно для них не выпускаются обновления, касающиеся работы ядра, модулей, коннекторов и/или иных инструментов.

Переход релизной серии в стадию прекращение поддержки возможен только в случае истечения установленного срока поддержки.

4.4.4. End of support (EOS)

Дата окончания поддержки (EOS) наступает не позднее года с даты окончания EOL. После наступления даты EOS, команда «Стахановец» прекращает техническую поддержку и не отвечает на запросы, связанные с поддержкой устаревшей релизной серии.

Пользователям рекомендуется планировать обновления своей версии «Стахановец» до актуальной, до даты наступления EOS.

При окончании поддержки серии новые выпуски не публикуются, рекомендуется обновиться и перейти на новую версионную серию.

 

5. КОНЦЕПЦИЯ РАЗРАБОТКИ БЕЗОПАСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Программное обеспечение, выпускаемое ООО «Стахановец», разрабатывается согласно концепции жизненного цикла безопасной разработки ПО (SSDLC). SSDLC подразумевает учет требований информационной безопасности на этапе проектирования ПО, а также постоянный анализ архитектуры ПО и его исходного кода на наличие уязвимостей и ошибок. Перед выпуском релиза программное обеспечение проходит тщательное финальное тестирование в рамках внутреннего процесса обеспечения качества (QA).

 

6. ОСОБЕННОСТИ РЕЛИЗНОГО ЦИКЛА СЕРТИФИЦИРОВАННЫХ ВЕРСИЙ

ООО «Стахановец» разрабатывает версии сертифицированного программного обеспечения для применения:

  • в государственных информационных системах;
  • в информационных системах персональных данных;
  • в системах критической информационной инфраструктуры.

Такие версии ПО проходят несколько типов тестирования для выявления уязвимостей в архитектуре и коде, а также имеют встроенные механизмы защиты информации. Далее Компания проводит оценку соответствия выпускаемого ПО в системе сертификации ФСТЭК России, чтобы подтвердить требования законодательства РФ в области информационной безопасности. По результатам данной проверки версии ПО присваивается статус Сертифицированная.

Сертифицированные версии ПО доступны только в виде LTS-версий, так как работы по сертификации ПО имеют значительную продолжительность. Критические ошибки и уязвимости в сертифицированных версиях закрываются специально выпускаемыми патч-релизами, доступными для пользователей, купивших сертифицированную версию и имеющих активную подписку на сопровождение.

6.1. Версия с долгосрочной поддержкой (LTS-версия)

LTS-версия (Long Term Support) или версия с долгосрочной поддержкой — часть жизненного цикла ПО, которая означает, что стабильный релиз будет поддерживаться долгое время и будет считаться стандартной версией к распространению.

Выпускается для снижения рисков, расходов и сбоев при развертывании программного обеспечения. Периодичность выпуска — минимум каждые два основных (мажорных) релиза. Допускается выпускать LTS-версии реже указанного периода.

LTS-версия поддерживается и технически сопровождается (EOL) в течение не менее 48 месяцев. Данный период включает в себя время до выхода следующей версии LTS, а также еще 24 месяцев (EOS) после ее выхода.