ROS PMC Minutes for July 14, 2026

The ROS PMC meeting for this week was on Tuesday. The notes from the meeting are available at ROS PMC weekly meeting agenda

ROS PMC Business

  • Project Leader Elections

Regular Business

Buildfarm update

The buildfarm update is a weekly check-in on the status of the ROS 2 buildfarm. We track new issues and regressions to ensure the stability of the project.

Waffle note-taker

Waffle is a weekly meeting where maintainers triage incoming issues and pull requests that haven’t been otherwise acted upon. One person per week is assigned to be the “waffle note-taker” to both take notes in the meeting to keep the meeting as efficient as possible.

[@mjcarroll] will share the waffle generator script with [@andrew_symington] after the meeting so it is available ahead of Thursday’s waffle session.

Rosdistro assignments

Rosdistro is a weekly assignment to monitor incoming issues and pull requests in GitHub - ros/rosdistro: This repo maintains a lists of repositories for each ROS distribution. Two people per week are assigned to be the rosdistro maintainers.

Release Management

Release Management tracks the status of upcoming releases, patches, and syncs across the active ROS distributions.

Working Group Updates

  • Client Library Working Group ([@alsora])
    • Last Meeting: Jul 10, 2026
    • Next Meeting: Jul 24, 2026
    • [@jmachowinski] raised two PRs in rosidl_typesupport_fastrtps that trade longer compile time for better runtime serialization performance (via inlining). Impact is limited to packages with deeply nested messages. Consensus: likely acceptable, pending benchmarks.
    • [@skye.galaxy] has a PR open to fix a double-remove on component manager destruction and is following up on deprecating the experimental events executor.
  • Accelerated Memory Transport Working Group ([@ahcorde])
    • Last Meeting: Jul 8, 2026
    • Next Meeting: Jul 22, 2026
    • [@ahcorde] will reschedule the next meeting via Zulip.
  • ROSGraph Working Group ([@emersonknapp])
    • Last Meeting: Jul 7, 2026
    • Next Meeting: Jul 21, 2026
  • Lyrical Release Working Group ([@sloretz])

Agenda

  • [@mjcarroll] Project Leader Elections & Role Restructuring

    • No nominations were received for ROS Project Leader by the July 13 deadline. [@mjcarroll] opened a broader discussion on restructuring the role:
    • Context: The project lead role was historically a full-time paid position. Since [@clalancette]'s departure that is no longer the case. The current shape of the role needs to evolve.
    • Key challenges identified:
      • The “technical backstop” function (unscoped, high-pressure firefighting) is the most time-consuming and intimidating aspect.
      • Being forbidden from Waffle note-taking and Rosdistro duties was suggested ([@sloretz]) as a near-term load-reduction measure.
      • The role is effectively variable in effort - it can easily expand to 40%+ of working time.
    • Proposed direction: Break the role into tightly-scoped, titled sub-roles, e.g.:
      • Secretary / Parliamentarian - agenda management, minutes, tracking formal decisions (suggested by [@Katherine_Scott]).
      • Triage Lead - owning and improving the Waffle / buildfarm triage process.
      • Rosdistro Lead - process improvement for distribution management.
      • Security Officer (recursive acronym: ROS Officer of Security) - focal point for security-impacting PRs.
    • Incentive discussion: Non-monetary incentives (e.g., OSR membership for the lead’s employer, ROSCon travel, a ros-project-lead@osr Gmail account and Claude subscription) were discussed as ways to make the role more appealing.
    • Next steps: [@mjcarroll] will complete a Project Leader handbook/guide by Friday and share it with the PMC and OSR leadership.
  • [@sloretz] Revisiting “OMG IDL” as the Canonical ROS Message Representation

    • Background: During the Crystal era, the canonical representation of ROS messages was changed from ROS IDL to OMG IDL. In practice the community has continued to use ROS IDL exclusively for authoring messages. The change surfaces as a user-visible issue: get_fields_and_field_types() on generated Python classes returns OMG IDL syntax, not ROS IDL syntax.
    • Options considered:
      1. Easy: Add a new method returning ROS IDL names/types; leave existing API alone. Backportable.
      2. Medium: Change get_fields_and_field_types() to return ROS IDL; fix rqt_topic. Not backportable.
      3. Gigantic: Flip rosidl_adapter to use ROS IDL as the canonical representation throughout. Huge effort, not backportable.
    • Outcome: [@sloretz] recommends the Easy option. The contributor on ros2/rosidl_python#262 has already updated the PR to expose both representations via an optional parameter. [@sloretz] will approve this PR if there are no objections.
    • Broader discussion: [@MiguelCompany] noted that certain features (annotations: Keys, Optional; field size boundaries) can only be expressed in OMG IDL, making a full reversal costly. [@andrew_symington] raised the idea of using Protobuf or FlatBuffers as upstream language-binding providers to reduce long-term maintenance burden. [@jmachowinski] noted that Protobuf is not DDS-aware. See also the existing RMW REP from the Accelerated Memory Transport WG for related serialization design work.
  • [@sloretz] ROS PMC Scripts Repository

    • [@sloretz] proposed creating a dedicated ros2/pmc-scripts repository (Apache-licensed) to house PMC tooling such as the waffle generator script, buildfarm threshold scripts, etc. — currently scattered across personal repos and rosdistro.
    • Consensus: General agreement. Rosdistro-specific scripts should stay in rosdistro.
    • Next steps: This requires a formal PMC vote. [@sloretz] will send a vote request for next week. [@mjcarroll] will create the repository under the assumption it will pass.
  • [@andrew_symington] Bazel Build for ROS (Update)

    • [@andrew_symington] shared that ros2/ros_up_to_perception (the Bazel build for ROS up to the perception stack) is close to going green:
      • Mac builds are failing only due to an idiosyncratic interaction between the Bazel Darwin sandbox and mimick’s monkey-patching of C functions (indefinite hang). A potential fix via dylib’s INTERPOSE mechanism is under investigation.
    • With a warmed cache: ~12–15 min build times on single-core workers.
    • Milestone: ROS nodes can now be statically compiled to 4.7 MB portable binaries (hermetic build with type supports and middleware linked in).
    • Targeting Lyrical June 8 release. A Bazel Working Group will be set up once the initial green build is achieved; [@andrew_symington] intends to present at ROSCon and BazelCon.
    • [@nvcyc] (NVIDIA) expressed interest in the working group.
1 Like