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

Принципы

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

  • Содействуя разработке Django Web Framework,
  • Развитие экосистемы программного обеспечения, связанного с Django,
  • Руководить сообществом Django в соответствии с ценностями, описанными в Кодексе поведения Django .

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

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

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

Роль

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

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

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

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

Прерогативы

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

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

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

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

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

Членство

Члены команды Django демонстрируют:

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

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

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

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

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

Членство в основной команде свидетельствует о постоянных и ценных усилиях, которые хорошо согласуются с философией и целями проекта Django.

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

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

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

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

Роль

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

Прерогативы

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

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

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

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

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

Членство

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

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

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

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

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

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

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

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

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

Copyright ©2021 All rights reserved