Предложения по изменению процесса разработки проекта Illumos

Лидер проекта Illumos, в рамках которого создано полностью свободное и развиваемое независимым сообществом ответвление от кодовой базы OpenSolaris, Гарретт Д’Аморе (Garrett D’Amore) выдвинул ряд предложений по совершенствованию процесса приема изменений в проект Illumos. До настоящего момента в Illumos использовалась модель приема изменений, применяемая в Sun и Oracle при разработке Solaris. Эта модель основана на возможности всех разработчиков делать прямые коммиты (push) в репозиторий после рецензирования кода (code review). Эта модель хорошо работает для маленьких команд или там, где всем разработчикам можно доверять, но она нетипична для большинства FOSS-проектов, и даже в OpenSolaris эта модель не использовалась при приеме изменений извне.

Для того, чтобы дать возможность участвовать в проекте тем разработчикам, которые не столь давно принимают участие в проекте и еще не заслужили высокий уровень доверия, а также для того, чтобы сделать процесс приема изменений сходным с другими FOSS-проектами, планируется перейти от модели «developer push» к «advocate pull». «Адвокат» — это своеобразный «привратник», аналог майнтейнера подсистемы ядра Linux. Вместо разработчиков, делающих прямой коммит в mercurial-дерево, «адвокаты» будут брать патчи от контрибьюторов (либо через hg export, либо через файл с патчем), будут проверять, что содержимое патча было пересмотрено и будут отвечать за интеграцию патча в главный репозиторий. В процессе приема патча «адвокат» также будет проверять чтобы контрибьютор патча был упомянут в истории изменений системы контроля исходных кодов. Таким образом, как и раньше, контрибьюторы будут упоминаться в связи со своей работой. Другие части процесса приема изменений — пересмотр кода, тестирование и проверка юридических прав на код — будут сохранены.

Главное следствие для разработчиков будет заключаться в том, что они смогут отсылать изменения в форме обычных патчей, что освобождает их от необходимости иметь дело напрямую с той или иной системой контроля исходных кодов. Другое следствие заключается в том, что если случается конфликт при слиянии изменений, то «адвокат» может отклонить изменение и попросить контрибьютора разрешить конфликт и заново отослать патч. Таким образом, процесс приема изменений в Illumos становится гораздо более схожим с процессами, принятыми в больших проектах с открытыми исходными кодами, такими как Linux.

Стоит также упомянуть о том, что на сайте github поддерживается клон репозитория illumos. Таким образом, для разработки Illumos можно использовать Git. Mercurial-копия репозитория также доступна на bitbucket. Сейчас «адвокаты» используют mercurial-репозиторий в качестве главного. Рассматривается возможность его конвертации в git, однако, контрибьюторы могут использовать любую из этих двух систем контроля исходных кодов, поскольку освобождены от необходимости интеграции их кода в главный репозиторий.

На настоящий момент список «адвокатов» таков:

  • Гарретт Д’Аморе ( Garrett D’Amore )
  • Альберт Ли ( Albert Lee )
  • Рич Лау ( Rich Lowe )
  • Гордон Росс ( Gordon Ross )

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.