[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Multiple versions of Ignition libraries for different simulators



Hey Jochen:

On Sat, Aug 14, 2021 at 10:17 PM Jochen Sprickerhof <jspricke@debian.org> wrote:
Hi Jose,

sorry for the late reply. I had a longer discussion with Timo about this
today.

No worries.
 
* Jose Luis Rivero <jrivero@openrobotics.org> [2021-08-11 18:10]:
>Development upstream (Open Robotics) is now focused on the new
>ignition-gazebo simulator (considered like the sucesor of Gazebo) which
>depends on the whole Ignition family of libraries, some of them are the
>same libraries (like ignition-transport) than the ones used by Gazebo.

Can you give some insights on how both versions compare feature wise?
Is it a drop in replacement so everyone could/should switch?
If not, when is that expected?

ignition-gazebo is a rewrite of the good old Gazebo (Gazebo classic) which is designed to supersede it. Can be seen as a ROS 1 vs ROS 2 evolution since they share some important aspects like the break of compatibility with the antecesor. It is hard to say that the replacement is ready since it mostly varies with everyone's use case. There is a table that can help in this front:
https://ignitionrobotics.org/docs/edifice/comparison
 

>Problem is that both current versions of Gazebo and ignition-gazebo depend
>on different major versions of the ignition libraries (i.e gazebo11 used
>ign-transport8 and ignition-gazebo uses ign-transport11). Although upstream
>supports side by side installations of the Ignition family we have tried to
>have in Debian just one of them to make transitions easier and reduce the
>maintenance effort. I'm not sure if this problem can drive us to change our
>current practices.

I would see those libraries as independent project for now and would
expect Debian to provide the latest versions by default once all
software is compatible.

+1. Note that upstream is supporting different major versions at the same time: development, patches and releases continue in different major versions of each Ignition library.
 
>One of the robotics simulators, Gazebo version 11, is still supported
>upstream until 2025 but no longer releases new versions.

I'm not sure that is a good argument if there are no new versions. In
general I would expect Debian to ship the latest version of a software
so if I do a apt install gazebo, I would expect the latest version
providing /usr/bin/gazebo.

Ouch sorry, I wrote it incompletely: "No longer releases new versions" means there are no new major versions (aka gazebo12) but development and new releases of gazebo11 continue (as long as they don't respect the restrictins of Semantic versioning).
 
On the other hand, If you think there is a large enough use base
(looking at popcon I'm not sure), it may make sense to provide the old
version with different package names.

I have the feeling that there is a large community of people now using Gazebo that will take some time to migrate to ignition-gazebo for different reasons so my personal preference would be to be able to have both available in Debian during some time to give people time to plan the migration.
 
Note that if you want to support
this you would probably need to patch the old version to be compatible
with new libraries, compilers.. that do not support parallel
installation.

Gazebo "classic" (gazebo11) is receiving patches to work with different new versions of dependencies and upstream is happy integrating them. What I have not seen are packagers (or users) using different major versions of Ignition libraries from the ones proposed upstream which are supported and will be supported until Gazebo is EOL in 2025. I agree that there could be problems integrating new versions of non-ignition dependencies that are not going to be installed in parallel but I would expect upstream to be flexible enough to solve or workaround this situation since we are going to have a good bunch of new platforms and new versions from here until 2025.
 

So my view here would be to upload ignition-gazebo once it is ready and
then see if supporting the old version makes sense.


I agree. Problem here is that if we upgrade some of the ignition libraries to new major versions, Gazebo classic has never been tested to compile or work with the new major versions so it is unknown if the new mix would work in the same or compatible way with previous mix of Gazebo + supported Ignition libs major versions.

Thanks.
 Jose

Reply to: