On Tue, Oct 31, 2023 at 04:20:24AM -0700, Andrea Bolognani wrote:
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.
The problem here is "looks like semver" is nonsense. When you see
a version number all you see is a sequence of numeric components,
aka the syntax. Semver is one mechanism of assigning semantics to
version numbers.
You can't say that a number "looks like" semver, as the version
string in isolation tells you nothing about semantics.
Avoiding something that "looks like" semver is essentially stealing
the pratically the entire version number space just for exclusive
use by semver.
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?
I don't see this as a problem we need to fix.
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?
Note systemd is not strictly single digit - their stable releases have
an extra digit.
Our current version number scheme works fine. If people want to blindly
assume semantics that don't exist & are documented to not exists directly
on our download page, that's not something for us to fix.
With regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|