Welcome to the community, @thefatbandit!
That’s an interesting idea. One thing I like about Ubuntu’s versions is that it is easy to have a notion of how far apart versions are, and when they will EOL.
Unlike semver, it looks like calver is not a well-defined specification though. It doesn’t define when APIs are broken, new features introduced, bugs fixed… All this is well defined in semver and widely understood among programmers. From that link it looks like each project sort of uses their own semantics with calver.
With Gazebo-classic we eventually arrived at a fixed cadence of releases. So even though there are no year numbers explicit on the versions, users know that every major version since Gazebo 7 is spaced by roughly 1 year, with odd versions being LTS. We haven’t reached a fixed cadence for Ignition yet due to its fast development.
That’s to say that we don’t have the common issue of not knowing when a new version is coming. Our release dates are planned in advance and users know when they’re coming.
Another thing to keep in mind is that Ignition has 2 versioning schemes: the named collections (Acropolis, Blueprint, etc) and the versions for the libraries themselves.
Maybe dates could make sense for the collections, like how Ubuntu has a name and a number. But for the individual libraries it could get confusing. While many libraries are bumped for a new collection, others don’t need to be. If we embedded dates into the versions, we may end up with ign-gazebo2025
using ign-common2020
and ign-math2023
.