On Tue, Oct 31, 2023 at 12:13:14PM +0100, Michal Prívozník wrote:
On 10/26/23 15:48, Andrea Bolognani wrote:
> Since we're just a few months away from the 10.0.0 release, I thought
> it would be a good time to bring up this idea.
>
> Can we move to date-based version numbers? I suggest having
>
> libvirt 24.01.0 instead of 10.0.0
> 24.03.0 10.1.0
> 24.04.0 10.2.0
> ...
> 24.11.0 10.9.0
> 24.12.0 10.10.0
>
With a bit of math we are there already. ${MAJOR}+14 and count months
from 0 (like real programmers do).
Except we skip a month so even that doesn't work ;)
Jokes aside, version is just a meaningless number. Even more so with
backports. That's why we try to avoid versioned checks in qemu caps as
much as possible.
Firefox I'm using is now at 119.something.something and what does that
tell me? Nothing (except that mozilla entered this stupid race with
chromium).
People ought to stop looking for patterns where there aren't any.
There's a fairly big difference between end-user applications and
libraries. semver is aimed at APIs, so it only covers the latter.
And since it's been adopted so widely, with ecosystems such as Rust
and Go going as far as requiring its use, it's quite natural that
developers who see a version number that looks like it's following
semver will tend to assume that it does.
Since libvirt doesn't follow semver, wouldn't it be better for
everyone if its version numbers didn't look like they do? To prevent
the misunderstanding from happening in the first place?
systemd is in a similar position as us, where they can't really break
compatibility because too much stuff is built on top, so they just
use an ever-increasing version number. Simple and effective. Why
can't we do the same?
--
Andrea Bolognani / Red Hat / Virtualization