1
$\begingroup$

As we consider supporting more of the ROS traffic here. One of the important elements is to know what version of ROS you're using.

On answers.ros.org we actually require a ROS version tag to make sure that we have a hint towards what version they're using. Since this forum is not ROS specific and the ROS codenames cannot be required I've been thinking of a way to tag things a little bit more clearly. To that end I've been considering doing tags like:

ros-<DISTRO> for each <DISTRO> aka ros-kinetic, 'ros-melodic' or ros-humble etc

There's also what we refer to as Upstream Distributions. For these I'd like to suggest. ros-upstream and the user would also be expected to declare the upstream distribution focal jammy bullseye fedora-32 etc.

And lastly my understanding is that we can setup an alias for tags. And I'd propose that the straight ros tag be setup to alias to a very explicit ros-version-undeclared that we can set the description to say, please declare your tag version explicitly.

Does this sort of tagging system make sense here?

One side note is that I have explicitly not called out ROS 1 vs ROS 2. The codenames are specific enough to capture that, and in the long run ROS 1 will be fading back and always typing ros2 will become redundant. Alternatively we could put the number into the tags, but I feel that it's easier not to have it in the middle of the name. As the tag names here will echo the standard paths to /opt/ros/<DISTRO>... and the package names ros-<DISTRO>-packagename

Update 2023-06-14

After the below discussion I've updated the proposal with a PR here:https://github.com/osrf/se_migration_tags/pull/1

At the high level. I've triaged it down to the top ~1000 tags with about 10 or more usages in ROS. It's also sorted now for easier browsing. And a bunch of deduplication too.

It also reverts the no-version-declared and adds 'ros' to the tag mappings explicitly for the ros ones.

$\endgroup$

3 Answers 3

2
$\begingroup$

This sounds reasonable to me. But some thoughts:

What I find most helpful about tags is the ability to subscribe to a tag or "watch" a tag. For example I watch roomba and irobot-create among others. Currently, I doubt there is a way to have wildcards in your watched tags. Or have a hierarchy of tags. For example I imagine you would want to watch all of ros-*. It might become a pain to have to add to your watch list each time a new distro is announced.

I know each distro is different. But I'm sure there are many things that apply to multiple distros. There is a limit of if think 5 tags on a question. So we should not expect people to have multiple distro tags.

I guess I am just a little wary of per-distro tags being a little too specific. Keep in mind that most questions require lots of details (that are not tags) in order to adequately answer. For example: which version of Roomba or Create do you have? There could easily be tags for roomba-500-series, roomba-600-series, roomba-700-series, irobot-create1, irobot-create2, irobot-create3, etc. But people usually provide this info in the question anyway. And are quick to add it when asked.

How much benefit will distro tags provide you as opposed to having the distro in the text?

$\endgroup$
1
  • $\begingroup$ We've found that people don't tend to declare their distro in questions regularly. We had to implement that the all packages are required to tag a distro so that is not the first question asked for clarification every time. We can't do that here as there might not be ROS questions but by having the handful of explicit tags it can be useful. And if we use a tag synonym to push short ros tags to ros-version-undeclared it becomes very obvious to the user that they've not stated the version. Versus thinking that they've told us everything. $\endgroup$
    – Tully Mod
    May 23, 2023 at 16:14
0
$\begingroup$

I think the distro tags are useful since it provides an extra chance for the poster to provide that information when creating the question. When adding tags if I type in ros then I will also see the distro-specific tags come up, and I would be inclined to select the one I'm using.

The issue then, as Ben points out, is if I'm interested in answering ROS questions then I have to be mindful when new distros are released and watch the new tags. One way to mitigate this is to try to enforce that when someone uses a ros-<DISTRO> tag, they also use the ros tag (or ros2, I'm not sure how the ros/ros2 distinction will play out). This would be similar to the usage of the python-3.x tag on stackoverflow where the tag guidance is if you use the python-3.x tag, then always additionally use the python tag.

Also because there is a notable difference between ROS1 and ROS2 distros, the ros-<DISTRO> tag immediately informs me whether the user is in ROS1 or ROS2 irrespective of the other tags they provide. I might be a ROS1 expert, but I might not be of much help with a ROS2 question if I've never used it since many things are radically different. Having that extra info in the tag very quickly informs me what the poster is working with, and I don't have to try to piece it together from the question.

$\endgroup$
1
  • $\begingroup$ 'stackoverflow where the tag guidance is if you use the python-3.x tag, then always additionally use the python tag.' That's in contravention of the tagging policy that bans meta-tags meta.stackexchange.com/help/tagging $\endgroup$
    – Tully Mod
    May 23, 2023 at 16:18
0
$\begingroup$

One of the big benefits of tags vs. a strict hierarchical ontology is that one can combine tags, so I really don't see much of a downside in tagging ROS questions with both ros/ros2 and a distro-specific tag if the question warrants it.

One thing to keep in mind with tags is their longevity: Will a frequent or high-rated question tagged ros-foxy really be irrelevant for anyone trying to fix the same problem in ROS 2 Iron? I suspect in most cases the answer is no. And in the rare cases where it actually is yes, the question should be tagged with only ros-foxy and not also ros2.

I think it is ontologically wrong to assume that ros-foxy implies ros2. Of course, Foxy is a ROS 2 release, but if a person decides to tag a question ros-foxy rather than just ros2 then that implies a level of specificity that he or she intended to express and which is therefore significant in the context of the question.

Another argument is simplicity: people come to StackOverflow and Robotics.SE for help. They may not even know which ROS distro they are using.

$\endgroup$
7
  • $\begingroup$ A lot of this was focused on avoiding the meta-tag avoidance policy. It would be much easier to just bring across the bare names. We could just do ros in general and ros-foxy to indicate the version. I'd be happy with that. $\endgroup$
    – Tully Mod
    May 23, 2023 at 16:19
  • $\begingroup$ I've been trying to find that meta-tag avoidance policy but failed. Do you have a pointer? $\endgroup$ May 31, 2023 at 15:44
  • $\begingroup$ meta.stackexchange.com/help/tagging See the heading "Avoid meta-tags" $\endgroup$
    – Tully Mod
    May 31, 2023 at 17:05
  • $\begingroup$ Thanks. In my read it actually doesn't apply to what we want here. I think ros and ros2 pass both of those tests, i.e., they can be used by themselves, and they are not subjective. In fact, there is plenty of precedent on the main StackOverflow. Just look at react questions that are also tagged javascript. I think this is roughly analogous to what we are discussing here. $\endgroup$ May 31, 2023 at 21:06
  • $\begingroup$ Similarly, if you search for angular in the SO tags (stackoverflow.com/tags), you'll see angular but also angular5, angular7, etc. $\endgroup$ May 31, 2023 at 21:08
  • 1
    $\begingroup$ Ok, with that as a decent reference I'll update the suggested tagging policy. $\endgroup$
    – Tully Mod
    Jun 3, 2023 at 1:17
  • 1
    $\begingroup$ Update posted above and at github.com/osrf/se_migration_tags/pull/1 $\endgroup$
    – Tully Mod
    Jun 14, 2023 at 22:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .