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. In addition, the committee helps decide the technical direction of the Ansible project. It is responsible for approving 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.

Current Steering Committee members

The following table lists the current Steering Committee members. See Steering Committee past members for a list of past members.

Current Steering committee members

Name

GitHub

Start year

Alexei Znamensky

russoz

2022

Alicia Cozine

acozine

2021

Andrew Klychkov

Andersson007

2021

Brian Scholer

briantist

2022

Dylan Silva

thaumos

2021

Felix Fontein

felixfontein

2021

James Cassell

jamescassell

2021

John Barker

gundalow

2021

Mario Lenz

mariolenz

2022

Markus Bergholz

markuman

2022

Maxwell G

gotmax23

2022

Sorin Sbarnea

ssbarnea

2021

John Barker (gundalow) has been elected by the Committee as its Chairperson.

Committee members are selected based on their active contribution to the Ansible Project and its community. See Steering Committee membership guidelines to learn details.

Creating new policy proposals & inclusion requests

The Committee uses the Ansible Forum to asynchronously discuss with the Community and vote on the proposals in corresponding community topics.

You can create a community topic (make sure you use the Project Discussions category and the community-wg tag) if you want to discuss an idea that impacts any of the following:

  • Ansible Community

  • Community collection best practices and requirements

  • Community collection inclusion/exclusion policy and workflow

  • 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 Ansible community package collections requirements:

  1. Submit a new pull request against the document by clicking the Edit button on its web page.

  2. Create a community topic containing the rationale for the proposed changes.

To submit new collections for inclusion into the Ansible package:

  • Submit the new collection inclusion requests through a new discussion in the ansible-inclusion 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:

Community topics workflow

The Committee uses the Community topics workflow to asynchronously discuss and vote on the community topics.

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.

Community topics triage

The Committee conducts a triage of community topics periodically (every three to six months).

The triage goals are:

  • Sparking interest for forgotten topics.

  • Identifying and closing irrelevant topics, for example, when the reason of the topic does not exist anymore or the topic is out of the Committee responsibilities scope.

  • Identifying and closing topics that the Community are not interested in discussing. As indicators, it can be absence of comments or no activity in comments, at least, for the last six months.

  • Identifying and closing topics that were solved and implemented but not closed (in this case, such a topic can be closed on the spot with a comment that it has been implemented).

  • Identifying topics that have been in pending state for a long time, for example, when it is waiting for actions from someone for several months or when the topics were solved but not implemented.

A person starting the triage:

  1. Identifies the topics mentioned above.

  2. Creates a special triage topic containing an enumerated list of the topics-candidates for closing.

  3. Establishes a vote date considering a number of topics, their complexity and comment-history size giving the Community sufficient time to go through and discuss them.

  4. The Community and the Committee vote on each topic-candidate listed in the triage topic whether to close it or keep it open.

Collection inclusion requests workflow

When reviewing community collection inclusion requests, the Committee members check if a collection adheres to the Ansible community package collections requirements.

Note

The Steering Committee can reject a collection inclusion request or exclude a collection from the Ansible package even when the collection satisfies the requirements if the Steering Committee agrees that presence of the collection will significantly deteriorate the Ansible package user experience or the package build process. In case of rejection/removal, the collection maintainers receive comprehensive feedback from the Committee explaining the reasons of starting the process. In case the reasons are fixable, the feedback will contain information what the maintainers need to change.

  1. A Committee member who conducts the inclusion review copies the Ansible community collection checklist into a corresponding discussion.

  2. 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).

  3. For a collection to be included in the Ansible community package, the collection:

  • MUST be reviewed and approved by at least two persons, where at least one person is a Steering Committee member.

  • For a Non-Steering Committee review to be counted for inclusion, it MUST be checked and approved by another Steering Committee member.

  • Reviewers must not be involved significantly in development of the collection. They must declare any potential conflict of interest (for example, being friends/relatives/coworkers of the maintainers/authors, being users of the collection, or having contributed to that collection recently or in the past).

  1. After the collection gets two or more Committee member approvals, a Committee member creates a community topic 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.

  2. If no objections are raised up to the established date, the inclusion request is considered successfully resolved. In this case, a Committee member:

  1. Declares the decision in the topic and in the inclusion request.

  2. Moves the request to the Resolved reviews category.

  3. Adds the collection to the ansible.in file in a corresponding directory of the ansible-build-data repository.

  4. Announces the inclusion through the Bullhorn newsletter.

  5. Closes the topic.

Collection exclusion workflow

The Committee uses the Ansible Community Package Collections Removal Process to remove collections not satisfying the Ansible community package collections requirements from the Ansible package.

Community Working Group meetings

See the Community Working Group meeting schedule. Meeting summaries are posted on the Forum.

Note

Participation in the Community Working Group meetings is optional for Committee members. Decisions on community topics are made asynchronously in the topics themselves.