2022 ROS Metrics Report

2022 ROS Metrics Report

Download the full report here:
Metrics-report-2022-07.pdf (3.1 MB)

Once a year @tfoote and I check up on the general health, well-being, and growth of the ROS community by collecting metrics from the various ROS projects and services in a report. The goal of this metrics report is to give the community a snapshot of the growth and composition of the ROS community. This year we decided to expand the number of metrics we report to include additional resources that help capture the growth of ROS 2. We also took some time to give the metrics report a bit more polish.

The metrics we report are snapshots taken from various time points in the past year, and they were generated when we had the extra time to take a deep dive. Between these changes and the recent acquisition, the metrics gathering process has taken a bit longer this year than we would have liked, and we report numbers from various times throughout the year

We take the privacy of the ROS community seriously, and we try to minimize the collection of user data, which makes constructing this report difficult. We lean heavily on proxy measurements to estimate the overall growth and health of the community. This year the metrics report consists of aggregate statistics from various ROS services, including:

  • ROS Discourse
  • ROS Answers
  • Robotics Stack Exchange
  • The ROS Wiki
  • Google Analytics attached various ROS websites
  • ROS Index
  • ROS Download Data
  • Github Contributions
  • Google Scholar Citations

This year we’ve included a number of new metrics to assist us in understanding the growth of ROS 2 and our user communities on social media. These new metrics include the Google Analytics for docs.ros.org, ROS and ROS 2 tagged github repositories, a breakout of ROS 2 download numbers, and stats from the Robotics Stack Exchange. We’ve also included information from our various social media channels, including Twitter, LinkedIn, and Reddit as they have grown significantly in the past few years.

I am happy to report that the ROS community is healthy, growing, and is in the middle of a transition between ROS 1 and ROS 2. For many metrics the ROS community showed growth, and many of the reported metrics illustrate the ongoing transition from ROS 1 to ROS 2. For example, the ROS Wiki and ROS Answers showed declining metrics, while simultaneously docs.ros.org and Robotics Stack Exchange demonstrated strong growth in their user communities.

In areas where our metrics declined the changes can be attributed to changes in our processes, or the movement of the community from ROS 1 to ROS 2. For example, ROS distro syncs, known more commonly as updates, are the process by which new ROS code gets turned into binaries and shipped to users in the form of a system update. In 2022 the frequency of syncs declined from approximately once every two to three weeks to about once a month. Consequently, our users were updating their systems less frequently and the number of deb downloads from our servers declined by about 1.18 percent (from 507,345,965 in 2021 to 501,333,806 in 2022).

Here are some highlights from the report that illustrate how the ROS community is growing.

  • :chart_with_upwards_trend: ROS 2 was 39.82% of all ROS Downloads in October 2022
  • ROS 2 Humble Hawksbill was 10.04% of all packages downloaded in October 2022
  • 24,069 distinct ROS packages hosted on our servers
  • 501,333,806 total deb downloads in 2022
  • 173.35 terabytes of ROS packages served from OSUOSL
  • 10,467 citations of the ROS 1 paper
  • 740+ companies using ROS
  • 67,427 Questions asked on ROS Answers, and 6430 questions asked on Robotics Stack Exchange
  • 56,502 monthly visitors to docs.ros.org

I’ve included exports of a few key slides that may be useful to everyone. The slides below show the deb downloads by ROS distro in October of 2022 and October 2021. Currently ROS 2 makes up just shy of 40% of all ROS downloads (probably more now) and the ROS 1 variants that use Python 2.7 have gone from about 41% of our downloads to less than 20% in just a year (it was ~70% in 2020).

The report includes download stats for October 2022, along with statistics for the full year of 2022. The number of ROS downloads have more or less held steady between 2021 and 2022, and as mentioned previously, this lack of growth can be attributed to a reduction in sync frequency. Similarly the total number of packages (i.e. packages * distros * package versions) have decreased, while the total number of packages (i.e. packages * distros) has increased by 15.4%. Keep in mind that these numbers don’t include things like mirrors, virtual machines, and most importantly Docker containers.

For this year’s report we examined ROS download data for the months of October 2022, and October 2021 in detail. For the month of October 2022 there were 17.7 million ROS 2 downloads, up 54.46% from October the previous year. For October 2022, ROS 2 downloads are now just shy of 40% of all ROS package downloads, up from 27.8% of all downloads in 2021!

The full report can be downloaded as a PDF. Also, recall that many of these metrics are available at metrics.ros.org. If you would like to borrow slides from the report, or need more information about where these numbers came from, feel free to DM me.

Past metrics reports can be found below:

All past metrics reports can be also found at Metrics - ROS Wiki

16 Likes

Really positive numbers!

740+ Companies Using ROS

Is this closed data? If not, could that be added to the data @vmayoral has compiled here?

2 Likes

Great numbers! Any idea how to estimate the total number of robots running ROS (any version)?

1 Like

No, we do not plan to share this data. It is a private internal list. The list has already grown to 751 as of this morning. I need to emphasize that this list is probably a grossly under counting the number of companies. .

2 Likes

We don’t include any telemetry in ROS and I don’t want to hazard a guess. Given that most users have a layer of indirection between our servers and their deployed robots, it would be hard to even estimate. I would consider that Locus and iRobot both use ROS. That should give you an idea of the scale.

2 Likes

@Katherine_Scott I have a proposal for an additional metric - usage of ROS docs sites, answers and discourse over the weekend (compared to work week days). This might give an idea about the number of hobbyists vs professionals…

1 Like

Kinda, there is a visible weekly change in activity (peaking mid-week). The issue is that your weekend might be Japan’s work week and vice-versa. Also some of us in less awesome countries work on the weekend. The signal would be pretty muddy.

Yes, but timezone could be estimated pretty well from IP address or browser settings. This could help cleaning the signal a bit. But I understand the metric would still be somewhat blurred…

Contribution metrics would be interesting.

  • n developers who landed >10 changes into core repos
  • those n developers are funded by m companies (from o different countries)
  • core packages have n regular contributors (change landed at least once a quarter)
  • core packages have n maintainers (person with write access who did >4 reviews/mo), list per package and on average across the whole core ROS project

There are probably more interesting questions but this seems like something that could be extracted from GitHub’s API or just from git history itself. It also seems like something that could be plotted over time.

We’ve got a few simplistic Github metrics sitting around from other projects. I’ll see if I can’t get them into next year’s report. I’ve done some other Github scraping projects and the API is fairly tractable (unlike the Google analytics API, which I sunk a time into without much to show for it :roll_eyes: ).