.. _community_steering_guidelines:

Steering Committee membership guidelines
==========================================

This document describes the expectations and policies related to membership in the :ref:`Ansible Community Steering Committee <steering_responsibilities>` (hereinafter the Committee).

.. contents:: Topics:

.. _steering_expectations:

Expectations of a Steering Committee member
-------------------------------------------


As a Committee member, you agree to:

#. Abide by the :ref:`code_of_conduct` in all your interactions with the Community.
#. Be a Community ambassador by representing its needs within the Committee and throughout the decision making process.
#. Asynchronously participate in discussions and voting on the `Community Topics <https://github.com/ansible-community/community-topics/issues>`_.
#. Review other proposals of importance that need the Committee's attention and provide feedback.
#. Act for the sake of the Community by not promoting corporate or individual agenda during the decision making process.
#. Engage with the Community in a professional and positive manner, encourage community members to express their opinion.

.. _Joining the committee:

Joining the Steering Committee
-------------------------------

Eligibility
^^^^^^^^^^^

A person is eligible to become a Committee member if they have:

#. A wide knowledge of Ansible and/or its related projects.
#. Active contributions to  Ansible and/or related projects in any form described in the :ref:`collections_contributions`.
#. A consent to follow the :ref:`steering_expectations`.

Process
^^^^^^^^

The process to join the Steering Committee consists of the following steps:

#. Any community member may nominate someone or themselves for Committee membership by contacting one of the :ref:`current Committee members <steering_members>`) or by sending an email to ``ansible-community@redhat.com``.
#. A Committee member who receives the nomination must inform the Committee about it by forwarding the full message.
#. The vote is conducted by email. Nominees must receive a majority of votes from the present Committee members to be added to the Committee.
#. Provided that the vote result is positive, it is announced via the `Bullhorn <https://github.com/ansible/community/wiki/News#the-bullhorn>`_ newsletter and the new member is added to the :ref:`Committee member list <steering_members>`.

Leaving the Steering Committee
-------------------------------

Steering Committee members can resign voluntarily or be removed by the
rest of the Steering Committee under certain circumstances. See the details
below.

.. _Voluntarily leaving process:

Voluntarily leaving the Steering Committee
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A Committee member can voluntarily leave the Committee.
In this case, they notify the other members, create an issue in the `Community Topics <https://github.com/ansible-community/community-topics/issues>`_ repository announcing the resignation, and after that they are no longer considered Committee members.

Committee members who resign and later change their mind can
rejoin the Committee by following the :ref:`Process for joining the Steering Committee<Joining the committee>`.

Involuntarily leaving the Steering Committee
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A Committee member will be removed from the Committee if they:

#. Do not participate in asynchronous discussions and voting on the `Community Topics <https://github.com/ansible-community/community-topics/issues>`_ for more than 3 months in a row.
#. Participate unreasonably irregularly (for example, once a month for several months). Unreasonably is defined by other Committee members considering circumstances in each particular case.
#. Violate the :ref:`code_of_conduct`.

.. _Absence or irregular participation removal process:

Absence or irregular participation in discussing topics and votes
..................................................................

In case of absence or irregular participation, the involuntarily removal process consists of the following steps:

#. Another Committee member (hereinafter the initiator) contacts the person by email asking if they are still interested in fulfilling their Committee member's duties.
#. If they respond that they are not interested, the initiator asks the person to step down on their own following the :ref:`Voluntarily leaving process<Voluntarily leaving process>`.
#. If there has been no response or stepping down issue created by the person within a reasonable time, the initiator notifies other Committee members about the situation.
#. In case of agreement among the Committee about the need for removal, the initiator provides a draft of a corresponding topic's description to the Committee via email for discussion and approval.

  * The topic's title is ``Steering Committee member audit.``. It must not contain the person's name or other identifying information.

  * The description must not contain or imply any forms of condemnation.

  * It must mention that the person has been inactive for an unknown reason for the last N months and that, in accordance with the Steering Committee policies, their place should be freed for another person who can continue their great job.

  * The description must mention person's achievements and thanks for their time and effort they spent serving for the Community, Committee, and the Project, and a hope that one day they will come back.

#. The initiator creates the topic in the `Community Topics <https://github.com/ansible-community/community-topics/issues>`_ repository containing the description and the title from the draft.
#. The Committee members vote on the topic.

Ansible Community Code of Conduct violations
.............................................

In case of the `Ansible Community Code of Conduct <https://docs.ansible.com/ansible/latest/community/code_of_conduct.html>`_ violations, the process is the same as above except steps 1-2. Instead:

#. The initiator reports the case to the Committee via email.

#. The Committee discusses the case internally, evaluates its severity, and possible solutions.

#. If the Committee concludes that the violation is not severe, it develops a proposal to the person on how the situation can be corrected and further interactions with the Community improved.

#. A Committee representative reaches out to the person with the proposal.

#. The removal process starts if:

  * The Committee decided that the severity of the violation excludes a possibility of further membership.

  * The person does not respond to the proposal.

  * The person explicitly rejects the proposal.

In case of starting the removal process, the topic's description in the reason's part changes correspondingly.

.. _chairperson:

Chairperson
------------

The chairperson election will happen once a year around the time of
Ansible Fest. If the current chairperson has to step down early, the election happens immediately.

The process of the election consist of the following steps:

#. Members interested in being the chairperson will inform a
   person responsible for arranging the election about that.
#. Conduct anonymous voting somewhere.
#. Internally and publicly announce the elected candidate.

The chairperson has the following powers unlike regular members:

* The chairperson's vote breaks ties to resolve deadlocks when equal numbers of steering committee members vote for and against a `community topic <https://github.com/ansible-community/community-topics/issues>`_.
