2023 ROS 2 Technical Steering Committee Community Representative Election

Hi Everyone,

As you may recall, back in 2020 the ROS 2 Technical Steering Committee (TSC) resolved to add three community representatives to the TSC. The community representative position exists to serve as the voice of the broader ROS 2 community within the TSC. These representatives educate the TSC on issues in the ROS community, make motions to change how ROS 2 functions, and vote on resolutions that help shape the future of the project. The number of community representatives is based on the number of members in the TSC, and there are presently three community representatives, each serving a two year term. Currently, In odd numbered years, we elect two representatives, and in even years we elect one representative.

Today I am happy to announce that we are now accepting self-nominations for our annual election. Since this is an odd year we will elect two representatives to the TSC as community representatives.

What Does a Community Representative Do?

The ROS 2 TSC, including the community representatives, help chart the future of the ROS 2 project. Broadly, The TSC creates a long term strategy for the core ROS 2 project and executes its implementation. The ROS 2 TSC also helps build consensus around issues in the community, like which default RMW we should use for a distro, and which REPs are ready to be approved.

As a community representative you will:

  • Attend the monthly ROS 2 TSC meetings
  • Communicate issues you see in the ROS project and come up with strategies to fix them.
  • Read and evaluate the documents included in the meeting agenda (examples include: draft reps, position papers, and technical reports).
  • Engage in technical discussions related to the ROS 2.
  • Vote on matters related to the TSC (e.g. approval of REPs, the default RMW vendors, and features for upcoming releases.
  • Participate in working groups.
  • Create proposals that shape the future of ROS 2.

The Nomination Process

This year we’re having community members directly nominate themselves to run for community representative, but we HIGHLY ENCOURAGE you to use this thread to beg, cajole, dupe, butter up, influence, memeify, or otherwise entice your favorite ROS developer to run. If you believe a colleague has shown strong leadership maintaining a package, and has good ideas about how the project should function, then they probably would make a good community representative.

The only hard requirement for community representatives is that the candidate DOES NOT currently work for a TSC member organization. Other than that, everyone is free to run. Those seeking to run can :point_right: use this self nomination form :point_left: to announce their candidacy. To apply candidates will need to submit a short nomination form that includes:

  • Some basic contact information (name, email address)
  • A photo or headshot.
  • A brief Markdown document that includes the following information
    • A biography with relevant information about the candidate (e.g. education, work experience, ROS experience, social media accounts, etc.)
    • A brief “Candidate Statement” that explains what the candidate hopes to accomplish while serving on the ROS 2 TSC.
    • A list of any relevant links / projects the candidate thinks would be of community interest.
  • Optionally, a short video introducing yourself and your platform.

The Election Process

Last year we modified the election process such that most of the election takes place on-line; this should make it more accessible to the wider ROS community. Candidates will have until September 28th, 2023 to submit their nomination forms and to prepare for the election. Once nominations are closed the candidate packets will be posted as a new Discourse thread that outlines both the candidates and the voting process. Candidates are encouraged to meet with the broader community and discuss their platforms (feel free to create an open discussion thread on Discourse, use the Discord feature, or arrange a virtual meetup). I would be more than happy to help facilitate a candidate discussion event if the community requests one.

In terms of voting, we will use the Condorcet voting method to select this year’s TSC community representative, which is a type of ranked choice voting. This year we will use the Civis website to vote. (If anyone would like to work on a Condorcet voting plugin for Discourse please reach out to me). Voting will conclude on 2023-10-20T04:59:00Z, and we will announce the results at ROSCon. The new TSC member should plan on attending the November ROS 2 TSC meeting on 2023-11-16T08:00:00Z

The full timeline for the election is as follows:

  • 2023-09-14T07:00:00Z – Nominations Open
  • 2023-09-29T06:59:00Z – Nominations Close
  • Approximately October 2nd, 2023 Nominees Posted / Voting begins (Note: Kat is traveling to IROS this week, I’ll get everything out as soon as possible but putting everything together takes some time).
  • 2023-10-20T04:59:00Z October 19th 11:59 PM CST Voting Closes
  • 2023-10-20T05:00:00Z Winners Announced at ROSConl

If you have any questions or concerns don’t hesitate to ask them in the comments.


Well, here’s someone running for it this year, and I won’t be shy about promoting it:

Víctor’s Biography

Roboticist and long term contributor to ROS and ROS 2. Strong technical background. Various affiliations with industry, academia and government organizations. Spent the last 10 years building robots with ROS. Founded, funded and led some robotic startups, getting to know early the good and the bad exits, while sharing a ROS-journey with quite some good folks. Continue trying to inspire people to build robot brains with ROS. Very interested in ROS-native hardware. One of the top experts globally on some ROS 2 topics including cybersecurity, embedded and hardware acceleration (systems/robots architecture). Strong ROS advocate (before that became a paid job :stuck_out_tongue: ) and supporter, despite often proposing a different view. Been funding ROS initiatives and gatherings over multiple organizations, for multiple years (e.g. ROSCon).

Links of interest:

Involvement in ROS and most relevant contributions

I’ve been involved in ROS since 2011, when I started contributing to meta-ros (Yocto/OE layers to enable ROS in production-grade embedded systems). Later, in 2014, I had the fantastic opportunity to work closely with the Open Robotics folks, while doing my PhD, in the early days of ROS 2. Been involved with ROS 2 ever since then.

Over the years I’ve contributed to various parts of the ROS stack while reading the market (not always great) and acquiring funding to build ROS-teams. I keep track of some of the companies using ROS commercially (despite some here making it difficult for some reason :wink: ) My most relevant contributions are focused on three areas:

  • ROS 2 in embedded systems: Maintainer and Multi-year contributor to meta-ros. E.g. brought Yocto (Honister) support for Humble Release. More recently, ported Humble to Yocto Langdale. Involved in the early days of ROS 2 for microcontrollers. Involved in Hardware-ROS (H-ROS) endeavours. Involved in the early days of the micro-ROS project, and one of original EU consortia leads. Various contributions over various implementations for MCUs.
  • ROS 2 cybersecurity: Obtained a few dozen CVE IDs in robotics, a few ROS-related. Helped bring up the ROS 2 Security Working Group, very involved in the early days. Helped build some of the original ROS 2 threat models. Built the Robot Vulnerability Database (RVD), proposed methodologies (RSF, Robotics CTF, DevSecOps in Robotics) and contributed to a bunch of tools to increase the security of ROS robotic systems (scapy ROS 2 dissector, aztarna, ros2_fuzzer, ros1_fuzzer, ros_volatity, etc.). Looked into DDS security issues with top security experts. Reported multiple vulnerabilities affecting ROS 2 systems and worked with authorities to make responsive disclosures, despite many of them remaining and still being ignored.
  • (most recently) Hardware Acceleration in ROS 2: Developed and maintain multiple ROS packages to enable hardware acceleration in ROS 2 (ament_acceleration, acceleration_firmware, ament_vitis, colcon-hardware-acceleration, etc). Worked with industry and with the ROS community to establish a vendor-neutral hardware acceleration architecture which got introduced in Humble release. Produced various community-driven REPs. Created and led the ROS 2 Hardware Acceleration Working Group (HAWG), attracting relevant (semiconductor) industry players to contribute in the ROS community. Despite the hurdles (HAWG still not showing up as a community WG for some reason), led the ROS 2 HAWG to become the most attended and an attracting source during 2021 and 2022.

Víctor’s Candidate Statement

As I expressed recently, I feel there’s a need for some changes at the TSC of the ROS community. If I get elected, I plan to pursue the following summarized objectives over my period (which will be open to improvements from community feedback at any point in time). For the long version, see discussion here. Shortly:

ROS 2 TSC Issue Suggeted improvements
Lack of Transparency All decisions by the TSC should be disclosed, including voters and votes
Non-Technical Rejection TSC comments and feedback should remain technical. If they don’t have the expertise, they should either defer to the corresponding WGs or invite external independent experts
Lack of Strong Contributors TSC should be diverse in both gender and representation. Companies (Big companies, smaller and startups) as well as community (non-affiliated membership) representatives should get similar representation counts. The overall ROS community should have avenues/methods to raise concerns against TSC members, and methods to replace them if appropriate
Anonymous Lobbying Confidentiality should not be part of the TSC on a general basis and never used for TSC decisions, or to justify the TSC. Members can establish confidentiality outside of the TSC if needed. Nobody should be put in the position of “hey, resign because you’re breaking confidentiality”. Transparency should be an inherent part of what the TSC does.
Need for Community-Centric Governance TSC community representatives should increase to match the count of company representatives and (regardless of their affiliation) should act as non-affiliated for what the TSC matters concern. All TSC members should be elected periodically, not only “community reps”.
Inconsistency in Standardization Accept the community standards as community standards. Don’t reject what’s obvious (e.g. adoption of ros2_tracing for tracing and metrics collection, when the whole ROS 2 stack is already instrumented accordingly).
Lack of Accountability Better accountability by recording meetings. Also, all votes should be publicly disclosed, with the corresponding voters. Voters should be allowed to provide comments to clarify their position. All TSC members should be elected by the community, accountable for their acts and/or replaced given the right circumstances
Inequitable Working Group Establishment Establish more homogeneous WGs that do not exclude or classify members based on their affiliation with the TSC or any other organization. All members of the ROS community should have equal opportunities to participate and contribute to the WGs.

I’d like to stress my long term commitment to the ROS community. Despite not always aligned with some other leading voices on some topics today, I know there are many of you out there that share these concerns to a certain extend. In case I don’t get elected, I hope other community reps can take inspiration from some of these points and make the community better.


is there a voting link?

Voting hasn’t opened yet. Keep an eye on Discourse, it will open soon.

1 Like

:ballot_box: You can read about the candidates and vote here

Sorry about the delay. I was working three separate events last week. These events took more time than I anticipated, and I wanted to make sure the election got the attention it deserves.

1 Like

Can we vote more than once ?


@Davis_Ogunsina I am not sure if you are serious or joking, but no, no you can’t vote more than once.

To be quite up front, if we suspect any sort of manipulation we’ll most likely have to redo the whole thing.

I voted.

There’s an offer to check current results but it doesn’t seem to work:

If you have already voted, you may see the current poll results.

Which leads to

I think that error is happening because we’re not releasing voting results in real time. We will release the full voting results data after the election, just like last year.

It is unfortunate that it leads and error message without an explanation.

Found of using Condorcet voting system though :+1:

We’re going to close this thread and ask that you take the discussion to the actual voting thread.