В чём разница между версиями CURRENT, STABLE и RELEASE?
Кратко – CURRENT это версия FreeBSD, находящаяся на стадии разаботки. STABLE – это переходной процесс от CURRENT, а RELEASE – это последний этап доработки версии STABLE.
Версия CURRENT содержит в себе самые последние изменения, которые ещё находятся в стадии доработки и тестирования. Так же – она содержит в ядре опции отладки (debug), которые предназначены для разработчиков, и не содержатся в других версиях. Через некоторое время, один-два раза в год, проводится так называемое “code freeze” (“замораживание кода”), в течении которого версия CURRENT доводится “до ума”, устраняются ошибки. После этого она становится STABLE, получая новый номер – например 9.0-STABLE (открывая ветку RELENG_9). Дальнейшее развитие идёт сразу в двух направлениях – версии STABLE, в которой будут исправляться выявленные на стадии использования ошибки, и версия CURRENT – в которой будут дорабатываться новые возможности, которые после тестирования войдут в новую версию FreeBSD 10.0 STABLE.
Например, на данный момент CURRENT является 10 ветка:
Branch | Status | Contact | Notes |
---|---|---|---|
HEAD | Open | committers | Active development branch for 10-CURRENT. |
STABLE-ветка:
stable/9 | Open | committers | Development branch for FreeBSD 9-STABLE. |
Отдельно надо отметить значение слова STABLE в названии версии. В данном случае слово “стабильная” относится только к некоторым глобальным изменения в коде самой ОС, а не к её устойчивости в работе в целом.
Через некоторое время изменения в текущей версии STABLE приостанавливаются и после последних тестирований она выпускается как FreeBSD 9.0 RELEASE. При этом продолжаются работы по улучшению FreeBSD 9.0-STABLE, которая со временем выделяются в новую ветку RELENG_9_1, включающую в себя версию FreeBSD 9.1 RELEASE. В дальнейшем в рамках ветки RELENG_9_1 будут добавляться только критические изменения и обновления безопасности только для версии FreeBSD 9.1 RELEASE.
В то же время, в рамках ветки RELENG_9 будет дорабатываться версия FreeBSD 9.0-STABLE, в которую будут добавляться новые возможности и которая со временем ответвится в ветку RELENG_9_2 и версию FreeBSD 9.2.0 RELEASE.
releng/9.1 | Frozen | [email protected] | FreeBSD 9.1 supported errata fix branch. |
2012.12.05 9.1-RELEASE
Далее следуют обновления в ветке RELENG_9_1, включающие в себя обновления безопасности и прочие критические обновления версии FreeBSD 9.1:
2013.02.18: 9.1-RELEASE-p1
2013.04.02: 9.1-RELEASE-p2
2013.04.29: 9.1-RELEASE-p3
Схематично дерево версий можно изобразить так:
HEAD> FreeBSD 10-CURRENT
RELENG_9 > FreeBSD 9.0-STABLE
FreeBSD 9.0 RELEASE
RELENG_9_1 > FreeBSD 9.1 RELEASE
FreeBSD 9.1 RELEASE-p1
FreeBSD 9.1 RELEASE-p2
FreeBSD 9.1 RELEASE-p3
RELENG_9_2 > FreeBSD 9.2 RELEASE
FreeBSD 9.1 RELEASE-p1
RELENG_8 > FreeBSD 8.0-STABLE
Ссылки по теме:
http://www.freebsd.org/releng/
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/release-proc.html
http://svnweb.freebsd.org/base/releng/
http://svnweb.freebsd.org/base/release/