[ros-users] [Discourse.ros.org] [MoveIt!] Open Letter to MoveIt! Community

Isaac I. Y. Saito ros.discourse at gmail.com
Wed Nov 21 21:07:09 UTC 2018

[quote="davetcoleman, post:1, topic:6779"]
**Lack of Major Versions**


I found [this previous discussion about ROS-generic releases](https://discourse.ros.org/t/maintainer-best-practices-handling-changes-through-ros-releases/771) is relevant. I particularly agree with @tfoote there [noting "The important thing is to clearly document the level of stability for a given package"](https://discourse.ros.org/t/maintainer-best-practices-handling-changes-through-ros-releases/771/3).

Utilizing major version helps toward that goal. As noted at the bottom of [this page on moveit.ros.org](http://moveit.ros.org/documentation/contributing/pullrequests/), MoveIt! uses minor version to differentiate platforms/distros, which limits the version number's semantics (while the context of each release needs to be clearly communicated as Dave suggests, the clearer semantics of the version number by itself helps a lot IMO). Applying major version (and updating aforementioned version number policy) definitely helps toward better presentation of the software maturity of MoveIt!.

(And personally as a release maintainer of MoveIt!, better semantics allows better handling of release cycles, which can result in quicker release cycles. Patch/bugfix release may require less caution than feature release does. I apologize for often holding releases unintentionally that may have contributed to stagnancy of MoveIt! (I hope that's not the case...), but I can see this version policy change will positively affect release handling.)

[quote="davetcoleman, post:1, topic:6779"]
**Under-Optimizing for Contributors**

(...) Companies building a product have more resources (or promise of them)

As a (startup) company employee, I'm not sure if I can agree with that particular statement :/

Anyways, lack of guaranteed API stability definitely concerns corporate usage IMO. But there are ways to deal with it, and I'm sure people (not just in companies) have been handling it somehow,

My last point below is probably for maintainers only.

[quote="davetcoleman, post:1, topic:6779"]
**Lack of Master Branch**

The MoveIt! policy has always been to run development out of the latest ROS distro *-devel branch, which I usually create right after OSRF announces the ROS distro as "released". This creates the conflict that any user desiring to use the most recent release of ROS will be getting a non-stable version of MoveIt!, or conversely, that the developers are always handcuffed from making meaningful changes to MoveIt!. I believe we need to instead develop out of a proper "master" branch, which is occasionally forked for each official ROS distro.

I assume the proposed plan is to consolidate all (active) `*-devel` branches into a single development branch and remove distro-specific devel branches. +1

Release maintenance still requires extra branching or any way to differentiate discrepancy per platform, as some dependency new features require might not be available on older platform. We can continue in a recently started discussion among maintainers [ros-planning/moveit#1168](https://github.com/ros-planning/moveit/issues/1168).

[Visit Topic](https://discourse.ros.org/t/open-letter-to-moveit-community/6779/8) or reply to this email to respond.

More information about the ros-users mailing list