Hi everyone,
I have some exciting news! The OSRA Technical Governance Committee (TGC) has ratified a new process for developing technical specifications for the OSRA’s family of projects - ROS, ros-controls, Gazebo, Open-RMF, and Infrastructure. This process is the successor to the old ROS Enhancement Proposal (REP) process, and it will cover all of the OSRA’s projects. We’re calling these new technical specifications “Robotics Enhancement Proposals” so that we can continue using the REP acronym while extending the process to the other projects. We’ve significantly expanded and clarified this new REP process to address some of the shortcomings in the old REP process and make the roles and responsibilities clear for OSRA members and the community.
Our first new REP, “Robotics Enhancement Proposal Process and Guidelines (REP 0001:2025)” is now live. You can read the rendered version at that link for full details on how this new process works, or check out the raw version in the new official REPs repository.
The rest of this post will provide a brief history of the REP process, an outline of the new process, our motivations for this change, and the next steps.
What are REPs and Why are they Important?
The old REP process was initially drafted in 2010 to guide the development of technical specifications for ROS users. The REP specification borrowed liberally from the Python Enhancement Proposal (PEP) process, as it was at that time, which had already been in use successfully for over a decade by that point. In the following fifteen years, the ROS community authored REPs covering topics such as “ROS 2 Releases and Target Platforms”, “ROS 2 Vulnerability Disclosures,” and message conventions for a variety of sensors, including LIDAR, depth cameras, IMUs, and many more.
What’s changing in the new REP process?
The largest change between the old “ROS Enhancement Proposals” and the new “Robotics Enhancement Proposals” process is that decisions about REPs are made by the Project Management Committees (PMC) instead of a “benevolent dictator for life, or their approved representatives”. When a REP impacts multiple OSRA projects, the decision is made jointly by all involved PMCs. The new REP process also requires a PMC sponsor to help the authors move their REP through the process, and coordinate with the PMCs. (You can find the PMC memberships for each project on their websites: ROS PMC, Gazebo PMC, ROS Control PMC, and Open-RMF PMC) We’re also moving the website to https://reps.openrobotics.org/, to clarify that these documents are not just for ROS, and are giving the website a refresh. The website is still improving, so expect its functionality for finding and reading REPs to get better over time!
Other than the changes mentioned above, the new REP process remains fairly similar to the previous process. The members of the Technical Committee that put this together, Geoff, Gray, Chris, Steven, Addisu, and Bence, with feedback from the TGC and all PMCs, went to great lengths to fully articulate every step in the process in REP-0001:2025. Having guided the old ROS 2 TSC through the previous REP process, I can say this is a welcome improvement! There were portions of the old process that were unclear and didn’t really apply well to building a larger consensus within a group. The new REP process specifically outlines every step in the REP review and acceptance process.
To help distinguish between a Robotics Enhancement Proposal, produced using the new process, and a ROS Enhancement Proposal, produced using the old process, we’ve added a notice to each old-process REP on the website. You can also spot an old-process REP by looking at the date in the document (it will be prior to 2025), and new-process REPs may indicate a year suffix in their number.
Why did we make these changes?
The changes were made largely for three reasons. First, we needed a process that was scalable to all of the OSRA’s projects, even as the number of projects grows. The old REP process only applied to ROS, and we wanted to expand REPs to all of the OSRA’s projects. Second, the old REP process was modeled on the “BDFL” model of project governance, which made the process unclear when applied to a larger decision making group like a PMC. Finally, the old process lacked clarity on key steps in the process, like ratification by a group (for example, it was unclear if we needed a simple majority or super majority to accept a draft REP). To make the REP process work fairly and efficiently we needed to ratify a more explicit set of guidelines.
What happens to the existing REPs?
As it stands, our existing body of REPs still makes for fantastic guidance for ROS developers and users, and there is no need to abandon or revise them. You should still consider them valuable and continue using them for guidance. The existing REPs will be hosted on the new REP webpage and retain their original REP numbers. If an existing REP requires an update then we will use the new process to author a new REP that will supersede the old version.
How do I/we get involved?
Now that the new REP process is in place you are more than welcome to bring your REP proposals to the PMCs. We encourage package maintainers, working groups, and community groups who have standard ROS messages, file formats, well-defined processes, and conventions to submit those documents for evaluation as REPs. This will allow them to be shared more widely across the ROS community. Please feel free to use the “ Ideas” sections of Discourse to discuss your ideas for potential new REPs.