Аналитические статьи

Анализ новой стратегии развития Joomla

Joomla

Анонс Joomla 3.4 представил нам новую стратегию релизов, которая заменит концепты Long Term Support (LTS) и Short Term Support (STS), а также соглашение по нумерации ".5". Недавняя публикация по Joomla! Development Strategy, а также FAQ по Joomla's Improved Release Cycle пытаются пролить свет на новую стратегию развития.

Nick A. из команды Joomlapolis провел небольшлой анализ этой стратегии, с переводом которого мы предлагаем ознакомиться ниже. Надеемся, что он поможет вам более четко представить себе направление развития Joomla! CMS.

Как это было раньше

Стратегия разработки / релизов Joomla основывалась на временных циклах релизов и имела следующие характеристики:

  • График релизов и нумерация
    График релизов включал в себя шестимесячные STS-релизы (3.0, 3.1, 3.2, 3.3), которые спустя шесть месяцев сопровождались LTS-релизом "x.5.0" (например, это должен был быть релиз 3.5.0). Далее этот релиз сопровождался основным "x+1.0.0" релизом (например, 4.0.0). Все LTS-версии помечались как "x.5.0".
  • Периоды обслуживания (maintainance)
    LTS-релизы поддерживались как минимум 27 месяцев, а если быть еще более точным, до шести месяцев после следующего LTS-релиза, в то время как STS-релизы поддерживались в течении одного месяца после следующего STS-релиза.
  • Совместимость и новые возможности
    STS-релизы включали в себя новые обратно совместимые возможности, в то время как LTS-релизы не включали в себя никаких новых возможностей. Основные релизы могли иметь новые возможности, которые не соблюдали обратную совместимость для расширений.

Как это будет в будущем

Новая стратегия будет построена на циклах релизов, которые основываются на новых возможностях и поддерживают Semantic Versioning:

  • График релизов и нумерация
    Каждый основной релиз "x.0.0" или второстепенный релиз "x.y.0" должен рассматриваться, как в свое время LTS-релиз. Больше никакой "x.5" нумерации. Второстепенные релизы также считаются релизами обслуживания, плюс особое внимание уделяется качеству и обратной совместимости. Релизы больше не основываются на временных рамках ("они готовы, когда они готовы").
  • Периоды обслуживания
    Каждый основной "x.0.0" релиз отмечает начало X-серии, продолжительность жизни которой ожидается на уровне четырех лет. Каждый второстепенный "x.0.0" релиз, который случится N месяцев спустя после первых двух лет активной разработки основной версии, добавит N месяцев к ожидаемой продолжительности жизни X-серии (делая её 4 года + N месяцев). В теории, продолжительность жизни серии может быть продлена бесконечно, до тех пор, пока будут выпускаться второстепенные релизы.
  • Совместимость и новые возможности
    Второстепенные релизы (например 3.4.0) могут включать в себя новые обратно совместимые возможности. Основные релизы могут включать в себя новые возможности / изменения в API, которые будут обратно несовместимы.

Что эти релизы значат для вас

Вот как выглядит живой пример серии Joomla 3:

  • так как Joomla 3.0 была выпущена 27/09/2012, то дата окончания жизни (EOL) для третьей серии была установлена на 27/09/2016 (четыре года после выпуска)
  • каждый выход второстепенного релиза Joomla 3.x, который будет сделан после 27/09/2014 (два года активного развития), продлит дату EOL
  • так как выход Joomla 3.3 ожидается 30/04/2014, а Joomla 3.4 - 15/07/2014 (обе до 27/09/2014), то они не повлияют на EOL третьей серии
  • если предположить, что Joomla 3.5 будет выпущена 01/12/2014, то это автоматически продлит EOL третьей серии до 01/12/2016

Новая стратегии развития Joomla

Новая стратегия повлияет на новые релизы следующим образом:

  • График релизов и нумерация
    Понятная [major].[minor].[maintenance] ([основной].[второстепенный].[обслуживание]) семантическая нумерация, без иногда сбивающих "x.5.0" LTS нумераций. Релизы будут выпущены тогда, когда они готовы, без форсирования временных рамок.
  • Периоды обслуживания
    Каждый релиз будет релизом качества и стабильности (и должен рассматриваться, как в свое время LTS-релиз). Каждый новый основной релиз получает ожидаемую продолжительность жизни как минимум в четыре года.
  • Совместимость и новые возможности
    Второстепенные релизы больше заботятся о совместимости и могут включать в себя новые обратно совместимые возможности. Для основных релизов не предполагается существенных изменений, хотя такое возможно.
  • Разработка и качество
    Новая стратегия способствует более гладкой разработке и лучшему качеству кода в плане багов и совместимости. "Они готовы, когда они готовы": никакой спешки в новых возможностях ("не надо беспокоится - если они не попали во второстепенный релиз, то они попадут в следующий") и нехватки времени для закрытия всех багов из-за фиксированной даты релизов (помните Joomla 3.2.0?). Это порождает более гладкий цикл релизов, и избавляет от периода без новых возможностей (один год между последним STS-релизом и новым основным релизом). Это также немного, но все же освобождает основные релизы от ограничений в обратной совместимости.

Выводы и влияние на будущее

Многие статьи обсуждают преимущества и подводные камни каждого из подходов, например:

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

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

Оригинальная статья:
Dmitry Rekun
Работаю в банковской сфере, а с веб-разработкой (непосредственно с Joomla) столкнулся в 2007 году. Теперь это моё хобби и время от времени вторая работа. Какое-то время вёл свой блог, но решил попробовать работать в команде. И вот c 2012 года я здесь :)
timeweb

Заработок в сети

  • Sape - биржа ссылок