I have a doubt on why there are so many distributions of ros2 or ros and what are the major factors that changes between them?
-
$\begingroup$ please ask a focused question that has one "correct" answer ... not a question that asks for a list $\endgroup$– jsotolaCommented Dec 23, 2022 at 3:25
-
$\begingroup$ The reason is because every ROS distro is very dependent on the hosting ubuntu system. There is a strong dependency between them, so you get one ROS distro for every ubuntu release (e.g. 18.04, 20.04, 22.04). The differences between ROS1 and ROS2 instead are much deeper to be cleared here. They are very different and support different paradigms. $\endgroup$– WilhelmCommented Dec 27, 2022 at 11:55
-
$\begingroup$ Yeah, I totally agree with that. but actually ROS2 itself have multiple distros that have support in Ubuntu 22.04 one is LTS version Humble and one with out LTS Foxy. Reading the documentation for both of these distros made me think that they almost do the same and work the same since they both comes under ROS2 ( regarding the middlewares implementations, DDS etc). How can I figure out a change between them or are there any noticeable difference between them? $\endgroup$– JishnuCommented Dec 27, 2022 at 18:30
1 Answer
Have a look at the official documentation about Distributions:
What is a Distribution?
A ROS distribution is a versioned set of ROS packages. These are akin to Linux distributions (e.g. Ubuntu). The purpose of the ROS distributions is to let developers work against a relatively stable codebase until they are ready to roll everything forward. Therefore once a distribution is released, we try to limit changes to bug fixes and non-breaking improvements for the core packages (every thing under ros-desktop-full). That generally applies to the whole community, but for “higher” level packages, the rules are less strict, and so it falls to the maintainers of a given package to avoid breaking changes.
Active development goes into one distribution at a time. Each distro has an EOL (end-of-life) date — some distributions are "LTS" (long-term support) and have longer lifespans.
The "Rolling" distro is a special, continuously-updated distro that always has the very latest packages, but is less stable. If you use Rolling, you must be prepared to handle frequent breakages due to package upgrades.
Significant changes to core ROS features in each distro can be found in the release's page on the wiki, for example Humble: https://docs.ros.org/en/rolling/Releases/Release-Humble-Hawksbill.html#new-features-in-this-ros-2-release
Additionally, each package may have its own release notes. Individual version bumps for each package are called out in Discourse under the Packaging and Release Management category.