Project-Specific Roles¶
yt-project Members¶
A member is someone who has made continued and significant contribution to the project (changes to the codebase, discussion on mailing lists, feedback on pull requests, documentation, teaching, etc.) for some period of time. After such a period, potential new members are nominated for membership by an existing member and confirmed by positive votes from three additional members. Once a developer becomes a member, they remain a member for life. A member maintains the option to give up their membership and have their name removed from the list. Membership may be revoked for anyone who is deemed to be directly harmful to the project or the community upon a nomination by another member and five supporting member votes and an additional vote by the steering committee. Members may also elect to become emeritus members, and be recognized for their contributions to the project while also rescinding their write access to the project.
Upon the initial creation of yt membership status, all developers that had contributed at least 50 changesets were granted membership. The Project Members page gives a description of the requirements for membership and provides a list of all members and the year in which membership was granted. Members have write access to all official yt repositories and can, therefore, accept and merge pull requests.
Important
We require that all members have two factor authentication (2FA) enabled on their github account to gain and/or maintain their project membership status. While we recognize that this may present a technical barrier to some contributors, the added security to the project is substantive. To set up 2FA on github, you may consult the Github documentation or you can reach out for help in any of our communication channels.
Groups Within the yt Project¶
The goal of the groups within the yt project is to help focus member energy so that the yt project can grow, nurture, and develop a healthy pool of contributors, reviewers and maintainers of the project. Each group encompasses many members of the community, but hopefully will help to direct and distribute project member energy.
Fertilizer Group (includes steering committee, any defined leadership roles) – Members of this group spend a large part of their time organizing the yt-project from a high level. They are expected to coordinate their actions with other fertilizer members so that the project presents a coherent position towards the outside. They are expected to prepare and attend the monthly team calls and steering committee meetings. We expect fertilizer members to teach and grow other members so that they can pass their organizational responsibilities on to them. This encourages us to increase diversity, reduce burn-out and allow group members to shift their focus in reaction to changing life circumstances. If a fertilizer member chooses to change focus, that change of focus will be announced at the next monthly team meeting. Fertilizer group members are expected to also perform duties of arboretum group members while facilitating and helping the arboretum group to grow.
The Arboretum (includes all yt project members and the leadership group) – This is where the journey of a new yt project team member starts. This group is the largest within the project and includes all project members and leadership group. Arboretum group members spend a large part of their time facilitating contributions from others to the project (e.g. reviewing work, answering questions, maintaining project infrastructure, doing triage of new issues). We expect arboretum members to teach and grow contributors that can become arboretum members. This encourages diversity of the project. After building a good understanding of the technology and social structure of the project arboretum members can change to a fertilizer member by volunteering for tasks which a fertilizer member is expected to perform. After a while of doing so the group will ask if you want to become a fertilizer member and, if you agree, recognise you as such at a monthly team meeting.
The Greenhouse - Group members in the greenhouse are those that are new contributors to the yt-project. Greenhouse members do not have commit access to the yt project yet, but may have submitted a bugfix or documentation improvement and would like to contribute more. Greenhouse members do not have high-level project responsibility, but may start to seek out involvement in the project by attending triage meetings. Greenhouse group members will be offered triage rights to the project on github in their merged pull request.
The Fallow Fields (can be any person, any time, self-nominated only)– This group applies to members of the community whose life situation has changed so that they prefer to (temporarily) not take on the rights and responsibilities of being an active member. They may require some time off from the project to reenergize and contribute in a later season. Membership to the fallow fields is invoked by self-nomination. They can return to active membership by resuming their community activities. Their return will be announced at the next team meeting or via the developers mailing list.
Emeritus Group (time based or self-nominated)– this group is for members of the community at any level that have a prolonged leave of member duties from the yt project. We welcome participation in the community for any length of time, and this is a way to retire from the project. A project member may become emeritus by self-nomination or by not interacting in a membership capacity on the yt project for over 2 years. After this time, a member of the steering committee will contact an inactive member and see if they wish to remain active or transition to an emeritus role.
Finally, members of the community that wish to not be associated with the yt project may request to be removed from any/all teams/groups/committees and documentation by e-mailing either confidential@yt-project.org or yt-exec@googlegroups.com.
Steering Committee¶
Members are eligible to serve on the yt project steering committee. The steering committe shall meet quarterly or more often as needed to discuss project-related business. Members may join the steering committee by attending one of the team meetings and self-nominating. Once nominated, a nominee’s entry to the steering committee will be voted on by members of the steering committee by a vote ratio equal or exceeding to 3/5. One person on the steering committee shall act as the coordinator, in charge of making sure the team meetings happen. All developers are welcome to participate in team meetings.
Current Steering Committee Members¶
Defined Leadership Roles¶
Within the yt project, there are a few positions that are defined so that the project can maintain continuity as members shift in the amount of responsibility they wish to take on. While project members may take on some responsibilities associated with these roles as they wish, at least one project member must be associated with each leadership role defined below. Members that wish to roll off of a leadership role may do so by announcing at a team meeting, and a new member will self-nominate to fill the position. If multiple members self-nominate, then members of the steering committee will vote to instate the new leader.
As the project matures, a new leadership position may present itself based on a member taking on a specific role within the project. A member may present this new leadership position in the governance documentation repository as an issue or bring it up in a yt project team meeting, where members of the project will decide whether to add it to these defined roles.
Members that are in a defined leadership role are not necessarily steering committee members. However, they are considered fertilizer group members.
Mentorship Shepherd – The mentorship shepherd helps to grow greenhouse group members to aboretum group members. The mentorship shepherd will help greenhouse members find bugs and issues that they may wish to approach in the future, and, if necessaary, contact a arboretum or fertilizer team member to assist the greenhouse member.
Triage Leader – The triage leader is responsible for ensuring that triage meetings get scheduled and facilitates member participation in the triage meetings. The triage leader is expected to schedule and publicly announce triage meetings on the mailing list(s), the project slack, and help new attendees understand the triage process. The triage leader will also tag and contact relevant knowledge experts to resolve issues or review pull requests, when relevant.
The Timekeeper – The timekeeper helps to keep things running in the yt project in all ways temporal. This involves sending out polls to determine members’ availability for meetings, scheduling those meetings, and running or ensuring a member is running a meeting. The timekeeper will announce all public meetings on project mailing lists, in the project slack, and, when relevant, on the project social media channels.