perlgov
СОДЕРЖАНИЕ
НАЗВАНИЕ
perlgov - Правила управления Perl
ПРЕДИСЛОВИЕ
Мы создаём систему управления для развития языка программирования Perl.
Область управления включает в себя определение языка, его реализацию, набор тестов, документацию, а также политику и процедуры, по которым он разрабатывается и поддерживается.
Система управления включает в себя определения групп, которые будут принимать решения, правила, по которым эти группы формируются и изменяются, а также перечисленные полномочия и ограничения на деятельность этих управляющих групп.
При формировании системы управления мы стремимся достичь следующих целей:
-
Мы хотим функциональную систему. Это означает, что управляющие группы могут принимать решение о крупных изменениях или действовать консервативно, но они будут действовать с намерением и ясной коммуникацией, а не будут откладывать принятие решений, когда это необходимо.
-
Мы хотим надёжную систему. Это означает, что разумный участник сообщества Perl может не согласиться с решениями, принятыми управляющими группами, но примет их как принятые добросовестно в консультации с соответствующими сообществами за пределами управляющих групп.
-
Мы хотим устойчивую систему. Это означает, что она имеет возможности самоизменения, включая способы добавления новых членов в управляющие группы, способы выживания членов, которые стали неактивными, и способы изменения самих правил управления при необходимости.
-
Мы хотим прозрачную систему. Это означает, что она будет отдавать предпочтение политике, которая управляет обычными вопросами публично, и отдавать предпочтение секретности в ограниченном числе ситуаций.
-
Мы хотим уважительную систему. Это означает, что она установит стандарты гражданского общения, которые позволят здоровое несогласие, но избегут озлобленности и враждебности в сообществе, за которое она отвечает.
Мандат
Управление языком Perl должно работать над:
-
Поддержанием качества, стабильности и непрерывности языка и интерпретатора Perl
-
Направлением эволюции языка и интерпретатора Perl
-
Установлением и контролем политики, процедур, систем и механизмов, которые позволяют сообществу участников языка и интерпретатора Perl
-
Поощрением дискуссии и консенсуса среди участников, как предпочтительнее формального принятия решений управляющими группами
-
Улучшением связи между участниками и внешними заинтересованными сторонами в более широком экосистеме Perl
Определения
Этот документ описывает три роли, вовлечённые в управление:
- "Команда разработчиков"
- "Руководящий совет"
- "Администратор голосования"
Следуют разделы по каждой из них.
Команда разработчиков
Команда разработчиков - группа доверенных добровольцев, участвующих в текущем развитии языка и интерпретатора Perl. Они не обязаны быть разработчиками языка или коммитерами.
Ссылки на конкретные голоса объяснены в разделе "Правила голосования".
Права
Помимо их вклада в язык Perl, Команда разработчиков устанавливает правила управления Perl, решает, кто участвует в какой роли в управлении, и делегирует существенные полномочия по принятию решений Руководящему совету.
В частности:
-
Они избирают Руководящий совет и имеют право удалять членов Руководящего совета.
-
Вместе с Руководящим советом они управляют членством в Команде разработчиков.
-
Вместе с Руководящим советом они имеют право изменять Правила управления Perl.
Команда разработчиков не имеет полномочий в отношении частей экосистемы Perl, не связанных с разработкой и выпуском самого языка. К ним относятся, но не ограничиваются:
-
Фонд Perl
-
Администрирование CPAN и авторы CPAN
-
perl.org, metacpan.org и другие поддерживаемые сообществом веб-сайты и сервисы
-
Конференции и мероприятия по Perl, кроме тех, которые организованы непосредственно Командой разработчиков
-
Интеллектуальная собственность по Perl, которая по закону принадлежит третьим сторонам, за исключением случаев, разрешённых соответствующими лицензиями или соглашениями
Членство
Изначальные члены Команды разработчиков будут указаны при первой ратификации этого документа.
Любой член Команды разработчиков может выдвинуть кандидатуру на добавление в Команду разработчиков, отправив выдвижение в Руководящий совет. Руководящий совет должен одобрить или отклонить выдвижение. При одобрении Руководящий совет организует голосование по изменениям членства для ратификации добавления.
Члены Команды разработчиков должны продемонстрировать:
-
Долгий опыт позитивного и полезного участия
-
Значительные contributions к целям проекта в любой форме
-
Готовность посвятить некоторое время улучшению Perl
Вклад не ограничивается кодом. Вот неполный список областей, где contributions могут быть рассмотрены для вступления в Команду разработчиков:
-
Работа над управлением и связями с сообществом
-
Предоставление поддержки на почтовых списках, IRC или других форумах
-
Управление заявками
-
Написание исправлений (код, документация или тесты)
-
Проверка исправлений (код, документация или тесты)
-
Участие в обсуждениях дизайна
-
Предоставление опыта в определённой области (безопасность, локализация и т. д.)
-
Управление инфраструктурой Perl (сайты, CI, документация и т. д.)
-
Поддержка значительных проектов в экосистеме Perl
-
Создание визуальных дизайнов
Членство в Команде разработчиков признаёт постоянные и ценные усилия, которые хорошо сочетаются с философией и целями проекта Perl.
Члены Команды разработчиков должны действовать как образцы для сообщества и хранители проекта от имени сообщества и всех, кто полагается на Perl.
Срок полномочий
Члены Команды разработчиков занимают свои должности до их отстранения.
Удаление
Члены Команды разработчиков могут подать в отставку в любое время.
В исключительных случаях может потребоваться отстранить кого-либо из Команды разработчиков вопреки его желанию, например, за вопиющие или повторяющиеся нарушения Кодекса поведения. Любой член Команды разработчиков может направить запрос на отзыв в Руководящий совет, указав лицо, подлежащее удалению. Руководящий совет должен одобрить или отклонить запрос на отзыв. При одобрении Руководящий совет организует голосование по изменениям членства для ратификации удаления.
Если удалённый член также входит в Руководящий совет, то он также удаляется из Руководящего совета.
Неактивность
Члены Команды разработчиков, которые прекратили участие, должны объявить себя «неактивными». Неактивные члены не выдвигают кандидатуры и не голосуют. Неактивные члены могут объявить себя активными в любое время, кроме случаев, когда было предложено голосование и оно не завершено. Право выдвигать кандидатуры и голосовать будет определяться Администратором голосования.
Для записи и признания их contributions, неактивные члены Команды разработчиков будут продолжать отображаться вместе с активными членами.
Недоверие к Руководящему совету
Команда разработчиков может удалить либо отдельного члена Руководящего совета, либо весь Руководящий совет через голосование по недоверию.
Голосование по недоверию инициируется, когда член Команды разработчиков публично обращается к нему на соответствующем канале связи проекта, и другой член Команды разработчиков поддерживает предложение.
Если голосование по недоверию удаляет всех членов Руководящего совета, Администратор голосования по недоверию затем организует выборы для избрания нового Руководящего совета.
Изменение правил управления Perl
Любой член Команды разработчиков может предложить изменить Правила управления Perl, направив предложение в Руководящий совет. Руководящий совет должен принять решение об одобрении или отклонении предложения. При одобрении Руководящий совет организует голосование по поправкам.
Правила голосования
Для проведения голосований по изменениям членства, поправкам и недоверию требуется 2/3 голосов участвующих членов Команды разработчиков для принятия.
Последующий Администратор голосования должен быть выбран в соответствии с правилами в разделе «Администратор голосования».
Голосование происходит в два этапа:
-
Администратор голосования описывает предложение, по которому будет проводиться голосование. Команда разработчиков затем может обсудить этот вопрос перед голосованием.
-
Активные члены Команды разработчиков голосуют «за» или «против» предложения. Голосование проводится анонимно.
Для голосования по изменениям членства каждый этап будет длиться одну неделю. Для голосования по поправкам и недоверию каждый этап будет длиться две недели.
Руководящий совет
Руководящий совет - комитет из 3 человек, избираемый Командой разработчиков. Кандидаты не обязаны быть членами Команды разработчиков. Кандидаты, не являющиеся членами, добавляются в Команду разработчиков в случае избрания, как если бы они были избраны голосованием по изменениям членства.
Ссылки на конкретные выборы объясняются в разделе «Правила выборов».
Права
Руководящий совет имеет широкие полномочия принимать решения о разработке языка Perl, интерпретатора и всех других компонентов, систем и процессов, которые приводят к новым выпускам интерпретатора языка.
Например, он может:
END_OF_DOCUMENT_MARKER-
Управление расписанием и процессом выпуска новых релизов
-
Установление процедур для предложения, обсуждения и принятия решений об изменениях языка
-
Делегирование полномочий отдельным лицам внутри или вне Совета Руководства
Решения Совета Руководства принимаются большинством голосов членов совета, не имеющих вакантных мест.
Совет Руководства должен искать способы как можно реже использовать эти полномочия. Вместо голосования лучше добиваться консенсуса. Вместо вынесения решений по отдельным случаям, лучше определять стандарты и процессы, которые применяются ко всем случаям.
Как и Команда Ядра, Совет Руководства не имеет полномочий в отношении частей экосистемы Perl, не связанных с разработкой и выпуском самого языка.
Совет Руководства не имеет права изменять Правила Управления Perl, за исключением случаев, предусмотренных в разделе «Изменение Правил Управления Perl».
Срок
Новый Совет Руководства будет избран в результате выбора по сроку после каждого стабильного выпуска функций (то есть изменения PERL_REVISION или PERL_VERSION) или через два года, в зависимости от того, что наступит раньше. Выборы по сроку будут организованы в течение двух недель после события-триггера. Члены совета будут исполнять свои обязанности до завершения следующих выборов по сроку, если они не будут удалены.
Удаление
Члены Совета Руководства могут в любое время подать в отставку.
В случае наличия вакансий в Совете Руководства, совет организует внеочередные выборы в течение одной недели после возникновения вакансии. Если весь Совет Руководства становится вакантным, вместо этого проводятся выборы по сроку.
Совет Руководства может отложить внеочередные выборы на срок до двенадцати недель. Их намерение должно быть публично заявлено Команде Ядра. Если любой активный член Команды Ядра возразит в течение одной недели, внеочередные выборы должны быть организованы в течение двух недель. В любое время Совет Руководства может отменить отсрочку и немедленно приступить к организации внеочередных выборов.
Если член Совета Руководства скончался или потерял связь и с ним невозможно связаться в течение месяца или дольше, остальные члены совета могут проголосовать за объявление его места вакантным. Если отсутствующий член возвращается после такого объявления, он не восстанавливается автоматически, но может баллотироваться на внеочередных выборах для заполнения вакансии.
В противном случае, члены Совета Руководства могут быть удалены до окончания срока их полномочий только посредством голосования «недоверия» со стороны Команды Ядра.
Правила выборов
Выборы по сроку и внеочередные выборы проводятся по системе ранжирования выборов, чтобы создать упорядоченный список кандидатов для заполнения вакансий в Совете Руководства.
Администратор голосования должен быть выбран в соответствии с правилами раздела «Администратор голосования».
И выборы по сроку, и внеочередные выборы проводятся в два этапа:
-
Кандидаты объявляют о своем желании баллотироваться. Кандидаты должны быть выдвинуты активным членом Команды Ядра. Допускаются самовыдвижения. Выдвинутые кандидаты могут поделиться с Командой Ядра заявлением о своей кандидатуре.
-
Если количество кандидатов не превышает количества свободных мест, голосование не требуется. Кандидаты считаются избранными по окончании периода выдвижения.
В противном случае, активные члены Команды Ядра голосуют, ранжируя всех кандидатов. Голосование проводится анонимно. После завершения голосования кандидаты ранжируются с использованием режима пропорционального представительства сервиса Condorcet Internet Voting Service. В случае возникновения ничьи, она может быть разрешена по взаимному соглашению между кандидатами, или же ничья будет разрешена случайным выбором Администратором голосования.
Любой член Команды Ядра, исключенный из неё, не может баллотироваться в Совет Руководства, если не будет восстановлен в Команде Ядра.
Для выборов по сроку каждый этап будет длиться две недели. По окончании второго этапа трое кандидатов с наивысшими рейтингами избираются новыми членами Совета Руководства.
Для внеочередных выборов каждый этап будет длиться одну неделю. По окончании второго этапа вакансии заполняются из упорядоченного списка кандидатов до тех пор, пока все вакансии не будут заполнены.
Первые выборы Совета Руководства будут выборами по сроку. Рикардо Сигне будет Администратором голосования для первоначальных выборов по сроку, если он не является кандидатом, в противном случае он выберет некандидата в качестве администратора, чтобы заменить себя.
Администратор голосования
Для каждого голосования требуется Администратор голосования, который управляет коммуникацией, сбором тайных бюллетеней и всеми другими необходимыми действиями для завершения процесса голосования.
Если не указано иное, Администратор голосования выбирается Советом Руководства.
Администратор голосования не должен быть членом Совета Руководства, кандидатом или субъектом голосования. Администратор голосования может быть членом Команды Ядра и, если это так, может проголосовать, одновременно исполняя обязанности администратора. Если Администратор голосования становится кандидатом во время голосования на выборах, он назначит некандидата на замену.
Если весь Совет Руководства вакантный или является объектом голосования «недоверия», Команда Ядра выбирает Администратора голосования по консенсусу. Если консенсус не может быть достигнут в течение одной недели, Президент Фонда Perl выбирает Администратора голосования.
Члены Совета Руководства
-
Neil Bowers
-
Paul Evans
-
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 Golden <xdg@xdg.me>
- David Mitchell <davem@iabyn.com>
- H. Merijn Brand <perl5@tux.freedom.nl>
- Hugo van der Sanden <hv@crypt.org>
- James E Keenan <jkeenan@cpan.org>
- Jason McIntosh <jmac@jmac.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>
Неактивные члены
- Abhijit Menon-Sen <ams@toroid.org>
- Andy Dougherty <doughera@lafayette.edu>
- Jan Dubois <jan@jandubois.com>
- Jesse Vincent <jesse@fsck.com>
© 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.36.0/perlgov