You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Humble.
ROS 2 Technical Steering Committee Charter
- Date
2021-02-06
- Version
0.5
- Organization
Table of Contents
Guiding Principles & Rationale
The ROS 2 Project (“ROS 2” or “the project”) operates openly, such that plans, decisions, and processes are freely available to the general public in a timely manner. All interested parties should have access to information about the project direction and timeline, from casual observers to companies planning product releases.
Responsibilities of the TSC
The ROS 2 Technical Steering Committee (“TSC”) is responsible for the technical direction that the project takes. The TSC makes decisions on the project roadmap, developer policies and process, release schedule, and other matters that require technical supervision in ROS 2. It is intended that these decisions be final and authoritative, but successful implementation of any decision depends on commitment of the necessary resources from the organizations represented on the TSC.
The TSC aims to ensure the following characteristics of the project:
Independent and transparent governance
The project is driven by the community that contributes to and uses the resulting software, with Open Robotics as the founding project sponsor.
Coordination
Those individuals and organizations that are contributing the labor and other resources to develop the project are in regular contact with each other to coordinate their plans and activities.
Pace & quality
The project advances as quickly as possible given the available resources and without sacrificing quality in the resulting software.
Policies
Contributions to the project are received, reviewed, and tested in a manner that is consistent with the requirements for widespread adoption of the resulting software in industry.
Establishment of the TSC
The TSC is made up of individuals who contribute materially to the project and/or individuals who represent organizations that contribute materially to the project and/or selected community representatives. The TSC seeks to coordinate the contributions that members and their organizations are voluntarily making to the project. The TSC cannot compel or oblige any action on the part of a member, his or her organization, or that organization’s employees.
Material contribution is the commitment of a minimum level of effort toward developing software and/or documentation that is contributed to the project under the appropriate open source license. This contribution may be in the form of in-kind labor and/or outsourced work. No fees or payments beyond material contribution to the project are required for TSC membership.
The minimum level of effort commitment required to qualify for TSC membership is 1 full-time equivalent (FTE). This level may be changed by the TSC via a standard TSC motion and vote.
The TSC must have at least three members.
TSC membership is not time-limited.
There is no maximum size for the TSC. A size limit may be established by the TSC via a standard TSC motion and vote.
The TSC may add additional members to the TSC by a standard TSC motion and vote. When considering the addition of a new member, the TSC is responsible for determining whether that potential member’s material contributions to the project are appropriate and sufficient to qualify for membership.
A TSC member may be removed from the TSC by voluntary resignation, by a standard TSC motion and vote, or in accordance with the following participation rule:
In the case where an individual TSC member – within any three-month period – attends fewer than 1⁄3 of the regularly scheduled meetings, does not participate in TSC discussions, and does not participate in TSC votes, the member shall be automatically removed from the TSC.
The TSC will periodically review the material contributions of TSC members to ensure that they continue to meet the minimum level of effort established by the TSC for TSC membership. In the case where a TSC member’s material contributions fall below that minimum level, the TSC may decide to remove that TSC member by a standard TSC motion and vote.
With the exception of Open Robotics, there may be at most one TSC member from any single employer.
A TSC member may designate a proxy to participate in the TSC on that member’s behalf.
TSC membership is public; the membership list is published via a website that Open Robotics maintains and updates periodically.
Open Robotics, as the founding sponsor of the project, has permanent membership on the TSC, hosts TSC meetings, and provides a representative to serve as chairperson.
Any organization or individual may apply for membership on the TSC by email to info@openrobotics.org. The ROS 2 TSC applicant intake process is here.
Community representation
The TSC shall include a number of individuals who represent the broader ROS community rather than any particular organisation or individual.
The number of community representatives shall be set by a decision of the TSC. However, this number shall not be less than three, and shall also not be less than 10% of the number of non-community representative members in the TSC.
A community representative serves for two years.
The term of service begins on the 1st of December immediately following an election.
Fifty percent (50%) of the initial set of community representatives shall serve for only one year in their first term to stagger the community representative terms.
A community representative may be removed from the TSC earlier than two years if one of the following conditions is met:
The community representative requests to stand down voluntarily.
The TSC chairperson deems that the community representative has behaved inappropriately. The TSC chairperson must make public the reason for standing down the community representative.
When a community representative is removed from the TSC:
If the number of community representatives is below the specified minimum, the TSC shall recommend and the chairperson shall appoint a new community representative to serve the remainder of the removed community representative’s term.
If the number of community representatives is above the specified minimum, no special action shall be taken.
A community representative is selected via an open election.
An individual is eligible to stand for election as a community representative if:
The maximum number of community representatives from any single organisation is one.
The individual has voluntarily nominated themselves.
That individual’s nomination has not been vetoed by the TSC chairperson.
Community representative elections shall be held in the following manner:
Elections shall be held in conjunction with the annual global ROSCon.
The election process shall begin four weeks prior to the first day of ROSCon.
Self-nominations are taken from the beginning of the election process for a period of one week.
Nominees shall provide a biography and a written statement to be placed on an election website. The written statement shall state why the candidate believes themselves suitable and what they intend to accomplish as a community representative.
The period between the start of the election process and the close of voting may be used for campaigning by candidates.
Balloting shall be opened from the opening session of ROSCon.
Balloting shall be conducted using an online method.
The eligibility criteria for voters shall be determined by the TSC prior to commencing an election and clearly stated in the election information from the start of nominations until the close of voting.
Balloting shall be conducted using the Condorcet method.
The results of the election shall be announced during the closing session of ROSCon.
Nominees shall not be required to attend ROSCon in person, unless required by the TSC chairperson.
In the event that ROSCon is not held during a given calendar year for any reason, then the foregoing election process shall still be followed, with procedural modifications as necessary, at a time of the TSC’s choosing, but with the results being announced no later than the 30th of November.
Meetings
The TSC meets regularly in-person and/or via an electronic means.
A minimum of three TSC members is required to establish a quorum to hold a TSC meeting.
Participation in a TSC meeting is open to current members. Other organizations or individuals may be invited by Open Robotics to observe a TSC meeting. TSC members may suggest to Open Robotics the names of individuals or organizations for consideration as potential observers.
Minutes from each TSC meeting are published by Open Robotics shortly after the meeting. TSC meetings are not broadcast or recorded verbatim, but they should be treated as public discussions.
Working Groups
The TSC may establish one or more working groups (“WGs”) to discuss specific topics in greater detail than is practical for the TSC as a whole.
A WG may be established by the TSC via standard TSC motion and vote. At the time of such establishment, the TSC is responsible for deciding the name, scope, and initial chair of the new WG.
A WG may be dissolved by the TSC via standard TSC motion and vote.
Each WG must be chaired by a TSC member. The chair of a WG is responsible for all aspects of that WG’s operation, including membership, meeting schedule, and decision-making.
A WG may bring findings and/or recommendations to the TSC for discussion and/or decision.
Voting
The TSC aims to operate by consensus. When consensus cannot be reached, decisions should in most cases be made by resource commitment: e.g., if a member wants to include a feature on the roadmap but the rest of the TSC is uninterested, then that member can choose to commit his or her organization’s contribution to development of the desired feature and thereby have it included in the roadmap. In cases where consensus cannot be reached and resource commitment is insufficient or inappropriate, simple majority voting is used, with each member having one vote.
Project Roles
TSC membership does not influence the handling of code contributions, which continues to follow the established federated development model in which contributions are made by pull request and reviewed and approved by the appropriate maintainer(s) prior to merging. Commit rights and maintainer status are earned through code contributions to the relevant package(s).
Confidentiality
The TSC is set up to transparently guide the community. However, to facilitate effective communication, the ability to have some confidential discussions is important. TSC members should share confidential information within the TSC and other members are expected to respect that confidentiality. The following are rules regarding confidentiality in TSC communications, events, and meetings. All other communications may be made freely available to the broader community for transparency. Breaking the rules in this section is sufficient, but not necessary, causality for expulsion of the representative or member company, depending on the nature of the infraction, from the TSC by a standard motion and vote.
Statements made by individuals in discussions surrounding a vote or topic of contention which are not reflected in the publicly posted minutes should be considered confidential.
Statements made by individuals regarding companies, research groups, individuals, or other entities for which they are not also members should be considered confidential. This is exempt when the entity in question is a member and in attendance to the TSC meeting or event.
Statements made in obvious confidence or explicitly stated as confidential regarding their own entity or opinions should remain confidential.
Rule a-c may be waived by the TSC member who made the statement only by explicit verbal or written approval. If the existence of a waiver is put into question by either party, this waiver is considered nullified.
Affiliates of TSC member organizations or guests of TSC events privy to confidential information will be held to the same standards set out in this section. It is the responsibility of the TSC member issuing invitations or sharing information to inform relevant parties of these confidentiality requirements. If this policy is broken, the TSC member is in full responsibility for the disclosure.