September 8, 2023

Голосование на VIII Съезде: технический аспект

Организационный комитет VIII Съезда ЛПР представляет вниманию членов партии технический инструмент для голосования делегатов по вопросам повестки Съезда.

Вопросы для рассмотрения Съездом делятся на три основных типа:

  1. открытые голосования по вопросам, формулировка которых подразумевает решение вида "за / против / воздержался" либо установление предпочтительного варианта на рейтинговом голосовании;
  2. тайные голосования на выборах в коллегиальные органы (ФК, ЭК, ЦКРК);
  3. тайные голосования на выборах Председателя ЛПР (высшего выборного должностного лица).

В качестве основной среды для голосования предлагается мессенджер Telegram. Открытые голосования могут проводиться встроенными средствами мессенджера — неанонимными опросами:

Открытое голосование

Для тайных голосований на Съезде предлагается воспользоваться телеграм-ботом на основе кода, написанного сторонником МРО ЛПР Антоном Волокитиным и незначительно доработанного Оргкомитетом*. Аналогичный бот использовался для проведения тайных голосований на общих собраниях МРО в ноябре 2022 и августе 2023.

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

В своей нынешней версии бот позволяет проводить простые и преференциальные тайные голосования.

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

При выборе команды /start в общении с ботом вы увидите текущее голосование. (Если недавно завершилось другое голосование, бот может попросить нажать /start заново -- это не сбой, а ожидаемое поведение).

На снимке вы видите условные простые выборы в ситуации "5 кандидатов на 3 места". Вы выбираете троих кандидатов (в любом порядке), нажимая соответствующие кнопки.

На каждом этапе вы видите (во всплывающем уведомлении и в самом сообщении бота), за кого уже отдали голос.

В процессе голосования вы можете вернуться на шаг назад и переголосовать, если допустили ошибку (кнопка "Отменить предыдущий выбор"), полностью отменить свой выбор и начать заполнять бюллетень заново (кнопка "Начать сначала"), либо прекратить голосование и зафиксировать свои голоса (кнопка "Подтвердить голоса"). Это позволяет вам проголосовать за меньшее число кандидатов, чем количество мест в органе, и такой голос будет засчитан.

После выбора кандидатов в пределах количества мест в органе у вас остаются опции скорректировать либо подтвердить свои голоса.
Ваши голоса подтверждены и повлияют на итоги выборов.

ВНИМАНИЕ! Ваш выбор записывается только при нажатии кнопки "Подтвердить голоса". Не забудьте нажать её в конце своего голосования. Если на тот момент, когда голосование в боте будет остановлено, вы не нажали эту кнопку — ваш голос не засчитается. Будьте внимательны.

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

3 из 3 избирателей проголосовали.

— и в нужный момент остановить голосование и подвести его публичные итоги:

Бот публикует результаты выборов.

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

Первым нажимаете на наиболее предпочитаемого вами кандидата.
В процессе бот говорит вам, кого вы уже расставили и сколько ещё осталось.
Не забудьте подтвердить свой выбор!

На снимке вы видите условные преференциальные выборы в ситуации "7 кандидатов на 5 мест". Вы расставляете всех 7 кандидатов в порядке предпочтения — первый (наиболее предпочтительный для вас) получает от вас 7 условных баллов, второй 6 и так далее; последний получает от вас 1 балл.

Если все проранжировали всех, то число голосов будет совпадать, но распределение баллов будет отличаться.

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

Также бот корректно обрабатывает ситуацию равенства голосов (пример с московского собрания). В таком случае отдельным голосованием проводится второй тур.

* Full disclosure:
После форка от бота Антона в версии за 30.08.2023 в дальнейшей ревизии и написании кода принимал участие Сергей Карнавский, член Оргкомитета Съезда и кандидат в центральные органы.
Во избежание возможных подозрений и конфликта интересов @Siergiej готов показать членам партии получившийся исходный код бота на Python (по запросу в личке).
Во время голосований Съезда единственным техническим администратором бота будет член МРО Дмитрий Игнатенко, не имеющий отношения к написанию бота и не являющийся кандидатом в центральные органы.

Рекомендация Оргкомитета Съезда

Оргкомитет рекомендует VIII Съезду ЛПР принять следующее решение о порядке голосования на Съезде:

Провести голосования по вопросам повестки Съезда в электронной форме с помощью мессенджера Telegram:

1. Открытые — встроенными средствами Telegram (неанонимными опросами);

2. Тайные — посредством бота lpr_convent_bot в следующем порядке:

2.1. Выборы Председателя ЛПР (1 мандат) — простым голосованием, выбором из нескольких опций по числу выдвинувшихся кандидатов и дополнительной опцией "Против всех кандидатов";

2.2. Второй тур на выборах Председателя ЛПР (в случае, если ни один из кандидатов не набирает в первом туре более 50% голосов делегатов) — простым голосованием, выбором из кандидатов, занявших в предыдущем туре первое и второе место, в соответствии с п.6.15 Устава ЛПР;

2.3. Выборы в коллегиальные органы ФК, ЭК, ЦКРК (несколько мандатов) — преференциальным голосованием по всему списку выдвинувшихся кандидатов;

2.4. Второй и последующие туры на выборах в коллегиальные органы (в случае, если равенство голосов не позволяет однозначно установить избранный состав органа) — простым голосованием, выбором из кандидатов, набравших в предыдущем туре равное количество голосов и претендующих на один и тот же мандат.

Оргкомитет рекомендует Съезду самостоятельно определить, следует ли включать в п.2.3 опцию "против всех кандидатов".