mirror of https://github.com/ansible/ansible.git
Creat steering committee docs (#77330)
Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>pull/77196/merge
parent
ff184b0815
commit
2e69b5867e
@ -0,0 +1,138 @@
|
|||||||
|
|
||||||
|
.. _steering_responsibilties:
|
||||||
|
|
||||||
|
Steering Committee mission and responsibilities
|
||||||
|
===============================================
|
||||||
|
|
||||||
|
The Steering Committee mission is to provide continuity, guidance, and
|
||||||
|
suggestions to the Ansible community, to ensure the delivery and high quality of the Ansible package. The Committee helps decide the technical direction of the Ansible project and is responsible for approval of new proposals and policies in the community, package, and community collections world, new community collection-inclusion requests, and other technical aspects regarding inclusion and packaging.
|
||||||
|
|
||||||
|
The Committee should reflect the scope and breadth of the Ansible community.
|
||||||
|
|
||||||
|
Steering Committee responsibilities
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
The Committee:
|
||||||
|
|
||||||
|
* Designs policies and procedures for the community collections world.
|
||||||
|
* Votes on approval changes to established policies and procedures.
|
||||||
|
* Reviews community collections for compliance with the policies.
|
||||||
|
* Helps create and define roadmaps for our deliverables such as the ``ansible`` package, major community collections, and documentation.
|
||||||
|
* Reviews community collections submitted for inclusion in the Ansible package and decides whether to include them or not.
|
||||||
|
* Review other proposals of importance that need the Committee's attention and provide feedback.
|
||||||
|
|
||||||
|
.. _steering_members:
|
||||||
|
|
||||||
|
Current Steering Committee members
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
The following table lists the current Steering Committee members. See :ref:`steering_past_members` for a list of past members.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. table:: Current Steering committee members
|
||||||
|
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Name | GitHub | Start year |
|
||||||
|
+==================+===============+=============+
|
||||||
|
| Alicia Cozine | acozine | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Andrew Klychkov | Andersson007 | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Brad Thornton | cidrblock | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Brian Scholer | briantist | 2022 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Dylan Silva | thaumos | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Felix Fontein | felixfontein | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| James Cassell | jamescassell | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Jill Rouleau | jillr | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| John Barker | gundalow | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Markus Bergholz | markuman | 2022 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
| Sorin Sbarnea | ssbarnea | 2021 |
|
||||||
|
+------------------+---------------+-------------+
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Committee members are selected based on their active contribution to the Ansible Project and its community. See :ref:`community_steering_guidelines` to learn details.
|
||||||
|
|
||||||
|
Creating new policy proposals & inclusion requests
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
The Committee uses the `community-topics repository <https://github.com/ansible-community/community-topics/issues>`_ to asynchronously discuss with the Community and vote on Community topics in corresponding issues.
|
||||||
|
|
||||||
|
You can create a new issue in the `community-topics repository <https://github.com/ansible-community/community-topics/issues>`_ as a discussion topic if you want to discuss an idea that impacts any of the following:
|
||||||
|
|
||||||
|
* Ansible Community
|
||||||
|
* Community collection best practices and requirements
|
||||||
|
* Community collection inclusion policy
|
||||||
|
* The Community governance
|
||||||
|
* Other proposals of importance that need the Committee's or overall Ansible community attention
|
||||||
|
|
||||||
|
|
||||||
|
To request changes to the inclusion policy and collection requirements:
|
||||||
|
|
||||||
|
#. Submit a new pull request to the `ansible-collections/overview <https://github.com/ansible-collections/overview>`_ repository.
|
||||||
|
|
||||||
|
#. Create a corresponding issue containing the rationale behind these changes in the `community-topics repository <https://github.com/ansible-community/community-topics/issues>`_ repository.
|
||||||
|
|
||||||
|
To submit new collections for inclusion into the Ansible package:
|
||||||
|
|
||||||
|
* Submit the new collection inclusion requests through a new discussion in the `ansible-inclusion <https://github.com/ansible-collections/ansible-inclusion/discussions/new>`_ repository.
|
||||||
|
|
||||||
|
Depending on a topic you want to discuss with the Community and the Committee, as you prepare your proposal, please consider the requirements established by:
|
||||||
|
|
||||||
|
* :ref:`code_of_conduct`.
|
||||||
|
* `Ansible Collection Requirements <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst>`_.
|
||||||
|
* `Ansible Collection Inclusion Checklist <https://github.com/ansible-collections/overview/blob/main/collection_checklist.md>`_.
|
||||||
|
|
||||||
|
Community topics workflow
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The Committee uses the `Community-topics workflow <https://github.com/ansible-community/community-topics/blob/main/community_topics_workflow.md>`_ to asynchronously discuss and vote on the `community-topics <https://github.com/ansible-community/community-topics/issues>`_.
|
||||||
|
|
||||||
|
The quorum, the minimum number of Committee members who must vote on a topic in order for a decision to be officially made, is half of the whole number of the Committee members. If the quorum number contains a fractional part, it is rounded up to the next whole number. For example, if there are thirteen members currently in the committee, the quorum will be seven.
|
||||||
|
|
||||||
|
Votes must always have "no change" as an option.
|
||||||
|
|
||||||
|
In case of equal numbers of votes for and against a topic, the chairperson's vote will break the tie. For example, if there are six votes for and six votes against a topic, and the chairperson's vote is among those six which are for the topic, the final decision will be positive. If the chairperson has not voted yet, other members ask them to vote.
|
||||||
|
|
||||||
|
For votes with more than two options, one choice must have at least half of the votes. If two choices happen to both have half of the votes, the chairperson's vote will break the tie. If no choice has at least half of the votes, the vote choices have to be adjusted so that a majority can be found for a choice in a new vote.
|
||||||
|
|
||||||
|
Collection inclusion requests workflow
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
When reviewing community collection `inclusion requests <https://github.com/ansible-collections/ansible-inclusion/discussions>`_, the Committee members check if a collection adheres to the `Community collection requirements <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst>`_.
|
||||||
|
|
||||||
|
#. A Committee member who conducts the inclusion review copies the `Ansible community collection checklist <https://github.com/ansible-collections/overview/blob/main/collection_checklist.md>`_ into a corresponding `discussion <https://github.com/ansible-collections/ansible-inclusion/discussions>`_.
|
||||||
|
|
||||||
|
#. In the course of the review, the Committee member marks items as completed or leaves a comment saying whether the reviewer expects an issue to be addressed or whether it is optional (for example, it could be **MUST FIX:** <what> or **SHOULD FIX:** <what> under an item).
|
||||||
|
|
||||||
|
#. For a collection to be included in the Ansible community package, the collection must be reviewed and approved by at least two Committee members.
|
||||||
|
|
||||||
|
#. After the collection gets two or more Committee member approvals, a Committee member creates a `community topic <https://github.com/ansible-community/community-topics/issues>`_ linked to the corresponding inclusion request. The issue's description says that the collection has been approved by two or more Committee members and establishes a date (a week by default) when the inclusion decision will be considered made. This time period can be used to raise concerns.
|
||||||
|
|
||||||
|
#. If no objections are raised up to the established date, the inclusion request is considered successfully resolved. In this case, a Committee member:
|
||||||
|
|
||||||
|
#. Declares the decision in the topic and in the inclusion request.
|
||||||
|
#. Moves the request to the ``Resolved reviews`` category.
|
||||||
|
#. Adds the collection to the ``ansible.in`` file in a corresponding directory of the `ansible-build-data repository <https://github.com/ansible-community/ansible-build-data>`_.
|
||||||
|
#. Announces the inclusion through the `Bullhorn newsletter <https://github.com/ansible/community/wiki/News#the-bullhorn>`_.
|
||||||
|
#. Closes the topic.
|
||||||
|
|
||||||
|
Community Working Group meetings
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
See the Community Working Group meeting `schedule <https://github.com/ansible/community/blob/main/meetings/README.md#wednesdays>`_. Meeting summaries are posted in the `Community Working Group Meeting Agenda <https://github.com/ansible/community/issues?q=is%3Aopen+label%3Ameeting_agenda+label%3Acommunity+>`_ issue.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Participation in the Community Working Group meetings is optional for Committee members. Decisions on community topics are made asynchronously in the `community-topics <https://github.com/ansible-community/community-topics/issues>`_ repository.
|
||||||
|
|
||||||
|
The meeting minutes can be found at the `fedora meetbot site <https://meetbot.fedoraproject.org/sresults/?group_id=ansible-community&type=channel>`_ and the same is posted to `Ansible Devel Mailing List <https://groups.google.com/g/ansible-devel>`_ after every meeting.
|
@ -0,0 +1,137 @@
|
|||||||
|
.. _community_steering_guidelines:
|
||||||
|
|
||||||
|
Steering Committee membership guidelines
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
This document describes the expectations and policies related to membership in the `Ansible Community Steering Committee <https://github.com/ansible/community-docs/blob/main/ansible_community_steering_committee.rst>`_ (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
|
||||||
|
------------
|
||||||
|
|
||||||
|
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>`_.
|
@ -0,0 +1,29 @@
|
|||||||
|
.. _steering_past_members:
|
||||||
|
|
||||||
|
Steering Committee past members
|
||||||
|
================================
|
||||||
|
|
||||||
|
The Ansible Community is very grateful to these amazing **nonreplaceable**
|
||||||
|
people for their great service to the Community and the project!
|
||||||
|
|
||||||
|
|
||||||
|
.. table:: Steering Committee past members
|
||||||
|
|
||||||
|
+------------------+-----------+-------------------+
|
||||||
|
| Name | GitHub | Years of service |
|
||||||
|
+==================+===========+===================+
|
||||||
|
| Toshio Kuratomi | abadger | 2021 |
|
||||||
|
+------------------+-----------+-------------------+
|
||||||
|
| Tadej Borovšak | tadeboro | 2021-2022 |
|
||||||
|
+------------------+-----------+-------------------+
|
||||||
|
|
||||||
|
|
||||||
|
We'd also like to thank our past chairpersons for their contributions to Ansible.
|
||||||
|
|
||||||
|
.. table:: Steering Committee past chairpersons
|
||||||
|
|
||||||
|
+------------------+-----------+-------------------+
|
||||||
|
| Name | GitHub | Years of service |
|
||||||
|
+==================+===========+===================+
|
||||||
|
| Tadej Borovšak | tadeboro | 2021-2022 |
|
||||||
|
+------------------+-----------+-------------------+
|
@ -0,0 +1,14 @@
|
|||||||
|
.. _community_steering_committee:
|
||||||
|
|
||||||
|
************************************
|
||||||
|
Ansible Community Steering Committee
|
||||||
|
************************************
|
||||||
|
|
||||||
|
This section focuses on the guidelines and membership of the Ansible Community Steering Committee.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
community_steering_committee
|
||||||
|
steering_committee_membership
|
||||||
|
steering_committee_past_members
|
Loading…
Reference in New Issue