ROS2 feature slips

192 views
Skip to first unread message

Thibault Kruse

unread,
Sep 23, 2016, 9:32:14 PM9/23/16
to ROS SIG NG ROS
Hi,

with the ROSCon 2016 ahead, it may be a good time to review the progress since last year.
Some may remember that last year I posted a list of things that seemed wrong to me about the strategy followed for ROS2 [1, 2].

One thing that changed since last year is that the ROS2 team has regularly announced alpha releases of ROS2 and a roadmap.
The list of releases shows the progress for each release, which was sometimes fast, sometimes slow, naturally: https://github.com/ros2/ros2/wiki/Releases

The interesting thing here is to look at the original estimates of when features could be delivered (the "promises of ROSCon 2015").
For that, one might look at the version history of the roadmap:
https://github.com/ros2/ros2/wiki/Roadmap/_history

Below, I made a list of links which may be easier to follow the history [3].

What can be seen, feature by feature:

* Component life-cycle   (promised for alpha2, today demoted to "Future")
* Launch system   (promised for alpha2, today demoted to "Future")
* Finish rcl    (promised for alpha2, service support demoted to "Future")
* Python client library   (promised for alpha2, preliminary prototype in alpha4, rest demoted to "Future")
* Graph API (promised for alpha3, demoted to "Future")
* Command line tools, rostopic and friends (promised for alpha3, demoted to "Future")
* ROS 1 / ROS 2 Migration Guide (promised for alpha3, demoted to "Future")
* Type masquerading (promised for alpha3, demoted to "Future")
* Real-time-safe intra-process messaging (promised for alpha3, demoted to "Future")
... and so on


I believe those resources show:
After ROSCon 2015, there was no shortage of optimism to deliver tons of features in the short term (next 2 releases planned).
This assumption of OSRFs ability to deliver so many ROS2 features in such a short time were quite exaggerated, in that most features planned 6 weeks ahead are still forthcoming 12 months later.


So I believe all this merits some comment by OSRF, about the ROS2 strategy (and my review of it), the communication with the community, future plans, lessons learned, how it relates to OSRC. Other comments are also welcome, to have an open discussion.


regards,
  Thibault




[1] 2015 Review thread:  https://groups.google.com/forum/#!topic/ros-sig-ng-ros/coG7Wdkbb4E
[2] 2015 Review wiki page: http://wiki.ros.org/sig/NextGenerationROS/StrategyReview
[3] Looking at the respective dates of commits, I figure these versions show "finished" updated roadmap versions after each alpha release (RM means Roadmap):

RM after Alpha1: https://github.com/ros2/ros2/wiki/Roadmap/f51c09e43
(Alpha2 Results: https://github.com/ros2/ros2/wiki/Alpha2-Overview#scope)

RM after Alpha2: https://github.com/ros2/ros2/wiki/Roadmap/9c03ea347
(Alpha3 Results: https://github.com/ros2/ros2/wiki/Alpha3-Overview#scope)

RM after Alpha3: https://github.com/ros2/ros2/wiki/Roadmap/79192e722
(Alpha4 Results: https://github.com/ros2/ros2/wiki/Alpha4-Overview#scope)

RM after Alpha4: (missing)
(Alpha5 Results: https://github.com/ros2/ros2/wiki/Alpha5-Overview#scope)

RM after Alpha5: https://github.com/ros2/ros2/wiki/Roadmap/645f5a7fe
(Alpha6 Results: https://github.com/ros2/ros2/wiki/Alpha6-Overview#scope)

RM after Alpha6: https://github.com/ros2/ros2/wiki/Roadmap/dd3615b87
(Alpha7 Results https://github.com/ros2/ros2/wiki/Alpha7-Overview#scope)
(At the time of this writing, a new roadmap after alpha7 is yet to come)

Jon Binney

unread,
Sep 23, 2016, 9:40:34 PM9/23/16
to ros-sig...@googlegroups.com
Thibault, thanks for going through and summarizing that!  Only listing the features which have been postponed is a bit odd though; it would probably give a clearer picture to also list the features which have been included in the alphas so far.

I suspect there will be at least one roscon presentation about ROS2 - that might be the best time (just guessing) to hear updates from OSRF.

Jon

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ros+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thibault Kruse

unread,
Sep 24, 2016, 1:27:50 AM9/24/16
to ROS SIG NG ROS
Hi Jon,


On Saturday, September 24, 2016 at 10:40:34 AM UTC+9, Jonathan Binney wrote:
it would probably give a clearer picture to also list the features which have been included in the alphas so far.

As far as I am aware, the picture presented by me is as clear as it can get. Practically all major features planned 6 weeks ahead after ROSCon 2015 are still in the backlog 60 weeks later.
 
I suspect there will be at least one roscon presentation about ROS2 - that might be the best time (just guessing) to hear updates from OSRF.

For ROS2 updates, the release notes have been quite good, and IMO the best time to hear updates. What I am curious about is not updates, but explanations for the apparent gap between the 6-week scoped promises from last year and reality today, and the consequences for the strategy followed for ROS2.

Do you think that is currently in anyone's prepared slides?

Jon Binney

unread,
Sep 24, 2016, 1:40:39 AM9/24/16
to ros-sig...@googlegroups.com
Hmm - I didn't hear anybody make any promises last year. I expect roadmaps to change, especially for prototype software like this. OSRF has been adding features to the alphas faster than I can try them out, so I always have new things to try out, and I'm happy :-)

Jon

--

Shaun Edwards

unread,
Sep 24, 2016, 6:33:05 PM9/24/16
to ros-sig...@googlegroups.com
Thibault,

I'm curious about your motivation and purpose.  Were you depending on a certain feature in ROS 2.0?  Are you part of the ROS 2.0 development team and frustrated by a lack of progress?  Do you feel as though OSRF has mismanaged a financial/sweat equity contribution that you personally made?  Under these circumstances you may have a valid reason to complain/criticize.  Criticism for no other purpose than criticizing really isn't productive or well received.

-Shaun

To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ro...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ro...@googlegroups.com.

Thibault Kruse

unread,
Sep 24, 2016, 8:12:35 PM9/24/16
to ROS SIG NG ROS
On Sunday, September 25, 2016 at 7:33:05 AM UTC+9, Shaun Edwards wrote:
I'm curious about your motivation and purpose.

Hi Shaun,
 
I regard reviewing of any artifact as a contribution like any other. Reviewing processes and decisions is no different from reviewing code in that respect. The purpose of all contributions is improvement.

Is reporting a software bug for no other reason having seen this bug not well-received?


In this specific case I am discussing the same issues as I was discussing last year. As an example, last year I pointed out the risks of creating a separate non-backwards compatible buildsystem for ROS2, the risk of sharing zero code between ROS1 and ROS2, the risks of introducing plenty of changes to message structures, the risk of splitting the community, the risks of not following the REP process, and so on.
The most common justification given by OSRF at that time was "we did this to be faster". I can link to those discussions if need be.

Now, one year later, I believe it is a valid approach to look back and judge whether this expectation of speedup turned out to be true, and if not, consider not making such decisions in the future anymore, and repair what can be repaired. I believe the evolution of roadmaps after one year is helpful in evaluating this issue.

Shaun Edwards

unread,
Sep 25, 2016, 10:58:25 PM9/25/16
to ROS SIG NG ROS
Thibault,

I appreciate your perspective, and I might even agree that ROS2 development is behind.  However, I find it hard to support your approach.  The reality is that deciding to create a separate development path for ROS2 was (and still is) a very complex decision, but it was undertaken after careful evaluation by OSRF.  Second guessing this decision is not simply a matter of pointing out failed delivery of features.  You also have to show that an alternative approach would be better.  As far as I can tell, you haven't done this.  If you believe you are right, put your money where your mouth is.  Build support and consensus by demonstrating a subset of ROS2 capability can be achieved in ROS1.  Those who "do" have much more political capital than those who simply "complain"

If you choose not to take my advice, then you can continue to send these yearly emails.  If in several years, ROS 2.0 still is not fully released, you may even be able to say "I told you so".  If you simply care about being right, then there's not reason to change your approach.  However if you want to change the course of ROS development and have true impact, then you will take my advice.

-Shaun

--

Jon Binney

unread,
Sep 26, 2016, 12:03:45 AM9/26/16
to ros-sig...@googlegroups.com
Thibault,

I agree completely with what Shaun has said. I know that you are an exceptional engineer and a good guy, but the way in which you express yourself here is unlikely to lead to anything constructive. I have been similarly negative and aggressive when working with people in the past, and I understand the feeling that being technically correct outweighs everything else. It doesn't, though.

There are many people interested in the path forward for ROS 2, and many applications pulling the design and development in different directions. Because of that, there is not going to be one right answer. In order to get to a ROS 2 that works well for a large number of applications, it is crucial to have smart, experienced members of the ROS community contribute their ideas in a constructive and respectful way. I sincerely hope that you take Shaun's advice.

Jon

On Sun, Sep 25, 2016 at 7:58 PM, Shaun Edwards <shaun....@gmail.com> wrote:
Thibault,

I appreciate your perspective, and I might even agree that ROS2 development is behind.  However, I find it hard to support your approach.  The reality is that deciding to create a separate development path for ROS2 was (and still is) a very complex decision, but it was undertaken after careful evaluation by OSRF.  Second guessing this decision is not simply a matter of pointing out failed delivery of features.  You also have to show that an alternative approach would be better.  As far as I can tell, you haven't done this.  If you believe you are right, put your money where your mouth is.  Build support and consensus by demonstrating a subset of ROS2 capability can be achieved in ROS1.  Those who "do" have much more political capital than those who simply "complain"

If you choose not to take my advice, then you can continue to send these yearly emails.  If in several years, ROS 2.0 still is not fully released, you may even be able to say "I told you so".  If you simply care about being right, then there's not reason to change your approach.  However if you want to change the course of ROS development and have true impact, then you will take my advice.

-Shaun
On Sat, Sep 24, 2016 at 7:12 PM 'Thibault Kruse' via ROS SIG NG ROS <ros-sig-ng-ros@googlegroups.com> wrote:
On Sunday, September 25, 2016 at 7:33:05 AM UTC+9, Shaun Edwards wrote:
I'm curious about your motivation and purpose.

Hi Shaun,
 
I regard reviewing of any artifact as a contribution like any other. Reviewing processes and decisions is no different from reviewing code in that respect. The purpose of all contributions is improvement.

Is reporting a software bug for no other reason having seen this bug not well-received?


In this specific case I am discussing the same issues as I was discussing last year. As an example, last year I pointed out the risks of creating a separate non-backwards compatible buildsystem for ROS2, the risk of sharing zero code between ROS1 and ROS2, the risks of introducing plenty of changes to message structures, the risk of splitting the community, the risks of not following the REP process, and so on.
The most common justification given by OSRF at that time was "we did this to be faster". I can link to those discussions if need be.

Now, one year later, I believe it is a valid approach to look back and judge whether this expectation of speedup turned out to be true, and if not, consider not making such decisions in the future anymore, and repair what can be repaired. I believe the evolution of roadmaps after one year is helpful in evaluating this issue.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ros+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ros+unsubscribe@googlegroups.com.

Jonathan Bohren

unread,
Sep 26, 2016, 9:36:09 AM9/26/16
to ros-sig...@googlegroups.com

This is obviously a sensitive subject, so before I comment I'm just going to start by summarizing the way I understand the conversation to this point. I'm going to try to address this topic and voice my opinions with a constructive and pragmatic tone.

Thibault: He asserts that ROS2 has not met it's planned goals, he thinks that the "ground up" approach is not a good strategy to advance ROS, and thinks that the strategy should be critically evaluated, with OSRF evaluating the causes of the discrepancy between planned and actual progress.

Shaun: He is willing to admit that the goals have not been reached, but suggests that simply criticising the progress is unhelpful. He seems to imply that without contributing ROS2, himself, Thibault can't just criticise those who are. Instead, he asserts that if Thibaut wants to show that one alternative, the "evolution" approach of ROS2 development, is a better choice, then he should demonstrate it with usable examples. Only that way can he prove that his preferred approach is better than the one chosen by OSRF.

Binney: He suggests that Shaun makes valid points, and that Thibaut should be more respectful.

---

As an academic user and ROS contributor in a small lab, the path chosen by OSRF has unfortunately made ROS2 experimentation or contribution very costly for me. This is because I have a very large ROS1/Orocos2/Gazebo7 codebase on which I develop new algorithms and run experiments.

Over the course of my doctoral research, I've found and fixed numerous bugs in the systems that I've used, contributed features, and built new tools that others have embraced. I believe that open source works when people give back. However, people (including myself) usually only give back when fixing these bugs and adding these features of beneficial to achieving their own scientific or engineering goals.

Even this kind of contribution is expensive, since after fixing an issue or contributing a feature you need to make sure it doesn't break anything else, document it, respond to edits, etc.

I have been unable to contribute to ROS2 in the same way, because the cost to me outweighs my value of the benefit to the broader community. This is primarily because there are no easy drop-in replacement elements for me to test which promise some benefit over similarly-purposed ROS1 subsystems.

There are obviously people who do have the time budget to contribute, or who are paid to contribute, but due to cases similar to mine, I think that the approach OSRF chose reduces their ability to take full advantage of the ROS community. This is problematic because the community is arguably their biggest asset.

So I don't think that Shaun can dismiss Thibault's (albeit abrasive) criticisms because he hasn't contributed code to ROS. I feel like his criticisms are on decisions that made it harder for established users to contribute to ROS2 without dramatically affecting their productivity. Furthermore, I definitely don't think it should be his responsibility to demonstrate that ROS1 can be improved in such a way that it achieves some or all of the ROS2 goals. OSRF knows that that can be done, and they've already seen some examples that do that.

What OSRF is trying to do is challenging and complex, but if there's a big enough discrepancy between the planned and actual progress, it would be good to hear OSRF's reflection on why it hasn't met it's own expectations. If these reflections contain information that OSRF would not like to publish in a public forum, I would understand. If they can perform and/or disclose such an evaluation, however, it would be really beneficial to the ROS community as well as help guide ROS2 development efforts.

-j


On Mon, Sep 26, 2016, 00:03 Jon Binney <jon.b...@gmail.com> wrote:
Thibault,

I agree completely with what Shaun has said. I know that you are an exceptional engineer and a good guy, but the way in which you express yourself here is unlikely to lead to anything constructive. I have been similarly negative and aggressive when working with people in the past, and I understand the feeling that being technically correct outweighs everything else. It doesn't, though.

There are many people interested in the path forward for ROS 2, and many applications pulling the design and development in different directions. Because of that, there is not going to be one right answer. In order to get to a ROS 2 that works well for a large number of applications, it is crucial to have smart, experienced members of the ROS community contribute their ideas in a constructive and respectful way. I sincerely hope that you take Shaun's advice.

Jon
On Sun, Sep 25, 2016 at 7:58 PM, Shaun Edwards <shaun....@gmail.com> wrote:
Thibault,

I appreciate your perspective, and I might even agree that ROS2 development is behind.  However, I find it hard to support your approach.  The reality is that deciding to create a separate development path for ROS2 was (and still is) a very complex decision, but it was undertaken after careful evaluation by OSRF.  Second guessing this decision is not simply a matter of pointing out failed delivery of features.  You also have to show that an alternative approach would be better.  As far as I can tell, you haven't done this.  If you believe you are right, put your money where your mouth is.  Build support and consensus by demonstrating a subset of ROS2 capability can be achieved in ROS1.  Those who "do" have much more political capital than those who simply "complain"

If you choose not to take my advice, then you can continue to send these yearly emails.  If in several years, ROS 2.0 still is not fully released, you may even be able to say "I told you so".  If you simply care about being right, then there's not reason to change your approach.  However if you want to change the course of ROS development and have true impact, then you will take my advice.

-Shaun
On Sat, Sep 24, 2016 at 7:12 PM 'Thibault Kruse' via ROS SIG NG ROS <ros-sig...@googlegroups.com> wrote:
On Sunday, September 25, 2016 at 7:33:05 AM UTC+9, Shaun Edwards wrote:
I'm curious about your motivation and purpose.

Hi Shaun,
 
I regard reviewing of any artifact as a contribution like any other. Reviewing processes and decisions is no different from reviewing code in that respect. The purpose of all contributions is improvement.

Is reporting a software bug for no other reason having seen this bug not well-received?


In this specific case I am discussing the same issues as I was discussing last year. As an example, last year I pointed out the risks of creating a separate non-backwards compatible buildsystem for ROS2, the risk of sharing zero code between ROS1 and ROS2, the risks of introducing plenty of changes to message structures, the risk of splitting the community, the risks of not following the REP process, and so on.
The most common justification given by OSRF at that time was "we did this to be faster". I can link to those discussions if need be.

Now, one year later, I believe it is a valid approach to look back and judge whether this expectation of speedup turned out to be true, and if not, consider not making such decisions in the future anymore, and repair what can be repaired. I believe the evolution of roadmaps after one year is helpful in evaluating this issue.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ro...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ro...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ROS SIG NG ROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-ng-ro...@googlegroups.com.

Thibault Kruse

unread,
Sep 28, 2016, 11:01:23 AM9/28/16
to ROS SIG NG ROS
On Monday, September 26, 2016 at 11:58:25 AM UTC+9, Shaun Edwards wrote:
The reality is that deciding to create a separate development path for ROS2 was (and still is) a very complex decision, but it was undertaken after careful evaluation by OSRF.  Second guessing this decision is not simply a matter of pointing out failed delivery of features.  You also have to show that an alternative approach would be better.  As far as I can tell, you haven't done this.

Alternatives were already discussed last year, with their pros and cons.

I see no point in repeating last years discussions about alternatives while OSRF still assumes the justifications given last year to be valid. I believe the gap between the roadmap given after ROSCon2015 and the state today might be a reason for OSRF to admit their justifications were flawed. If they don't, all further talk about alternatives would be wasted.


If you choose not to take my advice, then you can continue to send these yearly emails.  If in several years, ROS 2.0 still is not fully released, you may even be able to say "I told you so".  If you simply care about being right, then there's not reason to change your approach.

As a hint: Maybe it helps to consider my role in this thread as that of a journalist, with the community being the population, and OSRF being the state.
I don't want to expand more on this to keep the topic of this thread focused on OSRFs roadmaps from right after ROSCon2015 and the state of the roadmap today. For further musings about my personality flaws and communication theory, I suggest using email.

Brian Gerkey

unread,
Oct 3, 2016, 8:21:04 PM10/3/16
to ros-sig...@googlegroups.com
hi Jon, et al.,

Thanks for the thoughtful feedback. I'm encouraged by the level of
interest in ROS 2 demonstrated here and in other discussions. It's a
project that we at OSRF think is important and destined to have
significant impact, so it's great to know that there's also community
interest, both in using and in contributing to the code.

While we've made tremendous progress on ROS 2 so far, it's true that
our progress has been slower than we hoped when we began the effort.
Along the way, we've learned a lot about new-to-us underlying systems
(DDS, Windows, etc.), as well as our team's capacity to do this new
development while still doing the other various things that we do
(maintain ROS packages, run the ROS build farm, release new ROS
distros, organize ROSCon, etc.). We're getting better at predicting
our future development timelines, but like many software
organizations, I suspect that we'll always end up erring on the
optimistic side of reality.

Our limiting factor in making progress on ROS 2 is person-hours of
contribution to the project (alert for fans of Fred Brooks: the team
presently contributing to ROS 2 is not yet nearly big enough to risk
breakdown due to communication friction). We would love to have your
help in adding person-hours to the project. Here are some recent
examples of people and organizations doing that:

* @firesurfer recently announced a from-scratch C# client library for ROS 2:
https://github.com/firesurfer/rclcs

* The Toyota Research Institute made a substantial donation to OSRF,
which we can use in part to fund our team's time to work on ROS 2:
http://www.osrfoundation.org/were-collaborating-with-toyota-research-institute/

* Bosch funded an full-time position, which is now filled, to
contribute to ROS 2:
http://www.ros.org/news/2015/08/open-position-at-bosch-rtc-in-palo-alto-ca-to-develop-ros-20.html

As anyone working on an open source project does, we hope that we'll
see more of each of these types of contributions, as well as other
types that we haven't thought of yet.

If you'd like to know in more detail what's been done and what's
coming next, look for the "ROS 2 Update" talk from Deanna and William
at ROSCon this weekend! That'll be 9.50am on Saturday, October 8th
(Seoul time: UTC+09:00). If you can't be there, we'll be live
streaming and
we'll also post the videos after the event.

Please keep the feedback coming. We wouldn't do our work in the open
if we didn't want to hear from the community.

brian.
Reply all
Reply to author
Forward
0 new messages