Организация проекта Django

Принципы

Проектом Django управляет команда добровольцев, преследующая три цели:

  • продвижение разработки веб-фреймворка Django;
  • продвижение ПО из экосистемы Django;
  • Ведение сообщества Django в соответствии с ценностями, описанными в Кодексе поведения Django .

Проект Django не является юридическим лицом. Django Software Foundation , некоммерческая организация, управление финансовыми и правовыми вопросами , связанные с проектом Django. За пределами этих областей фонд позволяет проекту Django управлять разработкой программного обеспечения Django, его экосистемой и сообществом.

Основная команда Django принимает решения, назначает новых членов и избирает технический комитет. Даже если теоретически он имеет право принимать решения, он стремится использовать его только в крайнем случае, если это возможно. Глобальный консенсус должен быть нормой, а формальное голосование - исключением.

Основная команда

Роль

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

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

Они могут вмешиваться по мере необходимости в онлайн-обсуждения или в официальные мероприятия Django в тех редких случаях, когда ситуация требует особого внимания.

У них есть полномочия над инфраструктурой проекта Django, включая сам веб-сайт Django, организацию Django и репозитории кода Github, систему отслеживания заявок Trac, списки рассылки, IRC-каналы и т. Д.

Прерогативы

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

Некоторые вклады не требуют разрешения на совершение. В зависимости от причин членства участника в команде, этот участник может получить или не получить разрешение на фиксацию для репозитория кода Django.

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

Члены основной команды, у которых есть права на фиксацию, называются «коммитерами» или «основными разработчиками».

Другие разрешения, такие как доступ к серверам, предоставляются тем, кто в них нуждается, через тот же процесс.

Композиция

Члены команды Django < https://www.djangoproject.com/foundation/teams/ > `_ продемонстрировали:

  • хорошее понимание философии проекта Django;
  • длительная демонстрация конструктивного и полезного отношения;
  • значимый вклад в достижение целей проекта в любой форме;
  • готовность уделять время улучшению Django;

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

  • Работа в управлении и расширении сообщества
  • Доступность для поддержки в списках рассылки и каналах IRC
  • Сортировка билетов
  • Написание исправлений (код, документация и тесты)
  • Вычитка исправлений (код, документация и тесты)
  • Участие в концептуальных решениях
  • Предоставление экспертизы в определенной области (безопасность, i18n и т. Д.)
  • Управление инфраструктурой непрерывного тестирования
  • Управление сервером (веб-сайт, отслеживание заявок, документация и т. Д.)
  • Сопровождение связанных проектов (сайт djangoproject.com, старые приложения и т. Д.)
  • Создание визуального дизайна

Очень немногие области зарезервированы для основных членов команды:

  • Анализ отчетов о проблемах безопасности
  • Интеграция исправлений (код, документация и тесты)
  • Пакетные публикации

Принадлежность к основной команде - это признание ценных и постоянных усилий, которые соответствуют философии и целям проекта Django.

Это требует одобрения большинством в 80% голосов членов основной команды и отсутствия вето со стороны технического комитета.

Члены основной команды всегда ищут потенциальных участников, рассказывая им о том, как работает проект, и предлагают их имена для голосования по их присоединению, когда они будут готовы. Если вы хотите присоединиться к основной команде, вы можете лично связаться с участником или запросить информацию в списке рассылки Django Core Mentorship .

Ограничений по времени на участие в основной команде нет. Однако, чтобы иметь возможность дать разумное представление о том, сколько людей поддерживает Django, членам команды, которые перестали вносить свой вклад, рекомендуется объявить себя «бывшими членами команды». Те, кто не внесли значительного вклада за последние два года, будут вынуждены поместить себя в эту категорию, и их поместят в эту категорию, если они не ответят. Бывшие члены команды теряют свои привилегии, такие как право голоса и доступ к фиксации.

Технический комитет

Роль

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

Прерогативы

Технический комитет имеет две прерогативы:

  • Принятие решений по основным техническим элементам при отсутствии консенсуса по другому пути. Это происходит в списке рассылки django-developers .
  • Наложить вето на право на фиксацию или удалить право на фиксацию. Это происходит в списке рассылки django-core .

В любом случае технический комитет - последнее средство. В этих сферах он играет ту же роль, что и бывший благотворительный пожизненный диктатор (BDFL).

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

Кроме того, по своему усмотрению технический комитет может вмешиваться в качестве консультанта по нетехническим решениям.

Композиция

Технический комитет является выборной группой из пяти commiters. Предполагается, что у них должен быть опыт, но формальных требований к стажу нет.

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

  1. Кандидаты выражают свою заинтересованность в участии в техническом комитете основной команде.

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

  2. Каждый член команды может проголосовать за 0-5 человек среди кандидатов. Они ранжируются по общему количеству полученных голосов.

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

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

Смена организации

Для внесения изменений в этот документ требуется одобрение 80% большинства голосов основных членов команды и отсутствие вето со стороны технического комитета.

Copyright ©2020 All rights reserved