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
Вклад не ограничивается кодом. Вот неполный список областей, где вклад может быть рассмотрен для вступления в Команду разработки:
- ...
Членство в Команде разработки подразумевает постоянные и ценные усилия, которые хорошо согласуются с философией и целями проекта Perl.
Члены Команды разработки должны выступать в качестве образцов для сообщества и хранителей проекта от имени сообщества и всех, кто полагается на Perl.
Срок полномочий
Члены Команды разработки остаются до их удаления.
Удаление
Члены Команды разработки могут в любое время подать в отставку.
В исключительных случаях может потребоваться удаление кого-либо из Команды разработки вопреки их воле, например, за грубые или повторяющиеся нарушения Кодекса поведения. Любой член Команды разработки может направить запрос на отзыв в Руководящий совет, назвав конкретного человека для удаления. Руководящий совет должен одобрить или отклонить запрос на отзыв. При одобрении Руководящий совет организует голосование по изменению состава, чтобы ратифицировать удаление.
Если удалённый член также входит в Руководящий совет, то он также удаляется из Руководящего совета.
Неактивность
Члены Команды разработки, которые прекратили участие, могут объявить себя "неактивными". Неактивные члены не выдвигают кандидатуры и не голосуют. Неактивные члены могут объявить себя активными в любое время, кроме случаев, когда было предложено голосование и оно не завершено. Право выдвигать кандидатуры или голосовать будет определяться Администратором голосования.
Для записи и признания их вклада, неактивные члены Команды разработки будут продолжать отображаться наряду с активными членами.
Недоверие к Руководящему совету
Команда разработки может удалить либо отдельного члена Руководящего совета, либо весь Руководящий совет через голосование по выражению недоверия.
Голосование по выражению недоверия инициируется, когда член Команды разработки публично обращается к этому вопросу на соответствующем канале связи проекта, а другой член Команды разработки поддерживает это предложение.
Если голосование по выражению недоверия удаляет всех членов Руководящего совета, Администратор голосования по выражению недоверия затем проводит выборы для избрания нового Руководящего совета.
Изменение правил управления Perl
Любой член Команды разработки может предложить изменить Правила управления Perl, отправив предложение в Руководящий совет. Руководящий совет должен решить одобрить или отклонить это предложение. При одобрении Руководящий совет организует голосование по внесению поправок.
Правила голосования
Голосование по изменению состава, внесению поправок и выражению недоверия требует 2/3 участвующих голосов от членов Команды разработки, чтобы пройти.
Администратор голосования должен быть выбран, следуя правилам раздела «Администратор голосования».
Голосование происходит в два этапа:
- ...
Для голосования по изменению состава каждый этап длится одну неделю. Для голосования по внесению поправок и выражению недоверия каждый этап длится две недели.
Руководящий совет
Руководящий совет — это комитет из 3 человек, избранный Командой разработки. Кандидаты не обязаны быть членами Команды разработки. Кандидаты, не являющиеся членами, добавляются в Команду разработки, если их избирают, как если бы это было голосование по изменению состава.
Ссылки на конкретные выборы объяснены в разделе «Правила выборов».
Права
Руководящий совет имеет широкие полномочия принимать решения о развитии языка Perl, интерпретатора и всех других компонентов, систем и процессов, которые приводят к новым выпускам интерпретатора языка.
Например, он может:
...-
Управление расписанием и процессом выпуска новых релизов
-
Установление процедур для предложения, обсуждения и принятия решений о внесении изменений в язык
-
Делегирование полномочий лицам внутри или вне Совета Руководства
Решения Совета Руководства будут приниматься большинством голосов от имеющих право голоса членов совета.
Совет Руководства должен искать способы использовать эти полномочия как можно реже. Вместо голосования лучше стремиться к консенсусу. Вместо решения отдельных случаев лучше определять стандарты и процессы, которые применяются ко всем случаям.
Как и Команда Ядра, Совет Руководства не имеет полномочий над частями экосистемы Perl, не связанными с разработкой и выпуском самого языка.
Совет Руководства не имеет права изменять Правила Управления Perl, за исключением случаев, указанных в разделе «Изменение Правил Управления Perl».
Срок полномочий
Новый Совет Руководства будет выбран в результате выборов по сроку полномочий после каждого стабильного выпуска новой функции (то есть изменения в PERL_REVISION или PERL_VERSION) или по истечении двух лет, в зависимости от того, что наступит раньше. Выборы по сроку полномочий будут организованы в течение двух недель с момента события-триггера. Члены совета будут оставаться в должности до окончания следующих выборов по сроку полномочий, если они не будут отстранены.
Удаление
Члены Совета Руководства могут в любое время подать в отставку.
В случае возникновения вакансий в Совете Руководства, совет организует дополнительные выборы в течение недели после появления вакансии. Если весь Совет Руководства окажется вакантным, вместо этого будут проведены выборы по сроку полномочий.
Совет Руководства может отложить дополнительные выборы на срок до двенадцати недель. Намерение сделать это должно быть публично сообщено Команде Ядра. Если любой активный член Команды Ядра возразит в течение недели, дополнительные выборы должны быть организованы в течение двух недель. В любое время Совет Руководства может отменить отсрочку и немедленно приступить к организации дополнительных выборов.
Если член Совета Руководства скончался или потерял связь и с ним невозможно связаться в течение месяца или более, остальные члены совета могут проголосовать за объявление его должности вакантной. Если отсутствующий член возвращается после такого объявления, он не восстанавливается автоматически, но может баллотироваться на дополнительных выборах для заполнения вакансии.
В противном случае члены Совета Руководства могут быть отстранены от должности до окончания срока их полномочий только посредством голосования «нет доверия» от Команды Ядра.
Правила проведения выборов
Выборы по сроку полномочий и дополнительные выборы проводятся с использованием ранжированного голосования, чтобы составить упорядоченный список кандидатов для заполнения вакансий в Совете Руководства.
Администратор голосования должен быть выбран в соответствии с правилами в разделе «Администратор голосования».
Выборы по сроку полномочий и дополнительные выборы проводятся в два этапа:
-
Кандидаты рекламируют свою заинтересованность в работе. Кандидаты должны быть выдвинуты активным членом Команды Ядра. Самовыдвижение разрешено. Выдвинутые кандидаты могут поделиться заявлением о своей кандидатуре с Командой Ядра.
-
Если число кандидатов не превышает число свободных мест, голосование не требуется. Кандидаты будут объявлены победителями по завершении периода выдвижения.
В противном случае активные члены Команды Ядра голосуют, ранжируя всех кандидатов. Голосование проводится анонимно. После завершения голосования кандидаты ранжируются с использованием режима пропорционального представительства сервиса Condorcet Internet Voting Service. Если произойдёт ничья, она может быть разрешена по взаимному согласию между кандидатами, участвующими в ничьей, или же ничья будет решена путём случайного выбора Администратором голосования.
Любой, кого исключили из Команды Ядра, не имеет права быть кандидатом в Совет Руководства, пока не будет восстановлен в Команде Ядра.
Для выборов по сроку полномочий каждый этап будет длиться две недели. По окончании второго этапа трое кандидатов, получивших наивысший рейтинг, избираются в новый Совет Руководства.
Для дополнительных выборов каждый этап будет длиться одну неделю. По окончании второго этапа вакансии заполняются из упорядоченного списка кандидатов до тех пор, пока не останется вакансий.
Выборы первого Совета Руководства будут выборами по сроку полномочий. Рикардо Сигнес будет Администратором голосования для начальных выборов по сроку полномочий, если он не будет кандидатом, в этом случае он выберет не кандидата-администратора, чтобы заменить себя.
Администратор голосования
Каждое голосование требует Администратора голосования, который управляет коммуникацией, сбором тайных бюллетеней и всеми другими необходимыми действиями для завершения процесса голосования.
Если не указано иное, Администратор голосования выбирается Советом Руководства.
Администратор голосования не должен быть членом Совета Руководства, кандидатом или объектом голосования. Администратор голосования может быть членом Команды Ядра и, если это так, может отдать свой голос, будучи одновременно администратором. Если Администратор голосования становится кандидатом во время голосования на выборах, он назначит не-кандидата на свою должность.
Если весь Совет Руководства вакантен или является объектом голосования «нет доверия», Команда Ядра выбирает Администратора голосования путём консенсуса. Если консенсус не может быть достигнут в течение недели, Президент Фонда Perl выбирает Администратора голосования.
Члены Совета Руководства и Команды Ядра
В списке ниже указаны члены Совета Руководства и Команды Ядра, ответственные за создание выпуска perl, с которым был выпущен этот документ.
Однако имейте в виду, что если вы читаете копию этого документа, которая была установлена с perl, то она, очень вероятно, устарела. Поскольку каждый новый стабильный выпуск новой функции инициирует выборы, вам лучше взглянуть на самую последнюю копию этого документа в ветке blead репозитория Perl в git. Поскольку это git, вы также можете увидеть, как состав изменился с течением времени.
Члены Совета Руководства
-
Paul Evans
-
Philippe Bruhat
-
Ricardo Signes
Члены Команды Ядра
Текущие члены Команды Ядра Perl:
Активные члены
- Chad Granum <exodist7@gmail.com>
- Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
- Craig Berry <craigberry@mac.com>
- Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
- David Mitchell <davem@iabyn.com>
- Graham Knop <haarg@haarg.org>
- H. Merijn Brand <perl5@tux.freedom.nl>
- Hugo van der Sanden <hv@crypt.org>
- James E Keenan <jkeenan@cpan.org>
- Karen Etheridge <ether@cpan.org>
- Karl Williamson <khw@cpan.org>
- Leon Timmermans <fawaka@gmail.com>
- Matthew Horsfall <wolfsage@gmail.com>
- Max Maischein <cpan@corion.net>
- Neil Bowers <neilb@neilb.org>
- Nicholas Clark <nick@ccl4.org>
- Nicolas R <atoomic@cpan.org>
- Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
- Philippe "BooK" Bruhat <book@cpan.org>
- Ricardo Signes <rjbs@semiotic.systems>
- Steve Hay <steve.m.hay@googlemail.com>
- Stuart Mackintosh <stuart@perlfoundation.org>
- Todd Rinaldo <toddr@cpanel.net>
- Tony Cook <tony@develop-help.com>
- Yves Orton <demerphq@gmail.com>
Неактивные члены
- Abhijit Menon-Sen <ams@toroid.org>
- Andy Dougherty <doughera@lafayette.edu>
- David Golden <xdg@xdg.me>
- Jan Dubois <jan@jandubois.com>
- Jason McIntosh <jmac@jmac.org>
- Jesse Vincent <jesse@fsck.com>
© 1993–2023 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.38.0/perlgov