# Draft for SC voting process on the forum

**URL:** <https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410>\
**Category:** Project Discussions\
**Tags:** community-meeting, process, steering-committee\
**Created:** [October 4, 2023, 6:45pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410 "2023-10-04T18:45:43Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [October 4, 2023, 6:45pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/1 "2023-10-04T18:45:43Z")

</div>

The [@SteeringCommittee](https://forum.ansible.com/groups/steeringcommittee) is discussing changing its voting process to use the forum instead of the current Github Discussions approach in [[associated vote ended on 2023-11-08] Proposal: allow votes to be conducted in the forum · Issue #273 · ansible-community/community-topics · GitHub](https://github.com/ansible-community/community-topics/issues/273). We are using this wiki post to collaboratively edit our current policy to reflect the way the process will look in the forum. See [Lets try a vote in the SC style](http://forum.ansible.com/t/lets-try-a-vote-in-the-sc-style/150) for our previous trial run of the new voting process.

The current text of our voting policy from [community-topics/community\_topics\_workflow.md at main · ansible-community/community-topics · GitHub](https://github.com/ansible-community/community-topics/blob/main/community_topics_workflow.md) follows:

* * *

# Ansible Community Topics Workflow

## Overview

**Warning:** Subject to frequent updates. This is a “living document”, expect it to change as we progress with the Community Topics workflow over the next few months.

This document describes the Ansible Community Steering Committee Topics workflow (hereinafter `Workflow`) to provide guidance on successful resolving topics in the asynchronous way.

The Workflow is a set of actions that need to be done successively within the corresponding time frames.

**Note:** If you have any ideas on how the Workflow can be improved, please create an issue in this repository or pull request against this document.

## Creating a topic

Any user can created a topic [tagged with steering-committee under Project Discussions](http://forum.ansible.com/tags/c/project/7/steering-committee) in the Ansible Forum. A steering committee member can tag the forum post with #community-meeting to put it on the meeting agenda.

## Workflow

**Note:** This is a rough scenario and it can vary depending on a topic’s complexity and other nuances, for example, when there is a mass agreement up-front.

### Preparation stage

- A Committee person checks the topic’s content, asks the author / other persons to provide additional information if needed (adds the `waiting` label in this case).

### Discussion stage

- If the topic is ready to be discussed, the Committee person:
  - Opens the discussion by adding a comment asking the Community and the Committee to take part in it.

- No synchronous discussion is needed (there are no blockers, complications, confusion, or impasses).

### Voting stage

- Depending on the topic’s complexity, 1-2 weeks after the discussion was opened, the Committee person formulates vote options based on the prior discussion and gives participants reasonable amount of time to propose changes to the options (no longer than a week). The person summarizes the options in a comment and also establishes a date when the vote begins if there are no objections about the options / vote date.
- In the vote date, the vote starts with the comment of a Committee person which opens the vote and establishes a date when the vote ends ($CURRENT\_DATE + no longer than 21 days; usually it should not exceed 14 days, 21 days should only be used if it is known that a lot of interested persons will likely not have time to vote in a 14 days period).
- The Committee person labels the topic with the `active-vote` label and moves the topic to the `Active Vote` column on the [Board](https://github.com/orgs/ansible-community/projects/2/views/5).
- The Committee person adds `[Vote ends on $YYYY-MM-DD]` to the beginning of the topic’s description.
- A vote is actually 2 polls, one for the SC, one for everyone else. To create a vote in a topic:
  - Create a new post in the topic
  - Click the ⚙ button in the composer and select Build Poll
  - Click the ⚙ in the Poll Builder for advanced mode
  - Set up the options (generally this will be Single Choice but other poll types can be used)
  - Title it “Steering Committee vote” and “Limit voting” to the SC
  - Set the closing date of the poll (N.B. this cannot be changed later, do not set it if you need flexibility in the close date)
  - Results should be “Always Visible” unless there is some good reason for the SC votes not to be public
  - Submit the poll (the BBcode will appear in the post) and then repeat the above for the second poll
    - Title should be “Community vote”
    - No group limitation
    - Results “Staff only” (i.e. an anonymous vote, but admins can check if there are concerns)

### Voting result stage

- The next day after the last day of the vote, the Committee person:

- At least two Steering Committee members count the votes and summarize the result in comments.

- The vote’s result and the final decision are announced via the [Bullhorn](https://github.com/ansible/community/issues/546).

### Implementation stage

- If the topic implies some actions (if it does not, just mark this as complete), the Committee person:

- After the topic is implemented, the assignee:

- If the topic implies actions related to the future Ansible Community package releases (for example, a collection exclusion), the Committee person:

- A Committee person moves the topic to the `Resolved` column on the [Board](https://github.com/orgs/ansible-community/projects/2/views/5) and closes the topic.

### Tools

We have some [scripts](https://github.com/ansible-community/community-topics/tree/main/scripts) that can be used to create Ansible community announcements on Bullhorn and similar.

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [October 4, 2023, 6:54pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/2 "2023-10-04T18:54:28Z")

</div>

## Commit log

- @gotmax23 added a `Creating a topic` section
- @gotmax23 removed irrelvant points from `Discussion stage`
- @gwmngilfen added #process tag for finding all our processes

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [October 4, 2023, 7:37pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/3 "2023-10-04T19:37:39Z")

</div>

FYI we have MermaidJS support, so if you want to attempt a flowchart, go for it… 🙂

---

<div class="post-metadata">

**Author:** ![Andersson007](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andersson007/32/89_2.png) [@Andersson007](https://forum.ansible.com/u/Andersson007)\
**Post date:** [October 9, 2023, 8:53am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/4 "2023-10-09T08:53:46Z")

</div>

@gotmax23 LGTM, thanks!  
I see no objections here.  
Let’s tern it into a PR and start the vote maybe?🙂

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [October 9, 2023, 3:40pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/5 "2023-10-09T15:40:34Z")

</div>

Not yet 🙂. It’s still missing important details about the forum.

---

<div class="post-metadata">

**Author:** ![Andersson007](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andersson007/32/89_2.png) [@Andersson007](https://forum.ansible.com/u/Andersson007)\
**Post date:** [October 11, 2023, 7:20am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/6 "2023-10-11T07:20:04Z")

</div>

@gotmax23 which details?🙂 l’m eager to start governing on the forum:)  
UPDATE: Details are just details, even if they are important.

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [October 11, 2023, 3:29pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/7 "2023-10-11T15:29:45Z")

</div>

> [@Andersson007](#):
>
> @gotmax23 which details?🙂

It doesn’t actually say how to create votes on the forum, and there are multiple parts that refer to old process in Github that are inapplicable to the forum. I’ve been busy this past week, so I haven’t been able to finish this. I’d welcome help to finish this up.

> [@Andersson007](#):
>
> l’m eager to start governing on the forum:)

Me too!

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [October 12, 2023, 9:15am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/8 "2023-10-12T09:15:17Z")

</div>

> [@gotmax23](#):
>
> It doesn’t actually say how to create votes on the forum

Can I help here @gotmax23? Is [this video](https://www.youtube.com/watch?v=wAByduL2_qA&list=PL0FmYCf7ocrbiw9_oGPL3awRZ5jAGDcGm&index=6&pp=gAQBiAQB) sufficient? Do I need to write up something here, or in the #forum-tips tag?

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [October 12, 2023, 4:58pm UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/9 "2023-10-12T16:58:24Z")

</div>

Yes! I would add a section `Creating a vote` to the text above that briefly explains the process.

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [October 13, 2023, 8:34am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/10 "2023-10-13T08:34:52Z")

</div>

I’ve updated [the voting section](http://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410#voting-stage-7) with some notes. Let me know if that reads OK, and maybe give it a try?

One thing we should decide (we can always change it of course) is that the votes have two modes…

- Create it with a closing date pre-set
  - Pro: don’t have to remember to close the vote
  - Con: closing date can’t be modified if we need to extend it

- Don’t give a closing date. Inverse of the above, we have to remember to close but we can choose when.

I’ve worded it around option 1, but if we keep hitting situations where we want to extend votes, then 2 is the way to go, and we should update the docs.

---

<div class="post-metadata">

**Author:** ![Andersson007](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andersson007/32/89_2.png) [@Andersson007](https://forum.ansible.com/u/Andersson007)\
**Post date:** [October 17, 2023, 8:43am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/11 "2023-10-17T08:43:19Z")

</div>

@gwmngilfen if we decide to proceed with vote auto closing, will participants get notifications when it happens?  
If there’s a feature that allows people get notifications `without closing votes` it’d be ideal, i.e. “the vote will end today, please take a look” or something.

The issue is that we sometimes ping missing people in the last day or a day before when the quorum is not reached…  
But if there’s no such a feature, OK, we could imo proceed with option 1 but update the policy saying something like “If the vote gets closed and there’s no quorum, the vote can be re-opened”.

The question about the notifications (at least after auto closing) is relevant anyway.

EDITED: oh, now i see `Con: closing date can’t be modified if we need to extend it`. So it’s an issue as per the above, let’s proceed with “w/o closing date”?

---

<div class="post-metadata">

**Author:** ![gwmngilfen](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gwmngilfen/32/6_2.png) [@gwmngilfen](https://forum.ansible.com/u/gwmngilfen)\
**Post date:** [October 17, 2023, 8:48am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/12 "2023-10-17T08:48:26Z")

</div>

Yep, you also can’t re-open a poll with a closing date, it’s fixed. You’d need a new poll.

However, I think the idea of a ping is not a bad one, so I will research it. To my knowledge, there is no automatic feature for this, so I will raise it with CDCK. However, we have a couple of other ways to achieve it - there’s a plugin called Discourse-Automation which can do many things, and if that doesn’t work, we can always script it via the API. I already have [this page](https://connect.eng.ansible.com/open_polls/) which lists open polls, extending it to post back wouldn’t be hard.

---

<div class="post-metadata">

**Author:** ![Andersson007](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andersson007/32/89_2.png) [@Andersson007](https://forum.ansible.com/u/Andersson007)\
**Post date:** [October 17, 2023, 9:19am UTC](https://forum.ansible.com/t/draft-for-sc-voting-process-on-the-forum/1410/13 "2023-10-17T09:19:05Z")

</div>

@gwmngilfen thanks!

Folks look:

- I created a PR against the current workflow [community\_topics\_workflow.md: change to conduct them on Forum by Andersson007 · Pull Request #277 · ansible-community/community-topics · GitHub](https://github.com/ansible-community/community-topics/pull/277) based on the description of this topic. Thanks! Please take a look
- Should we create the following tags we used in the topics WF in that repo? We can create a group for them and restrict usage for SC group only. Let’s create them?
  - active-vote
  - vote-ended
  - being\_implemented
  - implemented
  - scheduled\_for\_future\_release
  - collection\_inclusion
