Hi ROS users, I quite like the rosinstall tool for all the magic it provides. However my personal intuition from my experience is that it is a bit complex to understand for beginners with ROS (who are busy learning plenty of other ROS concepts). As a consequence, I observed several new ROS users from shying away from rosinstall and creating ROS_PKG_PATH and such manually, or modifying setup.sh manually, with results that vary with the users unix skills. So I suggest to change rosinstall to use an SCM-like command distinction. Assuming that current rosinstall Signature is: rosinstall PATH {/path/to/URI}* Signature change: rosinstall init PATH? /path/to/ros {/path/to/URI}* rosinstall add PATH? {/path/to/URI}* rosinstall change-ros /path/to/ros rosinstall remove PATH? {localname}* rosinstall update PATH? rosinstall info PATH? rosinstall sort PATH? {localpath}* Semantics: init: generates .rosenv and setup.sh, etc. info: lists ROS_ROOT and localpaths registered in .rosenv (plus info like SCM URI) add: adds uri, calls rosmake, etc. in new ones, updates setup.sh, etc. change-ros: selects a different local dir to use as ros root remove: removes localpath from .rosinstall, updates setup.sh, etc. update: calls SCM update and rosmake, etc. sort: changes order in setup.sh, etc. When PATH is omitted, use "." for all except create Rationale: Reduce FUD (Fear, Uncertainty, Doubt) about rosinstall Allows changes to .rosinstall to be made by tool rather than editing the .rosinstall file (such as removing a path) Breaking down functionality helps self-explaining of the tool Having the user specify his intention allows to generate context-specific error messages, options and help Also this makes it easier to extend rosinstall with other functions, and to use rosintall in scripts (e.g. provide a curses/tk-based rosinstall ui). Changes in workflow: rosinstall workflow remains almost unchanged. New users do not get confused by signature syntax being the same for different purposes Risks: Never change a running system + Keep it simple stupid. However, core functionality of rosinstall remains unchanged, and simplicity is in the eye of the beholder. I would be happy to hear your thoughts on that, and I volunteer to make the required changes if the community were in favor. In particular, I would like to know: Do you share my intuition that rosinstall as it is now creates FUD? Do you approve of the change I suggest? Do you know further commands that you would like to see included in rosinstall? best regards, Thibault Kruse