perlgov
СОДЕРЖАНИЕ
НАЗВАНИЕ
perlgov - Правила управления Perl
ПРЕДИСЛОВИЕ
Мы формируем систему управления для разработки языка программирования Perl.
Область управления включает определение языка, его реализацию, наборы тестов, документацию, а также политику и процедуры его разработки и поддержки.
Система управления включает определения групп, которые будут принимать решения, правила формирования и изменения этих групп, а также перечень полномочий и ограничений на действия этих руководящих групп.
При формировании системы управления мы стремимся достичь следующих целей:
-
Мы хотим функциональной системы. Это означает, что руководящие группы могут принимать решение о крупных изменениях или действовать консервативно, но они будут действовать целенаправленно и с ясной коммуникацией, а не упускать принятие решений, когда это необходимо.
-
Мы хотим надежной системы. Это означает, что разумный участник сообщества Perl может не согласиться с решениями, принятыми руководящими группами, но примет, что они были приняты добросовестно в консультации с соответствующими сообществами за пределами руководящих групп.
-
Мы хотим устойчивой системы. Это означает, что она содержит положения для самомодификации, включая способы добавления новых членов в руководящие группы, способы выживания в случае неактивности членов, а также способы изменения самих правил управления при необходимости.
-
Мы хотим прозрачной системы. Это означает, что она будет отдавать предпочтение политике, которая управляет обычными вопросами публично, и будет отдавать предпочтение конфиденциальности в ограниченном числе случаев.
-
Мы хотим уважительной системы. Это означает, что она установит стандарты вежливого общения, которые позволят здоровые разногласия, но избегут злобы и враждебности в сообществе, за которое она отвечает.
Мандат
Управление языком Perl должно работать над:
-
Поддержанием качества, стабильности и непрерывности языка Perl и интерпретатора
-
Руководством по развитию языка Perl и интерпретатора
-
Установлением и наблюдением за политикой, процедурами, системами и механизмами, которые позволяют сообществу участников языка и интерпретатора Perl
-
Поощрением обсуждения и достижения консенсуса среди участников, предпочитая формальному принятию решений руководящими группами
-
Упрощением связи между участниками и внешними заинтересованными сторонами в более широком экосистеме Perl
Определения
В данном документе описаны три роли, участвующие в управлении:
- "Команда разработчиков"
- "Совет руководителей"
- "Администратор голосования"
Следуют разделы по каждой из них.
Команда разработчиков
Команда разработчиков - группа доверенных добровольцев, участвующих в текущей разработке языка Perl и интерпретатора. От них не требуется быть разработчиками языка или участниками коммита.
Ссылки на конкретные голосования поясняются в разделе "Правила голосования".
Права
Помимо их вклада в язык Perl, Команда разработчиков устанавливает правила управления Perl, решает, кто участвует в каких ролях в управлении и делегирует существенные полномочия принятия решений Совету руководителей.
Конкретно:
-
Они избирают Совет руководителей и имеют право удалять членов Совета руководителей.
-
Вместе с Советом руководителей они управляют членством в Команде разработчиков.
-
Вместе с Советом руководителей они имеют право изменять Правила управления Perl.
Команда разработчиков не имеет полномочий над частями экосистемы Perl, не связанными с разработкой и выпуском самого языка. К ним относятся, но не ограничиваются ими:
-
Фонд Perl
-
Администрирование CPAN и авторы CPAN
-
perl.org, metacpan.org и другие поддерживаемые сообществом веб-сайты и сервисы
-
Конференции и мероприятия по Perl, кроме организованных напрямую Командой разработчиков
-
Имущественные права на Perl, юридически принадлежащие третьим лицам, кроме случаев, разрешенных соответствующими лицензиями или соглашениями
Членство
Изначальные члены Команды разработчиков будут указаны при первоначальной ратификации данного документа.
Любой член Команды разработчиков может выдвинуть кандидатуру для добавления в Команду разработчиков, отправив номинацию в Совет руководителей. Совет руководителей должен одобрить или отклонить номинацию. В случае одобрения Совет руководителей организует голосование по изменению членства для ратификации добавления.
Члены Команды разработчиков должны демонстрировать:
-
Хороший послужной список конструктивной и полезной работы
-
Значительный вклад в цели проекта в любой форме
-
Готовность посвятить некоторое время улучшению Perl
Вклад не ограничивается кодом. Вот неполный список областей, где вклад может быть рассмотрен для присоединения к Команде разработчиков:
-
Работа над управлением и привлечением сообщества
-
Предоставление поддержки на почтовых списках, IRC или других форумах
-
Обработка запросов
-
Написание патчей (код, документация или тесты)
-
Обзор патчей (код, документация или тесты)
-
Участие в обсуждениях дизайна
-
Предоставление экспертизы в определенной области (безопасность, i18n и т. д.)
-
Управление инфраструктурой Perl (веб-сайты, CI, документация и т. д.)
-
Поддержка значительных проектов в экосистеме Perl
-
Создание визуальных дизайнов
Членство в Команде разработчиков признает постоянные и ценные усилия, которые хорошо согласуются с философией и целями проекта Perl.
Члены Команды разработчиков ожидают, что они будут служить образцом для подражания в сообществе и хранителями проекта от имени сообщества и всех тех, кто полагается на Perl.
Срок полномочий
Члены Команды разработчиков остаются в должности до их удаления.
Удаление
Члены Команды разработчиков могут в любой момент подать в отставку.
В исключительных случаях может потребоваться удалить кого-либо из Команды разработчиков против его воли, например, за грубые или многократные нарушения Кодекса поведения. Любой член Команды разработчиков может направить запрос на отстранение в Совет руководителей, указав лицо, подлежащее удалению. Совет руководителей должен одобрить или отклонить запрос на отстранение. В случае одобрения Совет руководителей организует голосование по изменению членства для ратификации удаления.
Если удаленный член также является членом Совета руководителей, то он удаляется из Совета руководителей.
Неактивность
Члены Команды разработчиков, которые перестали участвовать, могут объявить себя «неактивными». Неактивные члены не предлагают и не голосуют. Неактивные члены могут объявить себя активными в любое время, за исключением случаев, когда было предложено голосование и оно не завершено. Право на выдвижение кандидатур и голосование будет определяться Администратором голосования.
Для записи и уважения их вклада, неактивные члены Команды разработчиков будут продолжать отображаться вместе с активными членами.
Отказ от доверия Совету руководителей
Команда разработчиков может удалить либо одного члена Совета руководителей, либо весь Совет руководителей посредством голосования по выражению недоверия.
Голосование по выражению недоверия инициируется, когда один член Команды разработчиков публично выступит с предложением на соответствующем канале связи проекта, а другой член Команды разработчиков поддержит это предложение.
Если голосование по выражению недоверия удаляет всех членов Совета руководителей, Администратор голосования по выражению недоверия затем проведет выборы для избрания нового Совета руководителей.
Изменение правил управления Perl
Любой член Команды разработчиков может предложить изменения в Правилах управления Perl, направив предложение в Совет руководителей. Совет руководителей должен принять решение об одобрении или отклонении предложения. В случае одобрения Совет руководителей проведет голосование по внесению поправок.
Правила голосования
Голосования по изменениям членства, внесению поправок и выражению недоверия требуют 2/3 голосов участвующих членов Команды разработчиков для принятия.
Администратор голосования должен быть выбран в соответствии с правилами в разделе "Администратор голосования".
Голосование происходит в два этапа:
-
Администратор голосования описывает предлагаемое голосование. Команда разработчиков может обсудить вопрос до голосования.
-
Активные члены Команды разработчиков голосуют за или против предложения. Голосование производится анонимно.
Для голосования по изменению членства каждый этап будет длиться одну неделю. Для голосования по внесению поправок и выражению недоверия каждый этап будет длиться две недели.
Совет руководителей
Совет руководителей - комитет из 3 человек, избираемый Командой разработчиков. Кандидаты не обязаны быть членами Команды разработчиков. Если кандидат, не являющийся членом, избран в качестве члена, он добавляется в Команду разработчиков, как если бы это было голосование по изменению членства.
Ссылки на конкретные выборы разъясняются в разделе "Правила выборов".
Права
Совет руководителей имеет широкие полномочия принимать решения по вопросам разработки языка Perl, интерпретатора и всех других компонентов, систем и процессов, которые приводят к новым выпускам интерпретатора языка.
Например, он может:
-
Управлять графиком и процессом выпуска новых версий
-
Устанавливать процедуры для предложения, обсуждения и принятия решений по изменениям языка
-
Делегировать полномочия отдельным лицам внутри или вне Совета руководителей
Решения Совета руководителей принимаются большинством голосов невакантных мест в совете.
Совет директоров должен искать способы как можно реже использовать эти полномочия. Вместо голосования лучше добиваться консенсуса. Вместо принятия решений по отдельным делам лучше определять стандарты и процессы, которые применяются ко всем делам.
Как и Команда разработчиков, Совет директоров не имеет никаких полномочий в отношении частей экосистемы Perl, не связанных с разработкой и выпуском самого языка.
Совет директоров не имеет права изменять Правила управления Perl, за исключением случаев, предусмотренных в разделе «Изменение правил управления Perl».
Срок полномочий
Новый Совет директоров будет выбран путем выборов в рамках срока полномочий в течение двух недель после каждого стабильного выпуска новой функции (то есть изменения в PERL_REVISION или PERL_VERSION) или по истечении двух лет, в зависимости от того, что наступит раньше. Члены совета будут исполнять свои обязанности до завершения следующих выборов в рамках срока полномочий, если они не будут отстранены.
Отстранение
Члены Совета директоров могут в любое время подать в отставку.
В случае вакансий в Совете директоров совет организует дополнительные выборы в течение одной недели после возникновения вакансии. Если весь Совет директоров будет вакантным, вместо этого пройдут выборы в рамках срока полномочий.
Если член Совета директоров скончался или потерял связь и его невозможно связаться в течение месяца или более, остальные члены совета могут проголосовать за объявление его должности вакантной. Если отсутствующий член возвращается после такого заявления, он не восстанавливается автоматически, но может участвовать в дополнительных выборах для заполнения вакансии.
В противном случае члены Совета директоров могут быть отстранены до окончания срока их полномочий только путем голосования «нет доверия» со стороны Команды разработчиков.
Правила выборов
Выборы в рамках срока полномочий и дополнительные выборы проводятся с использованием рейтингового голосования, чтобы составить упорядоченный список кандидатов для заполнения вакансий в Совете директоров.
После проведения выборов должен быть выбран Администратор голосования в соответствии с правилами, изложенными в разделе «Администратор голосования».
Выборы в рамках срока полномочий и дополнительные выборы проводятся в два этапа:
-
Кандидаты объявляют о своем желании участвовать в выборах. Кандидаты должны быть выдвинуты действующим членом Команды разработчиков. Самовыдвижения разрешены. Выдвинутые кандидаты могут поделиться заявлением о своей кандидатуре с Командой разработчиков.
-
Активные члены Команды разработчиков голосуют, ранжируя всех кандидатов. Голосование проводится анонимно. После завершения голосования кандидаты ранжируются с использованием режима пропорционального представительства службы интернет-голосования Condorcet. Если возникает ничья, ее можно разрешить по взаимному согласию между кандидатами, попавшими в ничью, в противном случае ничья разрешается случайным выбором Администратором голосования.
Любой, кто был исключен из Команды разработчиков, не имеет права быть кандидатом в Совет директоров, пока не будет восстановлен в Команду разработчиков.
Для выборов в рамках срока полномочий каждый этап продлится две недели. По окончании второго этапа трое кандидатов с наивысшими рейтингами избираются в новый Совет директоров.
Для дополнительных выборов каждый этап продлится одну неделю. По окончании второго этапа вакансии заполняются из упорядоченного списка кандидатов до тех пор, пока все вакансии не будут заполнены.
Выборы первого Совета директоров пройдут по системе выборов в рамках срока полномочий. Рикардо Сигнес будет Администратором голосования для первых выборов в рамках срока полномочий, если он не является кандидатом, в противном случае он выберет не кандидата в качестве администратора для замены себя.
Администратор голосования
Каждое голосование или выборы требуют Администратора голосования, который управляет коммуникацией, сбором тайных бюллетеней и всеми остальными необходимыми действиями для завершения процесса голосования.
Если не указано иное, Администратор голосования избирается Советом директоров.
Администратор голосования не должен быть членом Совета директоров, кандидатом или объектом голосования. Администратор голосования может быть членом Команды разработчиков и, если это так, может голосовать, одновременно являясь администратором. Если Администратор голосования становится кандидатом во время голосования на выборах, он назначит не кандидата на замену.
Если весь Совет директоров вакантен или является предметом голосования «нет доверия», Команда разработчиков выбирает Администратора голосования по принципу консенсуса. Если консенсус не может быть достигнут в течение одной недели, Президент Фонда Perl выбирает Администратора голосования.
Члены Команды разработчиков
Текущие члены Команды разработчиков Perl:
-
Abhijit Menon-Sen (неактивен)
-
Andy Dougherty (неактивен)
-
Chad Granum
-
Chris 'BinGOs' Williams
-
Craig Berry
-
Dagfinn Ilmari Mannsåker
-
Dave Mitchell
-
David Golden
-
H. Merijn Brand
-
Hugo van der Sanden
-
James E Keenan
-
Jan Dubois (неактивен)
-
Jesse Vincent (неактивен)
-
Karen Etheridge
-
Karl Williamson
-
Leon Timmermans
-
Matthew Horsfall
-
Max Maischein
-
Neil Bowers
-
Nicholas Clark
-
Nicolas R.
-
Paul "LeoNerd" Evans
-
Philippe "BooK" Bruhat
-
Ricardo Signes
-
Steve Hay
-
Stuart Mackintosh
-
Todd Rinaldo
-
Tony Cook
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/perlgov