На KDE Dot на днях появилась статья о планируемых изменениях в процессе разработки. Следом за ней, появились две записи (1, 2)в блоге одного из разработчиков из Trolltech, которые поясняют, какой путь был пройден, прежде чем эти изменения стали действительно неизбежными.
При текущей модели разработки периоды активной реализации новых фич сменяются периодами “заморозки”, когда принимаются только исправления ошибок. Это связано с ограничениями используемой сейчас системой управления исходным кодом — SVN. В SVN довольно трудно работать с несолькими ветками разработки, поэтому разработчики стараются минимализировать их количество: фактически сейчас, на пример, работы ведутся только в ветке KDE 4.1 (только исправление ошибок) и 4.2 (активная разработка новых фич для следующиего релиза). За несколько месяцев до выпуска 4.2 произойдёт “заморозка” — и с этого момента прогресс KDE по реализации новых интересных возможностей практически остановится до тех пор, пока не будет объявлено о начале разработки ветки 4.3.
Более интересной была бы модель “always summer in trunk”, при которой разработка новых фич никогда не прекращается, а дополнительные стабильные и экспериментальные ветки создаются при необходимости. Переход на эту модель может быть совершён только со сменой системы управления исходным кодом, использующей в проекте — шаг довольно сложный, потому как подразумевает изменение всей инфраструктуры проекта, и затрагивает каждого разработчика. Надо ли говорить, что далеко не каждый будет рад изменить свои привычки и рабочее окружение.
Тем не менее — процесс уже зашёл так далеко, что планы о смене модели разработки были разглашены в статье на KDE Dot. В качестве наиболее вероятной замены SVN называется Git, используемый, в частности разработчиками ядра Linux и в проекте Wine. Однако, пока что есть проблемы и с возможным переходом на Git — при попытке конвертировать SVN-репозитории в Git теряется часть информации (что неудивительно, учитывая размер проекта), даже не смотря на то, что весь объём кода планируется разбить на несколько сотен репозиториев (сейчас многие проекты используют один репозиторий, в будущем у большинства приложений будут независимые репозитории). Git пока ещё не готов для KDE.
Вообще разработчики рассматривали множество альтернатив и сравнивали их по многим параметрам, но к финалу пришли только Git и Mercurial. Git пока что выглядит победителем, но поскольку не все проблемы ещё решены, теоретически возможно, что будет принято решение в пользу другой системы. По крайней мере, это верно для KDE, а вот переход Qt на Git — дело уже решённое.
Всем интересующимся вопросом советую прочитать обо всём этом подробнее по ссылкам, указанными выше.




Комментарии